diff options
-rw-r--r-- | gyp/core.gypi | 4 | ||||
-rw-r--r-- | include/core/SkCanvas.h | 14 | ||||
-rw-r--r-- | include/core/SkPictureRecorder.h | 4 | ||||
-rw-r--r-- | samplecode/SampleArc.cpp | 13 | ||||
-rw-r--r-- | samplecode/SampleHT.cpp | 12 | ||||
-rw-r--r-- | src/core/SkCanvas.cpp | 6 | ||||
-rw-r--r-- | src/core/SkCanvasDrawable.cpp (renamed from src/core/SkDrawable.cpp) | 16 | ||||
-rw-r--r-- | src/core/SkCanvasDrawable.h (renamed from include/core/SkDrawable.h) | 15 | ||||
-rw-r--r-- | src/core/SkPictureRecorder.cpp | 34 | ||||
-rw-r--r-- | src/core/SkRecordDraw.cpp | 4 | ||||
-rw-r--r-- | src/core/SkRecordDraw.h | 8 | ||||
-rw-r--r-- | src/core/SkRecorder.cpp | 10 | ||||
-rw-r--r-- | src/core/SkRecorder.h | 18 | ||||
-rw-r--r-- | src/core/SkRecords.h | 2 |
14 files changed, 73 insertions, 87 deletions
diff --git a/gyp/core.gypi b/gyp/core.gypi index 7db77fdda7..e7567281a0 100644 --- a/gyp/core.gypi +++ b/gyp/core.gypi @@ -48,6 +48,8 @@ '<(skia_src_path)/core/SkBuffer.cpp', '<(skia_src_path)/core/SkCachedData.cpp', '<(skia_src_path)/core/SkCanvas.cpp', + '<(skia_src_path)/core/SkCanvasDrawable.cpp', + '<(skia_src_path)/core/SkCanvasDrawable.h', '<(skia_src_path)/core/SkChunkAlloc.cpp', '<(skia_src_path)/core/SkClipStack.cpp', '<(skia_src_path)/core/SkColor.cpp', @@ -76,8 +78,6 @@ '<(skia_src_path)/core/SkDistanceFieldGen.h', '<(skia_src_path)/core/SkDither.cpp', '<(skia_src_path)/core/SkDraw.cpp', - '<(skia_src_path)/core/SkDrawable.cpp', - '<(skia_src_path)/core/SkDrawable.h', '<(skia_src_path)/core/SkDrawLooper.cpp', '<(skia_src_path)/core/SkDrawProcs.h', '<(skia_src_path)/core/SkEdgeBuilder.cpp', diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h index 0ec167e116..53ca92ee95 100644 --- a/include/core/SkCanvas.h +++ b/include/core/SkCanvas.h @@ -21,8 +21,8 @@ class SkBaseDevice; class SkCanvasClipVisitor; +class SkCanvasDrawable; class SkDraw; -class SkDrawable; class SkDrawFilter; class SkImage; class SkMetaData; @@ -1018,15 +1018,7 @@ public: void drawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint); - /** - * Draw the contents of this drawable into the canvas. If the canvas is async - * (e.g. it is recording into a picture) then the drawable will be referenced instead, - * to have its draw() method called when the picture is finalized. - * - * If the intent is to force the contents of the drawable into this canvas immediately, - * then drawable->draw(canvas) may be called. - */ - void drawDrawable(SkDrawable* drawable); + void EXPERIMENTAL_drawDrawable(SkCanvasDrawable*); /** Add comments. beginCommentGroup/endCommentGroup open/close a new group. Each comment added via addComment is notionally attached to its @@ -1196,7 +1188,7 @@ protected: virtual void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint); - virtual void onDrawDrawable(SkDrawable*); + virtual void onDrawDrawable(SkCanvasDrawable*); virtual void onDrawPaint(const SkPaint&); virtual void onDrawRect(const SkRect&, const SkPaint&); diff --git a/include/core/SkPictureRecorder.h b/include/core/SkPictureRecorder.h index b25e26b26a..14443b23d8 100644 --- a/include/core/SkPictureRecorder.h +++ b/include/core/SkPictureRecorder.h @@ -19,7 +19,7 @@ namespace android { #endif class SkCanvas; -class SkDrawable; +class SkCanvasDrawable; class SkPictureRecord; class SkRecord; class SkRecorder; @@ -79,7 +79,7 @@ public: * and therefore this drawable will reflect the current state of those nested drawables anytime * it is drawn or a new picture is snapped from it (by calling drawable->newPictureSnapshot()). */ - SkDrawable* endRecordingAsDrawable(); + SkCanvasDrawable* EXPERIMENTAL_endRecordingAsDrawable(); // Legacy API -- use endRecordingAsPicture instead. SkPicture* endRecording() { return this->endRecordingAsPicture(); } diff --git a/samplecode/SampleArc.cpp b/samplecode/SampleArc.cpp index bc20e92cc3..3775de50c8 100644 --- a/samplecode/SampleArc.cpp +++ b/samplecode/SampleArc.cpp @@ -9,7 +9,6 @@ #include "SkAnimTimer.h" #include "SkView.h" #include "SkCanvas.h" -#include "SkDrawable.h" #include "SkGradientShader.h" #include "SkPath.h" #include "SkRegion.h" @@ -25,6 +24,8 @@ #include "SkColorFilter.h" #include "SkLayerRasterizer.h" +#include "SkCanvasDrawable.h" + #include "SkParsePath.h" static void testparse() { SkRect r; @@ -39,7 +40,7 @@ static void testparse() { } class ArcsView : public SampleView { - class MyDrawable : public SkDrawable { + class MyDrawable : public SkCanvasDrawable { SkRect fR; SkScalar fSweep; public: @@ -83,7 +84,7 @@ class ArcsView : public SampleView { public: SkRect fRect; MyDrawable* fAnimatingDrawable; - SkDrawable* fRootDrawable; + SkCanvasDrawable* fRootDrawable; ArcsView() { testparse(); @@ -96,7 +97,7 @@ public: SkPictureRecorder recorder; this->drawRoot(recorder.beginRecording(SkRect::MakeWH(800, 500))); - fRootDrawable = recorder.endRecordingAsDrawable(); + fRootDrawable = recorder.EXPERIMENTAL_endRecordingAsDrawable(); } ~ArcsView() SK_OVERRIDE { @@ -189,13 +190,13 @@ protected: DrawRectWithLines(canvas, fRect, paint); - canvas->drawDrawable(fAnimatingDrawable); + canvas->EXPERIMENTAL_drawDrawable(fAnimatingDrawable); DrawArcs(canvas); } void onDrawContent(SkCanvas* canvas) SK_OVERRIDE { - canvas->drawDrawable(fRootDrawable); + canvas->EXPERIMENTAL_drawDrawable(fRootDrawable); } bool onAnimate(const SkAnimTimer& timer) SK_OVERRIDE { diff --git a/samplecode/SampleHT.cpp b/samplecode/SampleHT.cpp index 33fb77105e..1436817e76 100644 --- a/samplecode/SampleHT.cpp +++ b/samplecode/SampleHT.cpp @@ -9,7 +9,7 @@ #include "SkAnimTimer.h" #include "SkView.h" #include "SkCanvas.h" -#include "SkDrawable.h" +#include "SkCanvasDrawable.h" #include "SkInterpolator.h" #include "SkPictureRecorder.h" #include "SkRandom.h" @@ -43,7 +43,7 @@ static SkColor rand_opaque_color(uint32_t seed) { return rand.nextU() | (0xFF << 24); } -class HTDrawable : public SkDrawable { +class HTDrawable : public SkCanvasDrawable { SkRect fR; SkColor fColor; SkInterpolator* fInterp; @@ -127,7 +127,7 @@ public: HTDrawable* fDrawable; }; Rec fArray[N]; - SkAutoTUnref<SkDrawable> fRoot; + SkAutoTUnref<SkCanvasDrawable> fRoot; SkMSec fTime; HTView() { @@ -137,10 +137,10 @@ public: SkCanvas* canvas = recorder.beginRecording(SkRect::MakeWH(W, H)); for (int i = 0; i < N; ++i) { fArray[i].fDrawable = new HTDrawable(rand); - canvas->drawDrawable(fArray[i].fDrawable); + canvas->EXPERIMENTAL_drawDrawable(fArray[i].fDrawable); fArray[i].fDrawable->unref(); } - fRoot.reset(recorder.endRecordingAsDrawable()); + fRoot.reset(recorder.EXPERIMENTAL_endRecordingAsDrawable()); } protected: @@ -153,7 +153,7 @@ protected: } void onDrawContent(SkCanvas* canvas) SK_OVERRIDE { - canvas->drawDrawable(fRoot); + canvas->EXPERIMENTAL_drawDrawable(fRoot); } bool onAnimate(const SkAnimTimer& timer) SK_OVERRIDE { diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index ce99546728..055e6737a6 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -6,11 +6,11 @@ */ #include "SkCanvas.h" +#include "SkCanvasDrawable.h" #include "SkCanvasPriv.h" #include "SkBitmapDevice.h" #include "SkDeviceImageFilterProxy.h" #include "SkDraw.h" -#include "SkDrawable.h" #include "SkDrawFilter.h" #include "SkDrawLooper.h" #include "SkImage.h" @@ -2293,13 +2293,13 @@ void SkCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], LOOPER_END } -void SkCanvas::drawDrawable(SkDrawable* dr) { +void SkCanvas::EXPERIMENTAL_drawDrawable(SkCanvasDrawable* dr) { if (dr && !this->quickReject(dr->getBounds())) { this->onDrawDrawable(dr); } } -void SkCanvas::onDrawDrawable(SkDrawable* dr) { +void SkCanvas::onDrawDrawable(SkCanvasDrawable* dr) { dr->draw(this); } diff --git a/src/core/SkDrawable.cpp b/src/core/SkCanvasDrawable.cpp index 64fefd2f1c..99a4996bc9 100644 --- a/src/core/SkDrawable.cpp +++ b/src/core/SkCanvasDrawable.cpp @@ -6,7 +6,7 @@ */ #include "SkCanvas.h" -#include "SkDrawable.h" +#include "SkCanvasDrawable.h" #include "SkThread.h" static int32_t next_generation_id() { @@ -21,7 +21,7 @@ static int32_t next_generation_id() { return genID; } -SkDrawable::SkDrawable() : fGenerationID(0) {} +SkCanvasDrawable::SkCanvasDrawable() : fGenerationID(0) {} static void draw_bbox(SkCanvas* canvas, const SkRect& r) { SkPaint paint; @@ -32,7 +32,7 @@ static void draw_bbox(SkCanvas* canvas, const SkRect& r) { canvas->drawLine(r.left(), r.bottom(), r.right(), r.top(), paint); } -void SkDrawable::draw(SkCanvas* canvas) { +void SkCanvasDrawable::draw(SkCanvas* canvas) { SkAutoCanvasRestore acr(canvas, true); this->onDraw(canvas); @@ -41,22 +41,22 @@ void SkDrawable::draw(SkCanvas* canvas) { } } -SkPicture* SkDrawable::newPictureSnapshot() { +SkPicture* SkCanvasDrawable::newPictureSnapshot() { return this->onNewPictureSnapshot(); } -uint32_t SkDrawable::getGenerationID() { +uint32_t SkCanvasDrawable::getGenerationID() { if (0 == fGenerationID) { fGenerationID = next_generation_id(); } return fGenerationID; } -SkRect SkDrawable::getBounds() { +SkRect SkCanvasDrawable::getBounds() { return this->onGetBounds(); } -void SkDrawable::notifyDrawingChanged() { +void SkCanvasDrawable::notifyDrawingChanged() { fGenerationID = 0; } @@ -64,7 +64,7 @@ void SkDrawable::notifyDrawingChanged() { #include "SkPictureRecorder.h" -SkPicture* SkDrawable::onNewPictureSnapshot() { +SkPicture* SkCanvasDrawable::onNewPictureSnapshot() { SkPictureRecorder recorder; const SkRect bounds = this->getBounds(); diff --git a/include/core/SkDrawable.h b/src/core/SkCanvasDrawable.h index 15bb0bbe0f..bc5b4fd351 100644 --- a/include/core/SkDrawable.h +++ b/src/core/SkCanvasDrawable.h @@ -5,8 +5,8 @@ * found in the LICENSE file. */ -#ifndef SkDrawable_DEFINED -#define SkDrawable_DEFINED +#ifndef SkCanvasDrawable_DEFINED +#define SkCanvasDrawable_DEFINED #include "SkRefCnt.h" @@ -21,9 +21,9 @@ struct SkRect; * allow for clients of the drawable that may want to cache the results, the drawable must * change its generation ID whenever its internal state changes such that it will draw differently. */ -class SkDrawable : public SkRefCnt { +class SkCanvasDrawable : public SkRefCnt { public: - SkDrawable(); + SkCanvasDrawable(); /** * Draws into the specified content. The drawing sequence will be balanced upon return @@ -60,13 +60,6 @@ public: protected: virtual SkRect onGetBounds() = 0; virtual void onDraw(SkCanvas*) = 0; - - /** - * Default implementation calls onDraw() with a canvas that records into a picture. Subclasses - * may override if they have a more efficient way to return a picture for the current state - * of their drawable. Note: this picture must draw the same as what would be drawn from - * onDraw(). - */ virtual SkPicture* onNewPictureSnapshot(); private: diff --git a/src/core/SkPictureRecorder.cpp b/src/core/SkPictureRecorder.cpp index 42f8732c79..69411d3bc3 100644 --- a/src/core/SkPictureRecorder.cpp +++ b/src/core/SkPictureRecorder.cpp @@ -5,8 +5,8 @@ * found in the LICENSE file. */ +#include "SkCanvasDrawable.h" #include "SkData.h" -#include "SkDrawable.h" #include "SkLayerInfo.h" #include "SkPictureRecorder.h" #include "SkRecord.h" @@ -51,7 +51,7 @@ SkPicture* SkPictureRecorder::endRecordingAsPicture() { saveLayerData.reset(SkNEW_ARGS(SkLayerInfo, (key))); } - SkDrawableList* drawableList = fRecorder->getDrawableList(); + SkCanvasDrawableList* drawableList = fRecorder->getDrawableList(); SkPicture::SnapshotArray* pictList = drawableList ? drawableList->newDrawableSnapshot() : NULL; if (fBBH.get()) { @@ -82,8 +82,8 @@ void SkPictureRecorder::partialReplay(SkCanvas* canvas) const { } int drawableCount = 0; - SkDrawable* const* drawables = NULL; - SkDrawableList* drawableList = fRecorder->getDrawableList(); + SkCanvasDrawable* const* drawables = NULL; + SkCanvasDrawableList* drawableList = fRecorder->getDrawableList(); if (drawableList) { drawableCount = drawableList->count(); drawables = drawableList->begin(); @@ -93,15 +93,15 @@ void SkPictureRecorder::partialReplay(SkCanvas* canvas) const { /////////////////////////////////////////////////////////////////////////////////////////////////// -class SkRecordedDrawable : public SkDrawable { - SkAutoTUnref<SkRecord> fRecord; - SkAutoTUnref<SkBBoxHierarchy> fBBH; - SkAutoTDelete<SkDrawableList> fDrawableList; - const SkRect fBounds; - const bool fDoSaveLayerInfo; +class SkRecordedDrawable : public SkCanvasDrawable { + SkAutoTUnref<SkRecord> fRecord; + SkAutoTUnref<SkBBoxHierarchy> fBBH; + SkAutoTDelete<SkCanvasDrawableList> fDrawableList; + const SkRect fBounds; + const bool fDoSaveLayerInfo; public: - SkRecordedDrawable(SkRecord* record, SkBBoxHierarchy* bbh, SkDrawableList* drawableList, + SkRecordedDrawable(SkRecord* record, SkBBoxHierarchy* bbh, SkCanvasDrawableList* drawableList, const SkRect& bounds, bool doSaveLayerInfo) : fRecord(SkRef(record)) , fBBH(SkSafeRef(bbh)) @@ -114,7 +114,7 @@ protected: SkRect onGetBounds() SK_OVERRIDE { return fBounds; } void onDraw(SkCanvas* canvas) SK_OVERRIDE { - SkDrawable* const* drawables = NULL; + SkCanvasDrawable* const* drawables = NULL; int drawableCount = 0; if (fDrawableList) { drawables = fDrawableList->begin(); @@ -153,7 +153,7 @@ protected: } }; -SkDrawable* SkPictureRecorder::endRecordingAsDrawable() { +SkCanvasDrawable* SkPictureRecorder::EXPERIMENTAL_endRecordingAsDrawable() { // TODO: delay as much of this work until just before first playback? SkRecordOptimize(fRecord); @@ -161,10 +161,10 @@ SkDrawable* SkPictureRecorder::endRecordingAsDrawable() { SkRecordFillBounds(fCullRect, *fRecord, fBBH.get()); } - SkDrawable* drawable = SkNEW_ARGS(SkRecordedDrawable, - (fRecord, fBBH, fRecorder->detachDrawableList(), - fCullRect, - SkToBool(fFlags & kComputeSaveLayerInfo_RecordFlag))); + SkCanvasDrawable* drawable = SkNEW_ARGS(SkRecordedDrawable, + (fRecord, fBBH, fRecorder->detachDrawableList(), + fCullRect, + SkToBool(fFlags & kComputeSaveLayerInfo_RecordFlag))); // release our refs now, so only the drawable will be the owner. fRecorder.reset(NULL); diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp index 3fed8de95c..a59d325eef 100644 --- a/src/core/SkRecordDraw.cpp +++ b/src/core/SkRecordDraw.cpp @@ -12,7 +12,7 @@ void SkRecordDraw(const SkRecord& record, SkCanvas* canvas, SkPicture const* const drawablePicts[], - SkDrawable* const drawables[], + SkCanvasDrawable* const drawables[], int drawableCount, const SkBBoxHierarchy* bbh, SkPicture::AbortCallback* callback) { @@ -124,7 +124,7 @@ template <> void Draw::draw(const DrawDrawable& r) { SkASSERT(r.index < fDrawableCount); if (fDrawables) { SkASSERT(NULL == fDrawablePicts); - fCanvas->drawDrawable(fDrawables[r.index]); + fCanvas->EXPERIMENTAL_drawDrawable(fDrawables[r.index]); } else { fCanvas->drawPicture(fDrawablePicts[r.index]); } diff --git a/src/core/SkRecordDraw.h b/src/core/SkRecordDraw.h index 7bbab81b5a..593674eddd 100644 --- a/src/core/SkRecordDraw.h +++ b/src/core/SkRecordDraw.h @@ -13,7 +13,7 @@ #include "SkMatrix.h" #include "SkRecord.h" -class SkDrawable; +class SkCanvasDrawable; class SkLayerInfo; // Fill a BBH to be used by SkRecordDraw to accelerate playback. @@ -25,7 +25,7 @@ void SkRecordComputeLayers(const SkRect& cullRect, const SkRecord& record, // Draw an SkRecord into an SkCanvas. A convenience wrapper around SkRecords::Draw. void SkRecordDraw(const SkRecord&, SkCanvas*, SkPicture const* const drawablePicts[], - SkDrawable* const drawables[], int drawableCount, + SkCanvasDrawable* const drawables[], int drawableCount, const SkBBoxHierarchy*, SkPicture::AbortCallback*); // Draw a portion of an SkRecord into an SkCanvas. @@ -43,7 +43,7 @@ namespace SkRecords { class Draw : SkNoncopyable { public: explicit Draw(SkCanvas* canvas, SkPicture const* const drawablePicts[], - SkDrawable* const drawables[], int drawableCount, + SkCanvasDrawable* const drawables[], int drawableCount, const SkMatrix* initialCTM = NULL) : fInitialCTM(initialCTM ? *initialCTM : canvas->getTotalMatrix()) , fCanvas(canvas) @@ -70,7 +70,7 @@ private: const SkMatrix fInitialCTM; SkCanvas* fCanvas; SkPicture const* const* fDrawablePicts; - SkDrawable* const* fDrawables; + SkCanvasDrawable* const* fDrawables; int fDrawableCount; }; diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp index aafb540a05..de16d6244f 100644 --- a/src/core/SkRecorder.cpp +++ b/src/core/SkRecorder.cpp @@ -9,11 +9,11 @@ #include "SkPatchUtils.h" #include "SkPicture.h" -SkDrawableList::~SkDrawableList() { +SkCanvasDrawableList::~SkCanvasDrawableList() { fArray.unrefAll(); } -SkPicture::SnapshotArray* SkDrawableList::newDrawableSnapshot() { +SkPicture::SnapshotArray* SkCanvasDrawableList::newDrawableSnapshot() { const int count = fArray.count(); if (0 == count) { return NULL; @@ -25,7 +25,7 @@ SkPicture::SnapshotArray* SkDrawableList::newDrawableSnapshot() { return SkNEW_ARGS(SkPicture::SnapshotArray, (pics.detach(), count)); } -void SkDrawableList::append(SkDrawable* drawable) { +void SkCanvasDrawableList::append(SkCanvasDrawable* drawable) { *fArray.append() = SkRef(drawable); } @@ -143,9 +143,9 @@ void SkRecorder::onDrawDRRect(const SkRRect& outer, const SkRRect& inner, const APPEND(DrawDRRect, delay_copy(paint), outer, inner); } -void SkRecorder::onDrawDrawable(SkDrawable* drawable) { +void SkRecorder::onDrawDrawable(SkCanvasDrawable* drawable) { if (!fDrawableList) { - fDrawableList.reset(SkNEW(SkDrawableList)); + fDrawableList.reset(SkNEW(SkCanvasDrawableList)); } fDrawableList->append(drawable); APPEND(DrawDrawable, drawable->getBounds(), fDrawableList->count() - 1); diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h index 130dce9ebc..611dbbdcd7 100644 --- a/src/core/SkRecorder.h +++ b/src/core/SkRecorder.h @@ -15,20 +15,20 @@ class SkBBHFactory; -class SkDrawableList : SkNoncopyable { +class SkCanvasDrawableList : SkNoncopyable { public: - ~SkDrawableList(); + ~SkCanvasDrawableList(); int count() const { return fArray.count(); } - SkDrawable* const* begin() const { return fArray.begin(); } + SkCanvasDrawable* const* begin() const { return fArray.begin(); } - void append(SkDrawable* drawable); + void append(SkCanvasDrawable* drawable); // Return a new or ref'd array of pictures that were snapped from our drawables. SkPicture::SnapshotArray* newDrawableSnapshot(); private: - SkTDArray<SkDrawable*> fArray; + SkTDArray<SkCanvasDrawable*> fArray; }; // SkRecorder provides an SkCanvas interface for recording into an SkRecord. @@ -39,8 +39,8 @@ public: SkRecorder(SkRecord*, int width, int height); // legacy version SkRecorder(SkRecord*, const SkRect& bounds); - SkDrawableList* getDrawableList() const { return fDrawableList.get(); } - SkDrawableList* detachDrawableList() { return fDrawableList.detach(); } + SkCanvasDrawableList* getDrawableList() const { return fDrawableList.get(); } + SkCanvasDrawableList* detachDrawableList() { return fDrawableList.detach(); } // Make SkRecorder forget entirely about its SkRecord*; all calls to SkRecorder will fail. void forgetRecord(); @@ -54,7 +54,7 @@ public: void didSetMatrix(const SkMatrix&) SK_OVERRIDE; void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK_OVERRIDE; - void onDrawDrawable(SkDrawable*) SK_OVERRIDE; + void onDrawDrawable(SkCanvasDrawable*) SK_OVERRIDE; void onDrawText(const void* text, size_t byteLength, SkScalar x, @@ -131,7 +131,7 @@ private: SkRecord* fRecord; - SkAutoTDelete<SkDrawableList> fDrawableList; + SkAutoTDelete<SkCanvasDrawableList> fDrawableList; }; #endif//SkRecorder_DEFINED diff --git a/src/core/SkRecords.h b/src/core/SkRecords.h index 319d155054..522bf68b49 100644 --- a/src/core/SkRecords.h +++ b/src/core/SkRecords.h @@ -9,7 +9,7 @@ #define SkRecords_DEFINED #include "SkCanvas.h" -#include "SkDrawable.h" +#include "SkCanvasDrawable.h" #include "SkPicture.h" #include "SkTextBlob.h" |