skia2/gm
Michael Ludwig 08b260c27b Refactor complex CTM management for image filters
This consolidates the scale decomposition and SkMatrixImageFilter logic
that SkCanvas did during a layer save into an applyCTM function. It is
expanded to handle the extra transformation steps for backdrops.

The backdrop logic in SkCanvas has also been updated to only snap the
necessary portion of the buffer, and also use applyCTM. Previously any
backdrop filter with a CTM beyond scale/translate would do no filtering.

Unfortunately, perspective has caused too many headaches to solve in a
single CL, so its issues are recorded at skbug.com/9074.

Other minor fixes that were encountered while working on this:
- Raster's CopyFromRaster() incorrectly held onto the subset after copying.
  (unfortunately it looks like snapBackImage() needs to copy; referencing
   the subset directly corrupted the output).
- SkLocalMatrixImageFilter now supports complex CTMs assuming its input
  supports CTMs.
- CropRects need to apply in the source coordinate system, but are not
  aware of complex CTMs when performing clipping. For a simple fix, any
  filter with a crop rect set cannot support complex CTMs until that's
  updated.

Bug: skia:9074, chromium:959412
Change-Id: I1276a4ec400dfefb958c14beda078bdf1d087baa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213080
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-17 16:12:11 +00:00
..
aaa.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
aaclip.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
aarectmodes.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
aaxfermodes.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
addarc.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
all_bitmap_configs.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
alpha_image.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
alphagradients.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
analytic_gradients.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
androidblendmodes.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
animated_gif.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
animatedimageblurs.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
anisotropic.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
annotated_text.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
arcofzorro.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
arcto.cpp preserve comments past the #include "" 2019-05-14 19:35:34 +00:00
arithmode.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
atlastext.cpp IWYU for gms starting with 'a'. 2019-04-30 19:39:37 +00:00
b_119394958.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
backdrop_imagefilter_croprect.cpp Refactor complex CTM management for image filters 2019-05-17 16:12:11 +00:00
backdrop.cpp remove SkLiteDL 2019-05-14 18:55:44 +00:00
badpaint.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
beziereffects.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
beziers.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigblurs.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigmatrix.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigrect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigrrectaaeffect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bigtext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
bigtileimagefilter.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmapcopy.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
bitmapfilters.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmapimage.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmappremul.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmaprect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmaprecttest.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmapshader.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bitmaptiled.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
bleed.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blend.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurcircles2.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurcircles.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurignorexform.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurimagevmask.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurpositioning.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurquickreject.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurrect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurredclippedcircle.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurroundrect.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurs.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
blurtextsmallradii.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bmpfilterqualityrepeat.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug5252.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug6643.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug6783.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug530095.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
bug615686.cpp IWYU for gms starting with 'b'. 2019-05-01 18:02:14 +00:00
cgm.c IWYU for gms. 2019-05-02 17:48:53 +00:00
cgms.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
circle_sizes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
circles.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
circulararcs.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
circularclips.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clip_error.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clip_strokerect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clipdrawdraw.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clippedbitmapshaders.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
clockwise.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
color4f.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
coloremoji_blendmodes.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
coloremoji.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
colorfilteralpha8.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
colorfilterimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
colorfilters.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
colormatrix.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
colorwheel.cpp SkPaint: new constructor 2019-05-02 19:52:07 +00:00
complexclip2.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
complexclip3.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
complexclip4.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
complexclip_blur_tiled.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
complexclip.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
composeshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
compositor_quads.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
concavepaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
conicpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
constcolorprocessor.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
convex_all_line_paths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
convexpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
convexpolyclip.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
convexpolyeffect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
copy_to_4444.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
crbug_691386.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_788500.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
crbug_847759.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
crbug_884166.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_887103.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_892988.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_899512.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_905548.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_918512.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_938592.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_946965.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crbug_947055.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
croppedrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
crosscontextimage.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
cubicpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
daa.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dashcircle.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dashcubics.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dashing.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
degeneratesegments.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dftext_blob_persp.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dftext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
discard.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
displacement.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
distantclip.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
downsamplebitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
draw_bitmap_rect_skbug4374.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawable.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawatlas.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
drawatlascolor.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawbitmaprect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawimageset.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawlooper.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawminibitmaprect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawquadset.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawregion.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drawregionmodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dropshadowimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drrect_small_inner.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
drrect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
dstreadshuffle.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
emboss.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
emptypath.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
encode_alpha_jpeg.cpp Tests: re-sort gni, file name convention 2019-05-04 02:17:09 +00:00
encode_platform.cpp Tests: re-sort gni, file name convention 2019-05-04 02:17:09 +00:00
encode_srgb.cpp Tests: re-sort gni, file name convention 2019-05-04 02:17:09 +00:00
encode.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
etc1.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
extractbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
fadefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
fatpathfill.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filltypes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filltypespersp.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filterbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filterbug.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filterfastbounds.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
filterindiabox.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
flippity.cpp Alter createTestingOnlyBackendTexture methods 2019-05-13 15:39:33 +00:00
fontcache.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
fontmgr.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
fontregen.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
fontscaler.cpp Use SkFontHinting instead of macros. 2019-05-08 12:16:37 +00:00
fontscalerdistortable.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
fwidth_squircle.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gamma.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
gammatext.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
getpostextpath.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
giantbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
glyph_pos.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
gm.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
gm.h IWYU for gms. 2019-05-02 17:48:53 +00:00
gradient_dirty_laundry.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
gradient_matrix.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradients_2pt_conical.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradients_degenerate.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradients_no_texture.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradients.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
gradtext.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
grayscalejpg.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hairlines.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hairmodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hardstop_gradients.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
highcontrastfilter.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
hittestpath.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hsl.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
hugepath.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
image_pict.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
image_shader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
image.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagealphathreshold.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imageblur2.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imageblur.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imageblurclampmode.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imageblurrepeatmode.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imageblurtiled.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefilters.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefiltersbase.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefiltersclipped.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefilterscropexpand.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefilterscropped.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefiltersgraph.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefiltersscaled.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefiltersstroked.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefilterstransformed.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagefromyuvtextures.cpp Switch over to using new direct allocation API in our tests (as much as possible at least) 2019-05-17 15:41:50 +00:00
imagemagnifier.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagemakewithfilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagemasksubset.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imageresizetiled.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagescalealigned.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagesource2.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
imagesource.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
internal_links.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
inversepaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
jpg_color_cube.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
largeglyphblur.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
lattice.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lcdblendmodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lcdoverlap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lcdtext.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lighting.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lightingshader2.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lightingshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
linepaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
localmatriximagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
localmatriximageshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
localmatrixshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
lumafilter.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
mac_aa_explorer.cpp Use SkFontHinting instead of macros. 2019-05-08 12:16:37 +00:00
make_raster_image.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
makecolorspace.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
mandoline.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
manypaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
matrixconvolution.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
matriximagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
megalooper.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
mipmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
mixedtextblobs.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
mixercolorfilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
modecolorfilters.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
morphology.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
multipicturedraw.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
nested.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
ninepatchstretch.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
nonclosedpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
offsetimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
orientation.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
ovals.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
overdrawcanvas.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
overdrawcolorfilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
overstroke.cpp GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
p3.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
patch.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
path_stroke_with_zero_length.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathcontourstart.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
patheffects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathfill.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathinterior.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathmaskcache.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathmeasure.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathopsinverse.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathopsskpclip.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pathreverse.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pdf_never_embed.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
perlinnoise.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
perspimages.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
perspshaders.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
picture.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pictureimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pictureimagegenerator.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
pictureshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pictureshadercache.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pictureshadertile.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
pixelsnap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
plus.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
points.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
poly2poly.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
polygonoffset.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
polygons.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
postercircle.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
quadpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
radial_gradient_precision.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
readpixels.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
recordopts.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rectangletexture.cpp Support GL_ANGLE_texture_rectangle. 2019-05-13 15:58:43 +00:00
rects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
repeated_bitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
resizeimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
roundrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rrect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rrectclipdrawpaint.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
rrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
runtimecolorfilter.cpp more SkSL interpreter performance work 2019-05-07 17:29:50 +00:00
samplelocations.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
samplerstress.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
savelayer.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
scaledemoji_rendering.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
scaledemoji.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
scaledstrokes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
shadermaskfilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
shadertext3.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
shadows.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
shadowutils.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
shallowgradient.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
shapes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
sharedcorners.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
showmiplevels.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
simple_magnification.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
simpleaaclip.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
simplerect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug1719.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug_257.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
skbug_4868.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug_5321.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
skbug_8664.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skbug_8955.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
skinning.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
smallarc.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
smallpaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
spritebitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
srcmode.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
srgb.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
stlouisarch.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
stringart.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
stroke_rect_shader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokedlines.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokefill.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokerect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokerects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
strokes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
stroketext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
subsetshader.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
surface.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tablecolorfilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tallstretchedbitmaps.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
testgradient.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
text_scale_skew.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
textblob.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobblockreordering.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobcolortrans.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobgeometrychange.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
textbloblooper.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobmixedsizes.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobrandomfont.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobshader.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobtransforms.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
textblobuseaftergpufree.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
texteffects.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
texturedomaineffect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
thinconcavepaths.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
thinrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
thinstrokedrects.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tiledscaledbitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tileimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tilemodes_alpha.cpp SkPaint: new constructor 2019-05-02 19:52:07 +00:00
tilemodes_scaled.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tilemodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
tinybitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
transparency.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
trickycubicstrokes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
typeface.cpp Use SkFontHinting instead of macros. 2019-05-08 12:16:37 +00:00
unpremul.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
variedtext.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
vertices.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
verylargebitmap.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
wacky_yuv_formats.cpp Switch over to using new direct allocation API in our tests (as much as possible at least) 2019-05-17 15:41:50 +00:00
windowrectangles.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
xfermodeimagefilter.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
xfermodes2.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
xfermodes3.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
xfermodes.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00
yuvtorgbeffect.cpp IWYU for gms. 2019-05-02 17:48:53 +00:00