IWYU: 'core' target, files starting A-C.

TBR=reed@google.com
Verbal lgtm, does not change API.

Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69

Review URL: https://codereview.chromium.org/1265033002
diff --git a/src/core/SkAdvancedTypefaceMetrics.cpp b/src/core/SkAdvancedTypefaceMetrics.cpp
index f9b25dc..81e98f3 100644
--- a/src/core/SkAdvancedTypefaceMetrics.cpp
+++ b/src/core/SkAdvancedTypefaceMetrics.cpp
@@ -16,7 +16,7 @@
 
 #if defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_ANDROID)
 // forward declare structs needed for getAdvanceData() template for freetype
-struct FT_FaceRec;
+struct FT_FaceRec_;
 typedef struct FT_FaceRec_* FT_Face;
 #endif
 
diff --git a/src/core/SkAnnotation.cpp b/src/core/SkAnnotation.cpp
index bddff64..aa7a02a 100644
--- a/src/core/SkAnnotation.cpp
+++ b/src/core/SkAnnotation.cpp
@@ -7,10 +7,10 @@
 
 #include "SkAnnotation.h"
 #include "SkData.h"
+#include "SkPaint.h"
+#include "SkPoint.h"
 #include "SkReadBuffer.h"
 #include "SkWriteBuffer.h"
-#include "SkPoint.h"
-#include "SkStream.h"
 
 SkAnnotation::SkAnnotation(const char key[], SkData* value) : fKey(key) {
     if (NULL == value) {
diff --git a/src/core/SkBBHFactory.cpp b/src/core/SkBBHFactory.cpp
index ce5026c..a4c7f4f 100644
--- a/src/core/SkBBHFactory.cpp
+++ b/src/core/SkBBHFactory.cpp
@@ -6,7 +6,9 @@
  */
 
 #include "SkBBHFactory.h"
+#include "SkRect.h"
 #include "SkRTree.h"
+#include "SkScalar.h"
 
 SkBBoxHierarchy* SkRTreeFactory::operator()(const SkRect& bounds) const {
     SkScalar aspectRatio = bounds.width() / bounds.height();
diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp
index aa26bdc..97b0db6 100644
--- a/src/core/SkBitmap.cpp
+++ b/src/core/SkBitmap.cpp
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2008 The Android Open Source Project
  *
@@ -6,23 +5,22 @@
  * found in the LICENSE file.
  */
 
-
 #include "SkAtomics.h"
 #include "SkBitmap.h"
 #include "SkColorPriv.h"
-#include "SkDither.h"
-#include "SkFlattenable.h"
-#include "SkImagePriv.h"
+#include "SkData.h"
+#include "SkFilterQuality.h"
 #include "SkMallocPixelRef.h"
 #include "SkMask.h"
-#include "SkPackBits.h"
+#include "SkMath.h"
 #include "SkPixelRef.h"
 #include "SkReadBuffer.h"
+#include "SkRect.h"
+#include "SkScalar.h"
 #include "SkUnPreMultiply.h"
-#include "SkUtils.h"
-#include "SkValidationUtils.h"
 #include "SkWriteBuffer.h"
-#include <new>
+
+#include <string.h>
 
 static bool reset_return_false(SkBitmap* bm) {
     bm->reset();
@@ -749,9 +747,6 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "SkCanvas.h"
-#include "SkPaint.h"
-
 bool SkBitmap::canCopyTo(SkColorType dstColorType) const {
     const SkColorType srcCT = this->colorType();
 
@@ -1221,6 +1216,7 @@
 #endif
 
 #ifndef SK_IGNORE_TO_STRING
+#include "SkString.h"
 void SkBitmap::toString(SkString* str) const {
 
     static const char* gColorTypeNames[kLastEnum_SkColorType + 1] = {
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
index 9da43d8..dfe1756 100644
--- a/src/core/SkBitmapDevice.cpp
+++ b/src/core/SkBitmapDevice.cpp
@@ -8,10 +8,16 @@
 #include "SkBitmapDevice.h"
 #include "SkConfig8888.h"
 #include "SkDraw.h"
+#include "SkMatrix.h"
+#include "SkPaint.h"
+#include "SkPath.h"
 #include "SkPixelRef.h"
-#include "SkRasterClip.h"
+#include "SkPixmap.h"
 #include "SkShader.h"
 #include "SkSurface.h"
+#include "SkXfermode.h"
+
+class SkColorTable;
 
 #define CHECK_FOR_ANNOTATION(paint) \
     do { if (paint.getAnnotation()) { return; } } while (0)
diff --git a/src/core/SkBitmapFilter.cpp b/src/core/SkBitmapFilter.cpp
index 82494d9..8c44e9f 100644
--- a/src/core/SkBitmapFilter.cpp
+++ b/src/core/SkBitmapFilter.cpp
@@ -5,17 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkErrorInternals.h"
-#include "SkConvolver.h"
-#include "SkBitmapProcState.h"
-#include "SkBitmap.h"
-#include "SkColor.h"
-#include "SkColorPriv.h"
-#include "SkConvolver.h"
-#include "SkUnPreMultiply.h"
-#include "SkShader.h"
+#include "SkBitmapFilter.h"
 #include "SkRTConf.h"
-#include "SkMath.h"
+#include "SkTypes.h"
+
+#include <string.h>
 
 // These are the per-scanline callbacks that are used when we must resort to
 // resampling an image as it is blitted.  Typically these are used only when
diff --git a/src/core/SkBitmapFilter.h b/src/core/SkBitmapFilter.h
index 93b552e..eb327d7 100644
--- a/src/core/SkBitmapFilter.h
+++ b/src/core/SkBitmapFilter.h
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2013 Google Inc.
  *
@@ -6,11 +5,12 @@
  * found in the LICENSE file.
  */
 
-
 #ifndef SkBitmapFilter_DEFINED
 #define SkBitmapFilter_DEFINED
 
+#include "SkFixed.h"
 #include "SkMath.h"
+#include "SkScalar.h"
 
 // size of the precomputed bitmap filter tables for high quality filtering.
 // Used to precompute the shape of the filter kernel.
diff --git a/src/core/SkBitmapHeap.cpp b/src/core/SkBitmapHeap.cpp
index 07e65fb..e1d3cae 100644
--- a/src/core/SkBitmapHeap.cpp
+++ b/src/core/SkBitmapHeap.cpp
@@ -7,10 +7,7 @@
  */
 
 #include "SkBitmapHeap.h"
-
 #include "SkBitmap.h"
-#include "SkReadBuffer.h"
-#include "SkWriteBuffer.h"
 #include "SkTSearch.h"
 
 SkBitmapHeapEntry::SkBitmapHeapEntry()
diff --git a/src/core/SkBitmapHeap.h b/src/core/SkBitmapHeap.h
index 259d947..1e1979f 100644
--- a/src/core/SkBitmapHeap.h
+++ b/src/core/SkBitmapHeap.h
@@ -1,18 +1,19 @@
-
 /*
  * Copyright 2012 Google Inc.
  *
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
+
 #ifndef SkBitmapHeap_DEFINED
 #define SkBitmapHeap_DEFINED
 
+#include "SkAtomics.h"
 #include "SkBitmap.h"
-#include "SkFlattenable.h"
+#include "SkPoint.h"
 #include "SkRefCnt.h"
 #include "SkTDArray.h"
-#include "SkAtomics.h"
+#include "SkTypes.h"
 
 /**
  * SkBitmapHeapEntry provides users of SkBitmapHeap (using internal storage) with a means to...
diff --git a/src/core/SkBitmapScaler.cpp b/src/core/SkBitmapScaler.cpp
index 84b926e..6e25302 100644
--- a/src/core/SkBitmapScaler.cpp
+++ b/src/core/SkBitmapScaler.cpp
@@ -7,10 +7,12 @@
 
 #include "SkBitmapScaler.h"
 #include "SkBitmapFilter.h"
-#include "SkRect.h"
-#include "SkTArray.h"
-#include "SkErrorInternals.h"
 #include "SkConvolver.h"
+#include "SkImageInfo.h"
+#include "SkPixmap.h"
+#include "SkRect.h"
+#include "SkScalar.h"
+#include "SkTArray.h"
 
 // SkResizeFilter ----------------------------------------------------------------
 
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp
index 59078d6..a932ba9 100644
--- a/src/core/SkBlitter.cpp
+++ b/src/core/SkBlitter.cpp
@@ -9,7 +9,6 @@
 #include "SkAntiRun.h"
 #include "SkColor.h"
 #include "SkColorFilter.h"
-#include "SkCoreBlitters.h"
 #include "SkFilterShader.h"
 #include "SkReadBuffer.h"
 #include "SkWriteBuffer.h"
diff --git a/src/core/SkBlitter.h b/src/core/SkBlitter.h
index a2ab89d..baa9ccc 100644
--- a/src/core/SkBlitter.h
+++ b/src/core/SkBlitter.h
@@ -9,14 +9,16 @@
 #define SkBlitter_DEFINED
 
 #include "SkBitmapProcShader.h"
-#include "SkMask.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkPixmap.h"
-#include "SkRefCnt.h"
+#include "SkColor.h"
+#include "SkRect.h"
 #include "SkRegion.h"
 #include "SkShader.h"
-#include "SkSmallAllocator.h"
+#include "SkTypes.h"
+
+class SkMatrix;
+class SkPaint;
+class SkPixmap;
+struct SkMask;
 
 /** SkBlitter and its subclasses are responsible for actually writing pixels
     into memory. Besides efficiency, they handle clipping and antialiasing.
diff --git a/src/core/SkBuffer.cpp b/src/core/SkBuffer.cpp
index 590b05b..51c368a 100644
--- a/src/core/SkBuffer.cpp
+++ b/src/core/SkBuffer.cpp
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2006 The Android Open Source Project
  *
@@ -6,9 +5,10 @@
  * found in the LICENSE file.
  */
 
-
 #include "SkBuffer.h"
 
+#include <string.h>
+
 ////////////////////////////////////////////////////////////////////////////////////////
 
 void SkRBuffer::readNoSizeCheck(void* buffer, size_t size)
diff --git a/src/core/SkBuffer.h b/src/core/SkBuffer.h
index aaafb36..92ed705 100644
--- a/src/core/SkBuffer.h
+++ b/src/core/SkBuffer.h
@@ -11,6 +11,7 @@
 #define SkBuffer_DEFINED
 
 #include "SkScalar.h"
+#include "SkTypes.h"
 
 /** \class SkRBuffer
 
diff --git a/src/core/SkCachedData.cpp b/src/core/SkCachedData.cpp
index f1fb026..16c4eea 100644
--- a/src/core/SkCachedData.cpp
+++ b/src/core/SkCachedData.cpp
@@ -6,7 +6,6 @@
  */
 
 #include "SkCachedData.h"
-#include "SkRefCnt.h"
 #include "SkDiscardableMemory.h"
 
 //#define TRACK_CACHEDDATA_LIFETIME
diff --git a/src/core/SkCachedData.h b/src/core/SkCachedData.h
index 6493a75..a861157 100644
--- a/src/core/SkCachedData.h
+++ b/src/core/SkCachedData.h
@@ -9,6 +9,7 @@
 #define SkCachedData_DEFINED
 
 #include "SkMutex.h"
+#include "SkTypes.h"
 
 class SkDiscardableMemory;
 
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 2308151..342f79f 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -5,10 +5,12 @@
  * found in the LICENSE file.
  */
 
+#include "SkBitmapDevice.h"
 #include "SkCanvas.h"
 #include "SkCanvasPriv.h"
-#include "SkBitmapDevice.h"
+#include "SkClipStack.h"
 #include "SkColorFilter.h"
+#include "SkDevice.h"
 #include "SkDraw.h"
 #include "SkDrawable.h"
 #include "SkDrawFilter.h"
@@ -18,7 +20,6 @@
 #include "SkMetaData.h"
 #include "SkNinePatchIter.h"
 #include "SkPaintPriv.h"
-#include "SkPathOps.h"
 #include "SkPatchUtils.h"
 #include "SkPicture.h"
 #include "SkRasterClip.h"
@@ -26,12 +27,12 @@
 #include "SkRRect.h"
 #include "SkSmallAllocator.h"
 #include "SkSurface_Base.h"
-#include "SkTemplates.h"
 #include "SkTextBlob.h"
 #include "SkTextFormatParams.h"
 #include "SkTLazy.h"
 #include "SkTraceEvent.h"
-#include "SkUtils.h"
+
+#include <new>
 
 #if SK_SUPPORT_GPU
 #include "GrRenderTarget.h"
diff --git a/src/core/SkColor.cpp b/src/core/SkColor.cpp
index 6fa239f..73e6ddd 100644
--- a/src/core/SkColor.cpp
+++ b/src/core/SkColor.cpp
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2006 The Android Open Source Project
  *
@@ -6,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-
 #include "SkColor.h"
 #include "SkColorPriv.h"
+#include "SkFixed.h"
 
 SkPMColor SkPreMultiplyARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b) {
     return SkPremultiplyARGBInline(a, r, g, b);
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 8e01090..9cbcc64 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -7,9 +7,14 @@
 
 #include "SkColorFilter.h"
 #include "SkReadBuffer.h"
+#include "SkRefCnt.h"
 #include "SkString.h"
+#include "SkTDArray.h"
+#include "SkUnPreMultiply.h"
 #include "SkWriteBuffer.h"
 
+class GrFragmentProcessor;
+
 bool SkColorFilter::asColorMode(SkColor* color, SkXfermode::Mode* mode) const {
     return false;
 }
diff --git a/src/core/SkMaskFilter.cpp b/src/core/SkMaskFilter.cpp
index bb700cd..5e7cee6 100644
--- a/src/core/SkMaskFilter.cpp
+++ b/src/core/SkMaskFilter.cpp
@@ -11,6 +11,7 @@
 #include "SkBlitter.h"
 #include "SkDraw.h"
 #include "SkCachedData.h"
+#include "SkPath.h"
 #include "SkRasterClip.h"
 #include "SkRRect.h"
 #include "SkTypes.h"
diff --git a/src/core/SkMiniRecorder.cpp b/src/core/SkMiniRecorder.cpp
index 916c477..df40fa4 100644
--- a/src/core/SkMiniRecorder.cpp
+++ b/src/core/SkMiniRecorder.cpp
@@ -6,6 +6,7 @@
  */
 
 #include "SkCanvas.h"
+#include "SkTLazy.h"
 #include "SkLazyPtr.h"
 #include "SkMiniRecorder.h"
 #include "SkPicture.h"
diff --git a/src/core/SkPictureImageGenerator.cpp b/src/core/SkPictureImageGenerator.cpp
index 0dea60d..6c3faef 100644
--- a/src/core/SkPictureImageGenerator.cpp
+++ b/src/core/SkPictureImageGenerator.cpp
@@ -11,6 +11,7 @@
 #include "SkMatrix.h"
 #include "SkPaint.h"
 #include "SkPicture.h"
+#include "SkTLazy.h"
 
 class SkPictureImageGenerator : SkImageGenerator {
 public: