skia2/include/core
commit-bot@chromium.org dcb8ef9e86 Implement text rendering with NVPR
Use path rendering to render the text from outlines if supported by the
GPU. Implement this in GrStencilAndCoverTextContext by copying large
chunks of code from GrBitmapTextContext (drawText) and
GrDistanceFieldTextContext (drawPosText).

The drawing is implemented with "instanced" path drawing
functions.

Moves the creation of the "main" text context from SkGpuDevice to the
GrContext::createTextContext. This is done because the decision of which
text renderer is optimal can be made only with the internal
implementation-specific information of the context.

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/196133014

git-svn-id: http://skia.googlecode.com/svn/trunk@13962 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-27 11:26:10 +00:00
..
SkAdvancedTypefaceMetrics.h Drop executable flag from headers so that they can be packaged 2014-03-11 19:55:51 +00:00
SkAnnotation.h Factory methods for heap-allocated SkAnnotation objects. 2014-02-27 11:47:36 +00:00
SkBitmap.h don't reference config() -- use colorType() instead 2014-03-14 20:48:05 +00:00
SkBitmapDevice.h remove all references to legacy Config8888 2014-03-26 13:44:58 +00:00
SkBlitRow.h remove dst/rendertarget support for kARGB_4444_Config 2013-06-21 18:30:53 +00:00
SkBounder.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkCanvas.h remove all references to legacy Config8888 2014-03-26 13:44:58 +00: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 Use SkTLazy to hold path in SkClipStack::Element 2014-02-27 17:39:46 +00: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 Revert "Revert of implement readPixels and writePixels natively, w/o using the (deprecated) (https://codereview.chromium.org/199733016/)" 2014-03-25 16:20:24 +00:00
SkColorShader.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkColorTable.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkComposeShader.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkData.h SkOnce: add option to call another cleanup function once at exit. 2014-01-24 22:38:39 +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 remove all references to legacy Config8888 2014-03-26 13:44:58 +00:00
SkDeviceProperties.h Mask orientation and layout correctly. 2013-05-06 22:23:08 +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 Move distance field font code into GrDistanceFieldTextContext. 2013-12-19 16:12:25 +00:00
SkDrawFilter.h Add GPU support for roundrects 2013-04-25 15:27:00 +00:00
SkDrawLooper.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkDynamicAnnotations.h TSAN: use somewhat pithier SK_ANNOTATE_UNPROTECTED_READ. 2014-02-04 18:00:23 +00:00
SkEmptyShader.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkEndian.h SkBitmapHasher: use 64-bit-truncated MD5 instead of 64-bit CityHash 2013-05-03 17:35:39 +00:00
SkError.h Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
SkFixed.h remove SK_SUPPORTED_DEPRECATED_FIXEDROUND, no longer needed 2014-01-06 18:49:32 +00:00
SkFlate.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
SkFlattenable.h Refactor read and write buffers. 2014-01-30 18:58:24 +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 sk_float_rsqrt with SSE + NEON fast paths. 2013-11-08 20:14:16 +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
SkGeometry.h Stub for conic section max curvature 2014-02-21 19:49:10 +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 Deprecate two more functions using SK_ATTR_DEPRECATED macro. 2014-01-15 00:19:21 +00:00
SkImageEncoder.h Rewrite SkTRegistry to take any trivially-copyable type. 2013-09-04 17:20:18 +00:00
SkImageFilter.h Implement support for expanding crop rects in image filters 2014-03-14 17:44:41 +00:00
SkImageGenerator.h Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
SkImageInfo.h use colortype instead of config 2014-02-20 20:55:37 +00:00
SkInstCnt.h Make leak counters thread-safe and turn them on by default for Debug 2014-01-17 17:55:02 +00:00
SkLineClipper.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkMallocPixelRef.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkMask.h Guard against most unintentionally ephemeral SkAutoFoo instantiations. 2013-11-18 16:03:59 +00:00
SkMaskFilter.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00
SkMath.h Revert "Revert of https://codereview.chromium.org/113823003/" 2013-12-30 14:40:38 +00:00
SkMatrix.h Remove SkCanvas matrix ops return value. 2014-03-18 12:51:48 +00:00
SkMetaData.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkOnce.h SkOnce in is_lcd_supported instead of hand rolled double-checked locking. 2014-02-10 19:58:49 +00: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 Implement text rendering with NVPR 2014-03-27 11:26:10 +00: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 Factory methods for heap-allocated SkPathEffect and SkXfermode objects. 2014-02-20 20:40:19 +00:00
SkPathMeasure.h add SK_API 2013-05-08 13:25:02 +00:00
SkPathRef.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
SkPicture.h Add new experimental API to SkPicture to get "id" of current op 2014-03-24 19:40:49 +00:00
SkPixelRef.h remove SK_SUPPORT_LEGACY_ONLOCKPIXELS completely 2014-02-10 15:43:29 +00:00
SkPoint.h remove SkScalarMul from public headers 2014-01-27 13:41:02 +00:00
SkPostConfig.h Fixed cross compilation with mingw. 2014-03-19 19:28:00 +00:00
SkPreConfig.h Enable the SSSE3 files to be built for Android when SSSE3 is not present. 2014-02-25 18:14:08 +00:00
SkRasterizer.h Builder class for SkLayerRasterizer. 2014-02-26 13:27:37 +00:00
SkReadBuffer.h Fixing SkPicture serialization 2014-03-12 14:46:41 +00:00
SkReader32.h Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream. 2013-11-05 15:46:56 +00:00
SkRect.h speedup SkRect::intersect 2014-01-01 20:32:45 +00:00
SkRefCnt.h TSAN: use somewhat pithier SK_ANNOTATE_UNPROTECTED_READ. 2014-02-04 18:00:23 +00:00
SkRegion.h Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream. 2013-11-05 15:46:56 +00:00
SkRRect.h Add nine patch type to SkRRect. 2014-03-17 21:17:30 +00:00
SkScalar.h remove SkScalarMul from public headers 2014-01-27 13:41:02 +00:00
SkShader.h Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00: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
SkStringUtils.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-29 07:05:52 +00:00
SkStrokeRec.h Make GrContext cache the gpu paths 2013-11-01 15:23:44 +00:00
SkSurface.h Adding a new SkSurface factory for generating surfaces from the scratch texture pool. 2014-03-19 21:19:16 +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 Make SkTDArray accessors const-friendly. 2013-02-28 19:03:13 +00:00
SkTDStack.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SkTemplates.h Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2. 2014-03-12 21:41:06 +00:00
SkThread.h SkOnce in is_lcd_supported instead of hand rolled double-checked locking. 2014-02-10 19:58:49 +00:00
SkTileGridPicture.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-01 12:12:55 +00:00
SkTime.h Guard against most unintentionally ephemeral SkAutoFoo instantiations. 2013-11-18 16:03:59 +00:00
SkTInternalLList.h Make SkTInternalLList::validate validate all nodes 2013-12-04 14:51:31 +00:00
SkTLazy.h Use SkTLazy to hold path in SkClipStack::Element 2014-02-27 17:39:46 +00: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 move getAdvancedTypefaceMetrics into private, as only skia internals call it 2014-01-27 21:02:14 +00:00
SkTypes.h Sanitizing source files in Housekeeper-Nightly 2014-03-14 03:02:26 +00:00
SkUnitMapper.h Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkUtils.h More Windows 64b compilation warning fixes 2013-11-21 14:24:16 +00:00
SkWeakRefCnt.h Split atomic and mutex implementations and make inlinable. 2013-12-18 15:27:39 +00:00
SkWriteBuffer.h Set write buffer flags only in SkWriteBuffer and SkFlatController constructors. 2014-01-30 22:16:32 +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 Allow toString capability to be toggled independent of developer mode. 2014-03-13 18:02:17 +00:00