Remove SkLights include from SkCanvas.h
SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
works fine).
Change-Id: Id2d7176eb3bf4609f72f46d513eebf59318f542f
Reviewed-on: https://skia-review.googlesource.com/14904
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/bench/ColorCanvasDrawBitmapBench.cpp b/bench/ColorCanvasDrawBitmapBench.cpp
index de13ba2..c150e79 100644
--- a/bench/ColorCanvasDrawBitmapBench.cpp
+++ b/bench/ColorCanvasDrawBitmapBench.cpp
@@ -6,6 +6,7 @@
*/
#include "Benchmark.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkColorSpaceXformCanvas.h"
#include "SkString.h"
diff --git a/bench/DrawBitmapAABench.cpp b/bench/DrawBitmapAABench.cpp
index 011c30a..f0ccd89 100644
--- a/bench/DrawBitmapAABench.cpp
+++ b/bench/DrawBitmapAABench.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
#include "Benchmark.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkMatrix.h"
#include "SkPaint.h"
diff --git a/bench/DrawLatticeBench.cpp b/bench/DrawLatticeBench.cpp
index 806815b..7a8cdf3 100644
--- a/bench/DrawLatticeBench.cpp
+++ b/bench/DrawLatticeBench.cpp
@@ -6,6 +6,7 @@
*/
#include "Benchmark.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkRect.h"
#include "SkString.h"
diff --git a/bench/ImageFilterDAGBench.cpp b/bench/ImageFilterDAGBench.cpp
index 719e87b..350510b 100644
--- a/bench/ImageFilterDAGBench.cpp
+++ b/bench/ImageFilterDAGBench.cpp
@@ -10,6 +10,7 @@
#include "SkBlurImageFilter.h"
#include "SkDisplacementMapEffect.h"
#include "SkCanvas.h"
+#include "SkImage.h"
#include "SkMergeImageFilter.h"
diff --git a/bench/MagnifierBench.cpp b/bench/MagnifierBench.cpp
index 98deade..6403aa6 100644
--- a/bench/MagnifierBench.cpp
+++ b/bench/MagnifierBench.cpp
@@ -6,6 +6,7 @@
*/
#include "Benchmark.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkMagnifierImageFilter.h"
#include "SkRandom.h"
diff --git a/bench/ReadPixBench.cpp b/bench/ReadPixBench.cpp
index 2efb19c..2a8e9c4 100644
--- a/bench/ReadPixBench.cpp
+++ b/bench/ReadPixBench.cpp
@@ -6,6 +6,7 @@
*/
#include "Benchmark.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
diff --git a/bench/ShaderMaskBench.cpp b/bench/ShaderMaskBench.cpp
index 8fd99b6..1cc2347 100644
--- a/bench/ShaderMaskBench.cpp
+++ b/bench/ShaderMaskBench.cpp
@@ -9,6 +9,7 @@
#include "SkCanvas.h"
#include "SkPaint.h"
#include "SkRandom.h"
+#include "SkShader.h"
#include "SkString.h"
#include "SkTemplates.h"
diff --git a/bench/WritePixelsBench.cpp b/bench/WritePixelsBench.cpp
index 5d6787e..4e2dbeb 100644
--- a/bench/WritePixelsBench.cpp
+++ b/bench/WritePixelsBench.cpp
@@ -6,6 +6,7 @@
*/
#include "Benchmark.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkString.h"
diff --git a/gm/bitmapimage.cpp b/gm/bitmapimage.cpp
index 8c37d5d..be17af8 100644
--- a/gm/bitmapimage.cpp
+++ b/gm/bitmapimage.cpp
@@ -8,6 +8,7 @@
#include "gm.h"
#include "Resources.h"
#include "SkCodec.h"
+#include "SkImage.h"
namespace skiagm {
diff --git a/gm/colorspacexform.cpp b/gm/colorspacexform.cpp
index 4657f6a..eb98b01 100644
--- a/gm/colorspacexform.cpp
+++ b/gm/colorspacexform.cpp
@@ -10,6 +10,7 @@
#include "SkColorSpace_Base.h"
#include "SkColorSpaceXform.h"
#include "SkRect.h"
+#include "SkShader.h"
class ColorSpaceXformGM : public skiagm::GM {
public:
diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp
index 90fcedc..a6210c9 100644
--- a/gm/composeshader.cpp
+++ b/gm/composeshader.cpp
@@ -10,6 +10,7 @@
#include "SkCanvas.h"
#include "SkGradientShader.h"
#include "SkGraphics.h"
+#include "SkImage.h"
#include "SkShader.h"
#include "SkString.h"
#include "SkTDArray.h"
diff --git a/gm/deferredtextureimage.cpp b/gm/deferredtextureimage.cpp
index c88b878..9c1fe6a 100644
--- a/gm/deferredtextureimage.cpp
+++ b/gm/deferredtextureimage.cpp
@@ -7,6 +7,7 @@
#include <vector>
#include "gm.h"
+#include "SkImage.h"
#include "SkMipMap.h"
#include "Resources.h"
diff --git a/gm/encode-platform.cpp b/gm/encode-platform.cpp
index f08da73..17f27d5 100644
--- a/gm/encode-platform.cpp
+++ b/gm/encode-platform.cpp
@@ -10,6 +10,7 @@
#include "Resources.h"
#include "SkCanvas.h"
#include "SkData.h"
+#include "SkImage.h"
#include "SkImageEncoderPriv.h"
#include "SkUnPreMultiply.h"
diff --git a/gm/encode-srgb.cpp b/gm/encode-srgb.cpp
index 3015baa..ab95757 100644
--- a/gm/encode-srgb.cpp
+++ b/gm/encode-srgb.cpp
@@ -12,6 +12,7 @@
#include "SkCodec.h"
#include "SkColorSpace_Base.h"
#include "SkData.h"
+#include "SkImage.h"
#include "SkImageEncoderPriv.h"
#include "SkPM4f.h"
#include "SkSRGB.h"
diff --git a/gm/encode.cpp b/gm/encode.cpp
index 1dae1bf..bf13d3d 100644
--- a/gm/encode.cpp
+++ b/gm/encode.cpp
@@ -8,6 +8,7 @@
#include "sk_tool_utils.h"
#include "SkCanvas.h"
#include "SkData.h"
+#include "SkImage.h"
#include "SkImageEncoder.h"
#include "Resources.h"
diff --git a/gm/gammaencodedpremul.cpp b/gm/gammaencodedpremul.cpp
index 327368f..d55498b 100644
--- a/gm/gammaencodedpremul.cpp
+++ b/gm/gammaencodedpremul.cpp
@@ -6,6 +6,7 @@
*/
#include "gm.h"
+#include "SkColorPriv.h"
#include "SkColorSpaceXform.h"
#include "SkColorSpaceXformPriv.h"
#include "SkOpts.h"
diff --git a/gm/subsetshader.cpp b/gm/subsetshader.cpp
index c4ef5f7..a7029f4 100644
--- a/gm/subsetshader.cpp
+++ b/gm/subsetshader.cpp
@@ -7,6 +7,7 @@
#include "Resources.h"
#include "SkBitmap.h"
+#include "SkShader.h"
#include "gm.h"
DEF_SIMPLE_GM(bitmap_subset_shader, canvas, 256, 256) {
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index 837b2ff..8edc36d 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -14,7 +14,6 @@
#include "SkPaint.h"
#include "SkRasterHandleAllocator.h"
#include "SkSurfaceProps.h"
-#include "SkLights.h"
#include "../private/SkShadowParams.h"
class GrContext;
@@ -28,6 +27,7 @@
class SkDrawFilter;
class SkImage;
class SkImageFilter;
+class SkLights;
class SkMetaData;
class SkPath;
class SkPicture;
diff --git a/include/private/SkRecords.h b/include/private/SkRecords.h
index 4d7b217..d8f392a 100644
--- a/include/private/SkRecords.h
+++ b/include/private/SkRecords.h
@@ -11,6 +11,7 @@
#include "SkData.h"
#include "SkCanvas.h"
#include "SkDrawable.h"
+#include "SkImage.h"
#include "SkImageFilter.h"
#include "SkMatrix.h"
#include "SkPath.h"
diff --git a/samplecode/SampleAAGeometry.cpp b/samplecode/SampleAAGeometry.cpp
index 6f6541b..69aa77f 100644
--- a/samplecode/SampleAAGeometry.cpp
+++ b/samplecode/SampleAAGeometry.cpp
@@ -6,6 +6,7 @@
*/
#include "SampleCode.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkGeometry.h"
#include "SkIntersections.h"
diff --git a/samplecode/SampleAnimatedText.cpp b/samplecode/SampleAnimatedText.cpp
index e70530a..29bd192 100644
--- a/samplecode/SampleAnimatedText.cpp
+++ b/samplecode/SampleAnimatedText.cpp
@@ -11,6 +11,7 @@
#include "SkUtils.h"
#include "SkColorPriv.h"
#include "SkColorFilter.h"
+#include "SkImage.h"
#include "SkRandom.h"
#include "SkSystemEventTypes.h"
#include "SkTime.h"
diff --git a/samplecode/SampleLayerMask.cpp b/samplecode/SampleLayerMask.cpp
index f0c6a40..b039421 100644
--- a/samplecode/SampleLayerMask.cpp
+++ b/samplecode/SampleLayerMask.cpp
@@ -6,6 +6,7 @@
*/
#include "SampleCode.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkPaint.h"
#include "SkPath.h"
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index c09e6cb..ad03f73 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -20,6 +20,7 @@
#include "SkImageFilter.h"
#include "SkImageFilterCache.h"
#include "SkLatticeIter.h"
+#include "SkLights.h"
#include "SkMakeUnique.h"
#include "SkMatrixUtils.h"
#include "SkMetaData.h"
diff --git a/src/core/SkDraw.h b/src/core/SkDraw.h
index b142e7e..f2d5946 100644
--- a/src/core/SkDraw.h
+++ b/src/core/SkDraw.h
@@ -13,6 +13,7 @@
#include "SkCanvas.h"
#include "SkMask.h"
#include "SkPaint.h"
+#include "SkPixmap.h"
#include "SkStrokeRec.h"
#include "SkVertices.h"
diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp
index 71cbf68..4d3a5f9 100644
--- a/src/core/SkLiteDL.cpp
+++ b/src/core/SkLiteDL.cpp
@@ -8,6 +8,7 @@
#include "SkCanvas.h"
#include "SkData.h"
#include "SkDrawFilter.h"
+#include "SkImage.h"
#include "SkImageFilter.h"
#include "SkLiteDL.h"
#include "SkMath.h"
diff --git a/src/core/SkLiteDL.h b/src/core/SkLiteDL.h
index f8e7910..c88a86d 100644
--- a/src/core/SkLiteDL.h
+++ b/src/core/SkLiteDL.h
@@ -14,6 +14,7 @@
#include "SkDrawable.h"
#include "SkRect.h"
#include "SkTDArray.h"
+#include "SkTemplates.h"
class SkLiteDL final {
public:
diff --git a/src/core/SkPictureCommon.h b/src/core/SkPictureCommon.h
index 6f6a9f1..a400264 100644
--- a/src/core/SkPictureCommon.h
+++ b/src/core/SkPictureCommon.h
@@ -14,6 +14,7 @@
#include "SkPathEffect.h"
#include "SkRecords.h"
+#include "SkShader.h"
#include "SkTLogic.h"
// N.B. This name is slightly historical: hunting season is now open for SkImages too.
diff --git a/src/core/SkRecord.cpp b/src/core/SkRecord.cpp
index 4df4131..3553ff5 100644
--- a/src/core/SkRecord.cpp
+++ b/src/core/SkRecord.cpp
@@ -6,6 +6,7 @@
*/
#include "SkRecord.h"
+#include "SkImage.h"
#include <algorithm>
SkRecord::~SkRecord() {
diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp
index 9e8d6fc..7999be3 100644
--- a/src/core/SkRecordDraw.cpp
+++ b/src/core/SkRecordDraw.cpp
@@ -6,6 +6,7 @@
*/
#include "SkRecordDraw.h"
+#include "SkImage.h"
#include "SkPatchUtils.h"
void SkRecordDraw(const SkRecord& record,
diff --git a/src/fonts/SkRandomScalerContext.cpp b/src/fonts/SkRandomScalerContext.cpp
index 3a292dc..a38f695 100644
--- a/src/fonts/SkRandomScalerContext.cpp
+++ b/src/fonts/SkRandomScalerContext.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkGlyph.h"
#include "SkMakeUnique.h"
diff --git a/src/pdf/SkPDFCanvas.cpp b/src/pdf/SkPDFCanvas.cpp
index d946f48..c5cde3d 100644
--- a/src/pdf/SkPDFCanvas.cpp
+++ b/src/pdf/SkPDFCanvas.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkImage.h"
#include "SkLatticeIter.h"
#include "SkPDFCanvas.h"
#include "SkPDFDevice.h"
diff --git a/src/utils/SkDumpCanvas.cpp b/src/utils/SkDumpCanvas.cpp
index 35b88de..05cabad 100644
--- a/src/utils/SkDumpCanvas.cpp
+++ b/src/utils/SkDumpCanvas.cpp
@@ -7,6 +7,7 @@
#include "SkData.h"
#include "SkDumpCanvas.h"
+#include "SkImage.h"
#include "SkPatchUtils.h"
#include "SkPicture.h"
#include "SkPixelRef.h"
diff --git a/src/utils/SkShadowPaintFilterCanvas.h b/src/utils/SkShadowPaintFilterCanvas.h
index 190c68b..a03e000 100644
--- a/src/utils/SkShadowPaintFilterCanvas.h
+++ b/src/utils/SkShadowPaintFilterCanvas.h
@@ -8,6 +8,7 @@
#ifndef SkShadowPaintFilterCanvas_DEFINED
#define SkShadowPaintFilterCanvas_DEFINED
+#include "SkLights.h"
#include "SkPaintFilterCanvas.h"
#ifdef SK_EXPERIMENTAL_SHADOWING
diff --git a/src/utils/SkShadowUtils.cpp b/src/utils/SkShadowUtils.cpp
index 928eb66..6ea5566 100644
--- a/src/utils/SkShadowUtils.cpp
+++ b/src/utils/SkShadowUtils.cpp
@@ -8,6 +8,7 @@
#include "SkShadowUtils.h"
#include "SkCanvas.h"
#include "SkColorFilter.h"
+#include "SkColorPriv.h"
#include "SkPath.h"
#include "SkRandom.h"
#include "SkResourceCache.h"
diff --git a/tests/CanvasStateTest.cpp b/tests/CanvasStateTest.cpp
index 73c8a0e..ae417d4 100644
--- a/tests/CanvasStateTest.cpp
+++ b/tests/CanvasStateTest.cpp
@@ -6,6 +6,7 @@
*/
#include "CanvasStateHelpers.h"
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkClipOpPriv.h"
#include "SkCanvasStateUtils.h"
diff --git a/tests/ClipCubicTest.cpp b/tests/ClipCubicTest.cpp
index 1d88eae..854ac32 100644
--- a/tests/ClipCubicTest.cpp
+++ b/tests/ClipCubicTest.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkCubicClipper.h"
#include "SkGeometry.h"
@@ -165,41 +166,41 @@
#include "SkSurface.h"
-DEF_TEST(test_fuzz_crbug_698714, reporter) {
- auto surface(SkSurface::MakeRasterN32Premul(500, 500));
- SkCanvas* canvas = surface->getCanvas();
- SkPaint paint;
- paint.setAntiAlias(true);
- SkPath path;
- path.setFillType(SkPath::kWinding_FillType);
- path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0
- path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43430143)); //195.263f, 195.005f
- path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43434343)); //195.263f, 195.263f
- path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x434300be)); //-7.2741e-07f, 195.003f
- // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 3.85088e-29f,1.86082e-39f
- path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),
- SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),
- SkBits2Float(0x10434343), SkBits2Float(0x00144332));
- // 4.11823e-38f, 195.263f, 195.263f, 195.263f, -7.2741e-07f, 195.263f
- path.cubicTo(SkBits2Float(0x016037c0), SkBits2Float(0x43434343),
- SkBits2Float(0x43434343), SkBits2Float(0x43434343),
- SkBits2Float(0xb5434343), SkBits2Float(0x43434343));
- // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 195.263f, -2
- path.cubicTo(SkBits2Float(0x43434344), SkBits2Float(0x43434341),
- SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),
- SkBits2Float(0x43434343), SkBits2Float(0xc0000014));
- // -5.87228e+06f, 3.7773e-07f, 3.60231e-13f, -6.64511e+06f,2.77692e-15f, 2.48803e-15f
- path.cubicTo(SkBits2Float(0xcab33535), SkBits2Float(0x34cacaca),
- SkBits2Float(0x2acacaca), SkBits2Float(0xcacacae3),
- SkBits2Float(0x27481927), SkBits2Float(0x27334805));
- path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x43434343)); //-7.2741e-07f, 195.263f
- // 195.263f, 195.263f, -1.16387e-05f, 195.212f, 195.263f, -2
- path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),
- SkBits2Float(0xb74343b9), SkBits2Float(0x43433643),
- SkBits2Float(0x43434343), SkBits2Float(0xc0000014));
- path.lineTo(SkBits2Float(0xc7004343), SkBits2Float(0x27480527)); //-32835.3f, 2.77584e-15f
- path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0
- path.close();
- canvas->clipRect({0, 0, 65, 202});
- canvas->drawPath(path, paint);
-}
+DEF_TEST(test_fuzz_crbug_698714, reporter) {
+ auto surface(SkSurface::MakeRasterN32Premul(500, 500));
+ SkCanvas* canvas = surface->getCanvas();
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ SkPath path;
+ path.setFillType(SkPath::kWinding_FillType);
+ path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0
+ path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43430143)); //195.263f, 195.005f
+ path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43434343)); //195.263f, 195.263f
+ path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x434300be)); //-7.2741e-07f, 195.003f
+ // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 3.85088e-29f,1.86082e-39f
+ path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),
+ SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),
+ SkBits2Float(0x10434343), SkBits2Float(0x00144332));
+ // 4.11823e-38f, 195.263f, 195.263f, 195.263f, -7.2741e-07f, 195.263f
+ path.cubicTo(SkBits2Float(0x016037c0), SkBits2Float(0x43434343),
+ SkBits2Float(0x43434343), SkBits2Float(0x43434343),
+ SkBits2Float(0xb5434343), SkBits2Float(0x43434343));
+ // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 195.263f, -2
+ path.cubicTo(SkBits2Float(0x43434344), SkBits2Float(0x43434341),
+ SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),
+ SkBits2Float(0x43434343), SkBits2Float(0xc0000014));
+ // -5.87228e+06f, 3.7773e-07f, 3.60231e-13f, -6.64511e+06f,2.77692e-15f, 2.48803e-15f
+ path.cubicTo(SkBits2Float(0xcab33535), SkBits2Float(0x34cacaca),
+ SkBits2Float(0x2acacaca), SkBits2Float(0xcacacae3),
+ SkBits2Float(0x27481927), SkBits2Float(0x27334805));
+ path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x43434343)); //-7.2741e-07f, 195.263f
+ // 195.263f, 195.263f, -1.16387e-05f, 195.212f, 195.263f, -2
+ path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),
+ SkBits2Float(0xb74343b9), SkBits2Float(0x43433643),
+ SkBits2Float(0x43434343), SkBits2Float(0xc0000014));
+ path.lineTo(SkBits2Float(0xc7004343), SkBits2Float(0x27480527)); //-32835.3f, 2.77584e-15f
+ path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0
+ path.close();
+ canvas->clipRect({0, 0, 65, 202});
+ canvas->drawPath(path, paint);
+}
diff --git a/tests/ClipperTest.cpp b/tests/ClipperTest.cpp
index 8ebd9b4..641ed01 100644
--- a/tests/ClipperTest.cpp
+++ b/tests/ClipperTest.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkEdgeClipper.h"
#include "SkLineClipper.h"
diff --git a/tests/EmptyPathTest.cpp b/tests/EmptyPathTest.cpp
index 060ef8d..5b857a0 100644
--- a/tests/EmptyPathTest.cpp
+++ b/tests/EmptyPathTest.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkPath.h"
#include "Test.h"
diff --git a/tests/HighContrastFilterTest.cpp b/tests/HighContrastFilterTest.cpp
index 26f1a7c..7c3fc84 100644
--- a/tests/HighContrastFilterTest.cpp
+++ b/tests/HighContrastFilterTest.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkHighContrastFilter.h"
#include "Test.h"
diff --git a/tests/PictureBBHTest.cpp b/tests/PictureBBHTest.cpp
index 64b09b1..0bc81c2 100644
--- a/tests/PictureBBHTest.cpp
+++ b/tests/PictureBBHTest.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkBBoxHierarchy.h"
#include "SkPaint.h"
diff --git a/tests/SpecialSurfaceTest.cpp b/tests/SpecialSurfaceTest.cpp
index 1867e25..a336cf6 100644
--- a/tests/SpecialSurfaceTest.cpp
+++ b/tests/SpecialSurfaceTest.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file
*/
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkSpecialImage.h"
#include "SkSpecialSurface.h"
diff --git a/tools/debugger/SkDrawCommand.h b/tools/debugger/SkDrawCommand.h
index 4004b3b..fc15526 100644
--- a/tools/debugger/SkDrawCommand.h
+++ b/tools/debugger/SkDrawCommand.h
@@ -8,6 +8,7 @@
#ifndef SKDRAWCOMMAND_H_
#define SKDRAWCOMMAND_H_
+#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkTLazy.h"
#include "SkPath.h"
diff --git a/tools/dump_record.cpp b/tools/dump_record.cpp
index c1b87e7..24017bd 100644
--- a/tools/dump_record.cpp
+++ b/tools/dump_record.cpp
@@ -6,6 +6,7 @@
*/
#include "DumpRecord.h"
+#include "SkBitmap.h"
#include "SkCommandLineFlags.h"
#include "SkDeferredCanvas.h"
#include "SkPicture.h"
diff --git a/tools/ok.cpp b/tools/ok.cpp
index 10f9afd..edda9be 100644
--- a/tools/ok.cpp
+++ b/tools/ok.cpp
@@ -10,6 +10,7 @@
// * ok is entirely opt-in. No more maintaining huge --blacklists.
#include "SkGraphics.h"
+#include "SkImage.h"
#include "ok.h"
#include <chrono>
#include <future>
diff --git a/tools/ok_srcs.cpp b/tools/ok_srcs.cpp
index fd5f201..5630a34 100644
--- a/tools/ok_srcs.cpp
+++ b/tools/ok_srcs.cpp
@@ -7,6 +7,7 @@
#include "ok.h"
#include "gm.h"
+#include "SkData.h"
#include "SkOSFile.h"
#include "SkPicture.h"
#include <vector>
diff --git a/tools/ok_vias.cpp b/tools/ok_vias.cpp
index 17e117a..20779cf 100644
--- a/tools/ok_vias.cpp
+++ b/tools/ok_vias.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "SkImage.h"
#include "SkOSFile.h"
#include "SkPictureRecorder.h"
#include "ok.h"