skia2/include/core
Brian Osman f8865057e8 Make SkDevice preserve SkCanvas' 4x4 matrix
For now, getting the 4x4 matrix is still opt-in, and the vast majority
of code will continue to use the 3x3 matrix. This does fix marked
matrices when the CTM includes any Z.

Most of these changes ensure that APIs used to save and restore the CTM
operate on the 4x4, so that we don't accidentally discard Z.

Change-Id: Id6a690fc84c7fa1a0d686ec6d1cbeef6532c696e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284930
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-23 20:35:38 +00:00
..
SkAnnotation.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBBHFactory.h add metadata to calculated bounds 2020-02-27 19:12:35 +00:00
SkBitmap.h Reland "Make SkBitmap/SkPixmap::erase* do so in sRGB" 2020-04-23 20:07:09 +00:00
SkBlendMode.h remove enum docs 2020-02-11 21:43:07 +00:00
SkBlurTypes.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCanvas.h rm unneeded SK_SUPPORT_LEGACY_DIDCONCAT44 2020-04-20 20:44:35 +00:00
SkCanvasVirtualEnforcer.h remove legacy virtual from enforcer 2020-03-13 14:57:03 +00:00
SkClipOp.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColor.h Add getter for channels to GrBackendFormat 2020-04-08 19:54:27 +00:00
SkColorFilter.h all colorfilters but RT converted to skvm 2020-03-27 21:48:39 +00:00
SkColorPriv.h Remove SkScalarClampMax and SkScalarPin 2020-02-06 18:29:51 +00:00
SkColorSpace.h remove unneeded include 2020-02-21 21:01:32 +00:00
SkContourMeasure.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +00:00
SkCoverageMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCubicMap.h [skottie] De-dupe sequential cubic mappers 2019-07-17 17:14:46 +00:00
SkData.h test data.equals with empty 2020-02-17 17:53:49 +00:00
SkDataTable.h trim out unneeded references to SkString 2019-11-15 21:01:01 +00:00
SkDeferredDisplayList.h Update DDL test harness to use backendTextures to back tiles (take 2) 2020-04-17 14:39:44 +00:00
SkDeferredDisplayListRecorder.h Move SkDeferredDisplayList.h into include\core (take 2) 2020-02-21 21:26:02 +00:00
SkDocument.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDrawable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDrawLooper.h IWYU -- colorspace no longer includes matrix44 2020-01-21 21:37:32 +00:00
SkEncodedImageFormat.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
SkExecutor.h Allow SkThreadPool to be non-borrowing 2020-04-23 16:11:28 +00:00
SkFilterQuality.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFlattenable.h remove unused SkLightingShader 2020-03-30 20:55:34 +00:00
SkFont.h Skip degenerate contours in glyphs. 2020-02-13 16:22:42 +00:00
SkFontArguments.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontLCDConfig.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontMetrics.h Restore SkFontMetrics documentation. 2019-08-15 18:11:39 +00:00
SkFontMgr.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontParameters.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontStyle.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontTypes.h Remove SkTextEncoding and SkFontHinting macros. 2019-05-22 20:44:28 +00:00
SkGraphics.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkICC.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkImage.h Add SkBudgeted parameter to SkImage::makeTextureImage(). 2020-03-18 17:27:41 +00:00
SkImageEncoder.h Revert "add runtime registration for encoders" 2019-05-15 22:02:39 +00:00
SkImageFilter.h Move SkImageFilter functionality into private SkImageFilter_Base 2019-08-02 18:56:39 +00:00
SkImageGenerator.h Add SkBudgeted parameter to SkImage::makeTextureImage(). 2020-03-18 17:27:41 +00:00
SkImageInfo.h smarter SkColorInfo::isOpaque() 2020-03-23 14:28:33 +00:00
SkM44.h Make SkDevice preserve SkCanvas' 4x4 matrix 2020-04-23 20:35:38 +00:00
SkMallocPixelRef.h SkMallocPixelRef: remove MakeDirect and MakeWithProc from API. 2019-08-15 19:01:13 +00:00
SkMaskFilter.h Remove SkMaskFilter::makeWithMatrix() 2020-03-09 21:02:38 +00:00
SkMath.h Remove SkClampMax 2020-02-06 19:49:53 +00:00
SkMatrix44.h Revert "transition matrix44 to opt-in only" 2020-04-16 10:01:29 +00:00
SkMatrix.h remove enum docs 2020-02-11 21:43:07 +00:00
SkMilestone.h Update Skia milestone to 84 2020-04-02 13:43:06 +00:00
SkOverdrawCanvas.h can we remove these entirely? 2020-04-01 12:13:54 +00:00
SkPaint.h remove enum docs 2020-02-11 21:43:07 +00:00
SkPath.h remove enum docs 2020-02-11 21:43:07 +00:00
SkPathEffect.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPathMeasure.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +00:00
SkPathTypes.h Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
SkPicture.h Docs: Add links to header files. 2019-10-18 19:24:13 +00:00
SkPictureRecorder.h let picture record take a bbh directly 2020-01-21 18:59:11 +00:00
SkPixelRef.h Prevent unbounded listener growth on SkPixelRefs. 2020-03-02 22:32:09 +00:00
SkPixmap.h Reland "Make SkBitmap/SkPixmap::erase* do so in sRGB" 2020-04-23 20:07:09 +00:00
SkPngChunkReader.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPoint3.h Add clipping for perspective triangles 2019-12-17 23:24:18 +00:00
SkPoint.h Test texture domain effect with local matrix. 2019-11-22 22:37:33 +00:00
SkPromiseImageTexture.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRasterHandleAllocator.h use std::make_unique 2019-12-12 22:32:45 +00:00
SkRect.h Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
SkRefCnt.h Make GrSurfaceProxy ref counts thread safe. 2019-10-24 19:55:23 +00:00
SkRegion.h remove enum docs 2020-02-11 21:43:07 +00:00
SkRRect.h remove enum docs 2020-02-11 21:43:07 +00:00
SkRSXform.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRWBuffer.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkScalar.h Remove SkScalarClampMax and SkScalarPin 2020-02-06 18:29:51 +00:00
SkSerialProcs.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkShader.h remove localmatrix parameter from Blend and Lerp compose shaders 2020-03-25 17:56:26 +00:00
SkSize.h Remove GrSurfaceDesc 2020-02-07 19:48:13 +00:00
SkStream.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkString.h Don't mark inline functions in SkString.h as static. 2019-06-04 11:40:02 +00:00
SkStrokeRec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSurface.h Update gpu flush semaphore contract. 2020-04-08 17:30:16 +00:00
SkSurfaceCharacterization.h Add createBackendFormat and createFBO0 helper methods to SkSurfaceCharacterization 2020-02-13 18:55:22 +00:00
SkSurfaceProps.h Add back deprecated warnings. 2020-03-27 14:18:49 +00:00
SkSwizzle.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTextBlob.h Docs: Add links to header files. 2019-10-18 19:24:13 +00:00
SkTileMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTime.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTraceMemoryDump.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTypeface.h Move scaler context fallback to GDI 2020-02-11 19:50:27 +00:00
SkTypes.h Revert "Revert "Revert "Revert "Don't build GL on Metal, Vulkan, Dawn, Direct3D bots"""" 2020-03-20 17:11:58 +00:00
SkUnPreMultiply.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkVertices.h Support markers (custom matrices) in SkVertices Attributes 2020-04-15 14:30:46 +00:00
SkYUVAIndex.h Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
SkYUVASizeInfo.h Use safe computation for adding up YUVASizeInfo total bytes 2019-09-23 20:55:28 +00:00