skia2/include/core
kkinnunen 196af73802 Fix SkPaint::measureText for stroked hairline text
SkPaint::measureText and text drawing used different criteria for
determining whether text should be drawn as paths or not.

Adds tests glyph_pos_(h/n)_(s/f/b) to test the text rendering and the glyph
positioning in the rendering. Mainly added in order to define what is the
expected text rendering when hairline stroke is used with various transform
options.

The testcase also tries to note or highlight the fact that SkPaint::measureText
is not expected to produce intuitively matching results when compared to a
rendering, if the rendering is done so that the device ends up having a device
transform.

This fixes the glyph_pos_h_s (hairline, stroked) test-case.

Ignore shadertext2_pdf-poppler.png gm on
Test-Ubuntu13.10-ShuttleA-NoGPU-x86_64-Debug temporarily, as that fails.

R=jvanverth@google.com, reed@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/335603003
2014-06-22 22:18:14 -07:00
..
SkAdvancedTypefaceMetrics.h [PDF] Fix font embedding restrictions. 2014-06-19 11:05:39 -07:00
SkAnnotation.h Factory methods for heap-allocated SkAnnotation objects. 2014-02-27 11:47:36 +00:00
SkBBHFactory.h SK_API-export SkBBHFactory & friends. 2014-04-22 13:33:16 +00:00
SkBitmap.h hide SkBitmap::Config entirely (behind a flag) 2014-06-17 08:38:31 -07:00
SkBitmapDevice.h hide virtuals on device for width/height/isopaque 2014-06-14 04:24:57 -07:00
SkBlitRow.h replace config() with colorType() 2014-05-29 15:57:47 +00:00
SkBlurTypes.h move common blur types into central header 2014-04-28 16:25:35 +00:00
SkCanvas.h Revert of remove guarded code - there are no more callers (https://codereview.chromium.org/343783002/) 2014-06-18 15:51:20 -07:00
SkChecksum.h Add SkChecksum::Murmur3. 2013-07-23 20:25:34 +00:00
SkChunkAlloc.h combine glyph and image bulk alloc, and adjust initial alloc size, to reduce total waste from 50% to 30% 2013-06-19 19:25:36 +00:00
SkClipStack.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkColor.h SkAlpha constant defs 2013-07-19 17:43:27 +00:00
SkColorFilter.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkColorPriv.h By default, Chromium optimizes for size when compiling on Android. 2014-05-14 13:34:42 +00:00
SkColorShader.h SkShader::asNewEffect Refactoring 2014-06-10 14:38:28 -07:00
SkColorTable.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkComposeShader.h Add functions for inspecting SkShader. 2014-05-13 18:14:45 +00:00
SkData.h SkLazyPtr, mk. 2 2014-05-29 20:13:22 +00:00
SkDataTable.h Remove SkDataTable from SkFlattenable hierarchy. 2013-10-15 20:39:57 +00:00
SkDeque.h This CL addresses "SkCanvas::save flags are not respected by GPU backend" (https://code.google.com/p/skia/issues/detail?id=1503). 2013-08-16 00:53:34 +00:00
SkDevice.h hide virtuals on device for width/height/isopaque 2014-06-14 04:24:57 -07:00
SkDeviceProperties.h Clean up the default gamma settings. 2014-04-10 22:26:29 +00:00
SkDither.h Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:09:54 +00:00
SkDocument.h remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
SkDraw.h remove SkBounder -- unused and unloved 2014-06-03 10:54:00 -07:00
SkDrawFilter.h Add GPU support for roundrects 2013-04-25 15:27:00 +00:00
SkDrawLooper.h add asAShadowBlur for android to drawlooper 2014-04-29 15:20:16 +00:00
SkDynamicAnnotations.h teach TSAN about SkSpinlock, SkRefCnt, and SkOnce 2014-04-27 19:21:51 +00:00
SkEmptyShader.h Remove SkShader virtual method validContext 2014-05-05 18:39:18 +00:00
SkEndian.h fix size_t/int warnings 2014-04-23 19:19:44 +00:00
SkError.h Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
SkFixed.h SK_CPU_ARM --> SK_CPU_ARM32 2014-06-03 12:07:31 -07:00
SkFlattenable.h Remove unused (by clients) SkUnitMapper 2014-05-22 12:27:41 +00:00
SkFlattenableBuffers.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkFlattenableSerialization.h Removed unnecessary define 2013-11-08 15:24:12 +00:00
SkFloatBits.h remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats 2013-12-17 16:44:46 +00:00
SkFloatingPoint.h Add cast for warning as error on Windows from r14201. 2014-04-15 16:08:29 +00:00
SkFont.h Test font created from paint 2014-05-30 16:46:10 +00:00
SkFontHost.h Remove SK_FONTHOST_USES_FONTMGR. 2013-11-11 15:53:29 +00:00
SkFontLCDConfig.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-13 07:01:04 +00:00
SkGraphics.h Sanitizing source files in Housekeeper-Nightly 2013-09-27 07:01:29 +00:00
SkImage.h Revert of Revert "Serialization of SkPictureImageFilter" (https://codereview.chromium.org/153583007/) 2014-02-07 12:20:04 +00:00
SkImageDecoder.h hide SkBitmap::Config entirely (behind a flag) 2014-06-17 08:38:31 -07:00
SkImageEncoder.h Initial KTX encoder 2014-06-06 06:16:28 -07:00
SkImageFilter.h Add a missing SK_API to SkImageFilter::Cache. 2014-04-23 23:07:00 +00:00
SkImageGenerator.h legacy refEncodedData() returns data, not bool 2014-05-29 16:05:47 +00:00
SkImageInfo.h hide virtuals on device for width/height/isopaque 2014-06-14 04:24:57 -07:00
SkInstCnt.h Clean up SkOnce: 2014-06-02 11:26:59 -07:00
SkMallocPixelRef.h Remove offset to SkMallocPixelRef::NewWithData - use SkData::NewSubset instead. 2014-04-21 21:08:14 +00:00
SkMask.h Guard against most unintentionally ephemeral SkAutoFoo instantiations. 2013-11-18 16:03:59 +00:00
SkMaskFilter.h remove SkBounder -- unused and unloved 2014-06-03 10:54:00 -07:00
SkMath.h SK_CPU_ARM --> SK_CPU_ARM32 2014-06-03 12:07:31 -07:00
SkMatrix.h Sanitizing source files in Housekeeper-Nightly 2014-05-21 03:05:49 +00:00
SkMetaData.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkOnce.h Clean up SkOnce: 2014-06-02 11:26:59 -07:00
SkOSFile.h Fix bug in setting directories for tests. 2013-06-06 14:59:56 +00:00
SkPackBits.h Automatic update of all copyright notices to reflect new license terms. 2011-07-28 14:26:00 +00:00
SkPaint.h Fix SkPaint::measureText for stroked hairline text 2014-06-22 22:18:14 -07:00
SkPaintOptionsAndroid.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkPath.h Revert of r13379 (Move fLastMoveToIndex from SkPath to SkPathRef - https://codereview.chromium.org/146913002/) due to image quality regression in Chromium. See crbug.com/343123 (Regression - UI issue observed for any "Notification infobars" in Chrome browser) 2014-02-12 17:44:30 +00:00
SkPathEffect.h Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag. 2014-05-15 15:40:41 +00:00
SkPathMeasure.h add SK_API 2013-05-08 13:25:02 +00:00
SkPathRef.h Port most uses of SkOnce to SkLazyPtr. 2014-06-02 08:44:27 -07:00
SkPicture.h Remove SkPicture SK_SUPPORT_LEGACY_RECORDING_FLAG flag 2014-06-12 12:56:58 -07:00
SkPictureRecorder.h Remove unused class from the Android framework build 2014-06-18 12:35:10 -07:00
SkPixelRef.h switch to colortype for deepcopy 2014-06-11 06:09:50 -07:00
SkPoint.h Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h) 2014-06-02 10:20:15 -07:00
SkPostConfig.h CrashHandler for Windows. 2014-06-19 07:41:59 -07:00
SkPreConfig.h SK_CPU_ARM --> SK_CPU_ARM32 2014-06-03 12:07:31 -07:00
SkRasterizer.h Builder class for SkLayerRasterizer. 2014-02-26 13:27:37 +00:00
SkReadBuffer.h Fixing another clusterfuzz issue 2014-06-06 06:44:17 -07:00
SkReader32.h Fixed issue found by clusterfuzz 2014-04-29 15:35:23 +00:00
SkRect.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkRefCnt.h Add SkASSERTF. 2014-06-18 07:54:47 -07:00
SkRegion.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkRRect.h Add dump() to SkClipStack to help with debugging. 2014-06-09 07:59:06 -07:00
SkScalar.h add rounding-using-doubles methods on SkScalar and SkRect 2014-05-05 16:04:42 +00:00
SkShader.h SkShader::asNewEffect Refactoring 2014-06-10 14:38:28 -07:00
SkSize.h deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
SkStream.h Add size_t bytesWritten() const to SkWStream. 2014-03-06 17:16:26 +00:00
SkString.h remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats 2013-12-17 16:44:46 +00:00
SkStrokeRec.h Use vertex attributes for dash effect in gpu 2014-06-12 10:24:21 -07:00
SkSurface.h Add flag for SkGpuSurface creation to enable distance fields. 2014-05-02 12:39:41 +00:00
SkTArray.h Have SkTArray state that it default-initializes. 2014-03-24 15:55:01 +00:00
SkTDArray.h SkWriter32: throw in the SkTDArray towel. 2014-02-13 18:35:54 +00:00
SkTDict.h move some headers out of public 2014-06-17 09:04:45 -07:00
SkTDStack.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkTemplates.h Fold SkTSetBit into SkOTSet*Bit. 2014-04-01 16:11:53 +00:00
SkThread.h Add assertHeld() to SkMutex. 2014-06-09 14:18:03 -07:00
SkTime.h Revert of Add nanosecond timer. (https://codereview.chromium.org/250243002/) 2014-04-24 20:17:24 +00:00
SkTInternalLList.h SkNonCopyable should be used with private inheritance. 2014-04-07 19:34:38 +00:00
SkTLazy.h Clean up Skia for Clang's -Wtautological-undefined-compare 2014-06-07 19:15:14 -04:00
SkTRegistry.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkTSearch.h One SkTSearch to rule them all. Allow key to be of different type than the array. 2013-05-17 19:05:03 +00:00
SkTypeface.h Port most uses of SkOnce to SkLazyPtr. 2014-06-02 08:44:27 -07:00
SkTypes.h Add SkASSERTF. 2014-06-18 07:54:47 -07:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkUtils.h SSE2 implementation of memcpy32 2014-05-21 12:43:07 +00:00
SkWeakRefCnt.h Revert "Remove SkThread.h from public API." 2014-05-28 20:02:17 +00:00
SkWriteBuffer.h read/write function_ptrs as just void*, and not as 'array of bytes' 2014-04-16 16:24:08 +00:00
SkWriter32.h Add capture snapshot as data to SkWriter32, use it to optimise record->playback. 2014-03-12 17:04:28 +00:00
SkXfermode.h SkLazyPtr, mk. 2 2014-05-29 20:13:22 +00:00