skia2/include/core
Mike Reed f3ebd312f2 add getAlphaf() to pixmap/bitmap
Convenient for just extracting alpha (and more efficient than getColor()) and
works for super-normal formats w/o loss of precision.

Somewhat inspired by examining multiple chrome call-sites for getColor(), where
chrome only really cared about the alpha. This new method runs about twice
as fast as getColor() for the simple cases (i.e. no colorspace xforms), and
even faster in the complex cases (since retrieving alpha doesn't care about
colorspaces).

Bug: skia:
Change-Id: I7cd5a2c7f78de781aaa69dd1aa0dba3c532fcb73
Reviewed-on: https://skia-review.googlesource.com/155606
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-20 19:25:22 +00:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Remove stray semicolons. 2016-09-27 14:04:26 +00:00
SkBitmap.h add getAlphaf() to pixmap/bitmap 2018-09-20 19:25:22 +00:00
SkBlendMode.h refresh generated includes 2018-07-13 14:23:24 +00:00
SkBlurTypes.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkCanvas.h fix 100 column violators in generated includes 2018-09-13 16:00:54 +00:00
SkCanvasVirtualEnforcer.h don't support virtual onDrawTextOnPath 2018-08-28 16:54:18 +00:00
SkClipOp.h add flag to hide deprecated clipops 2017-05-10 18:56:14 +00:00
SkColor.h refresh generated includes 2018-06-14 18:02:37 +00:00
SkColorFilter.h Add color space to SkColorFilter::filterColor4f 2018-08-01 20:45:50 +00:00
SkColorPriv.h Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
SkColorSpace.h more skcolorspace cleanup 2018-09-05 14:39:31 +00:00
SkColorSpaceXform.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkColorSpaceXformCanvas.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkCoverageMode.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkData.h More workarounds on Windows Debug DLL crash. 2018-07-09 17:20:17 +00:00
SkDataTable.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDeferredDisplayListRecorder.h Add DoneProc to Promise Images 2018-03-16 19:27:46 +00:00
SkDeque.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkDocument.h SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h 2018-09-20 18:21:07 +00:00
SkDrawable.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkDrawLooper.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkEncodedImageFormat.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
SkExecutor.h Add FIFO thread pool, use it for most things. 2017-09-01 16:19:47 +00:00
SkFilterQuality.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkFlattenable.h Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
SkFont.h Remove SkPaint::Flags::kDevKernFlag. 2018-05-09 21:27:11 +00:00
SkFontArguments.h Add SkTypeface::getVariationDesignParameters 2018-07-12 17:30:20 +00:00
SkFontLCDConfig.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkFontMgr.h SkFontMgr::matchFamilyStyle can return nullptr. 2018-08-16 22:49:52 +00:00
SkFontParameters.h Add SkTypeface::getVariationDesignParameters 2018-07-12 17:30:20 +00:00
SkFontStyle.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkGraphics.h Remove TLS glyph cache calls. 2018-03-09 19:32:22 +00:00
SkICC.h IWYU: three files 2018-09-19 14:21:55 +00:00
SkImage.h fix bookmaker 2018-09-18 11:58:35 +00:00
SkImageEncoder.h centralize encoding to SkData 2017-12-09 01:36:48 +00:00
SkImageFilter.h Add color type to the image filter DAG's OutputProperties 2018-07-06 18:34:58 +00:00
SkImageGenerator.h Remove obsolete kIndex_8_SkColorType reference 2018-09-04 14:55:48 +00:00
SkImageInfo.h refresh generated includes 2018-07-13 14:23:24 +00:00
SkLights.h Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
SkMallocPixelRef.h Clean up includes in SkMallocPixelRef 2018-06-26 16:47:39 +00:00
SkMaskFilter.h Remove occluder parameter from SkMaskFilter::MakeBlur factory 2018-08-22 15:59:29 +00:00
SkMath.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkMatrix44.h SkColorSpace cleanup 2018-09-04 15:48:02 +00:00
SkMatrix.h update generated includes 2018-09-13 19:03:00 +00:00
SkMetaData.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkMilestone.h Update Skia milestone to 71 2018-08-30 18:02:33 +00:00
SkMultiPictureDraw.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkOverdrawCanvas.h don't support virtual onDrawTextOnPath 2018-08-28 16:54:18 +00:00
SkPaint.h Reland "Switch SkPaint's color to SkColor4f" 2018-09-05 14:16:33 +00:00
SkPath.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkPathEffect.h move patheffect virtuals to protected and rename 2018-08-16 17:47:22 +00:00
SkPathMeasure.h abort really big path fuzzing 2018-06-21 16:42:37 +00:00
SkPicture.h Reland "Switch SkPaint's color to SkColor4f" 2018-09-05 14:16:33 +00:00
SkPictureRecorder.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkPixelRef.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkPixmap.h add getAlphaf() to pixmap/bitmap 2018-09-20 19:25:22 +00:00
SkPngChunkReader.h Delete SkImageDecoder 2016-03-24 10:41:47 -07:00
SkPoint3.h Simplify perspective shadows to match future MD specs. 2018-08-31 18:15:19 +00:00
SkPoint.h update generated includes 2018-09-13 19:03:00 +00:00
SkPostConfig.h trim #include <new> from SkPostConfig.h 2018-06-11 15:55:31 +00:00
SkPreConfig.h update SkPreConfig a little 2018-08-31 15:09:19 +00:00
SkRasterHandleAllocator.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRect.h update generated includes 2018-09-13 19:03:00 +00:00
SkRefCnt.h Remove SkRefCnt_SafeAssign. 2018-07-12 23:42:44 +00:00
SkRegion.h fix empty region iter rect 2018-08-28 15:21:25 +00:00
SkRRect.h refresh generated includes 2018-08-10 17:55:28 +00:00
SkRSXform.h Revert "Revert "Make GPU backend triangulate rects such that they are rendered as tri strips rather than tri fans."" 2017-10-18 12:21:17 +00:00
SkRWBuffer.h Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
SkScalar.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkSerialProcs.h Change behavior of custom image serial/deserial 2018-03-08 21:50:51 +00:00
SkShader.h clean up includes 2018-08-06 14:49:46 +00:00
SkSize.h SkSize can be aggregate-initialized 2017-04-11 18:57:20 +00:00
SkStream.h Revert "SkStream: remove some WStream functions from public api" 2018-09-06 12:22:41 +00:00
SkString.h Revert "SkStream: remove some WStream functions from public api" 2018-09-06 12:22:41 +00:00
SkStrokeRec.h Reland "ccpr: Implement stroking with fine triangle strips" 2018-09-03 10:16:28 +00:00
SkSurface.h update generated includes 2018-09-13 19:03:00 +00:00
SkSurfaceCharacterization.h Add GrContextThreadSafeProxy and remove most friends of GrContextThreadSafeProxy 2018-05-10 19:14:16 +00:00
SkSurfaceProps.h Flesh out SkSurfaceCharacterization 2017-11-30 17:10:38 +00:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h include: whitespace changes for clang-format 2018-09-19 14:54:57 +00:00
SkTime.h SkMacros split from SkTypes.h 2018-06-12 18:39:33 +00:00
SkTLazy.h remove SkTCast 2018-06-18 17:22:18 +00:00
SkTraceMemoryDump.h Dump additional details about the gpu resources. 2018-03-29 18:08:15 +00:00
SkTypeface.h Reland "remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM" 2018-09-13 15:19:09 +00:00
SkTypes.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkUnPreMultiply.h Factor out UnPreMultiplyPreservingByteOrder 2014-01-15 22:24:58 +00:00
SkVertices.h added optimizations to speed up skinning 2018-08-15 15:52:29 +00:00
SkYUVSizeInfo.h alternative no anonymous enums 2018-04-26 17:11:53 +00:00