diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-27 14:42:15 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-06-27 14:42:15 +0000 |
commit | 5667afc5cb4a8cd15a27667f222b6d9c94d61c38 (patch) | |
tree | 2e1fc9cce83746cc0853e7aba7b936d2fac943ec /samplecode | |
parent | 0f1c95cd67a056cff9c9cd31fa51d9de9392142e (diff) |
remove drawShape from canvas api
git-svn-id: http://skia.googlecode.com/svn/trunk@1723 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SamplePicture.cpp | 64 | ||||
-rw-r--r-- | samplecode/SampleShapes.cpp | 8 |
2 files changed, 3 insertions, 69 deletions
diff --git a/samplecode/SamplePicture.cpp b/samplecode/SamplePicture.cpp index d7b6b229f4..585b2f20f1 100644 --- a/samplecode/SamplePicture.cpp +++ b/samplecode/SamplePicture.cpp @@ -14,7 +14,6 @@ #include "SkUtils.h" #include "SkColorPriv.h" #include "SkColorFilter.h" -#include "SkShape.h" #include "SkTime.h" #include "SkTypeface.h" #include "SkXfermode.h" @@ -22,67 +21,6 @@ #include "SkStream.h" #include "SkXMLParser.h" -class SignalShape : public SkShape { -public: - SignalShape() : fSignal(0) {} - - SkShape* setSignal(int n) { - fSignal = n; - return this; - } - -protected: - virtual void onDraw(SkCanvas* canvas) { - // SkDebugf("---- sc %d\n", canvas->getSaveCount() - 1); - } - -private: - int fSignal; -}; - -static SkPMColor SignalProc(SkPMColor src, SkPMColor dst) { - return dst; -} - -/* Picture playback will skip blocks of draw calls that follow a clip() call - that returns empty, and jump down to the corresponding restore() call. - - This is a great preformance win for drawing very large/tall pictures with - a small visible window (think scrolling a long document). These tests make - sure that (a) we are performing the culling, and (b) we don't get confused - by nested save() calls, nor by calls to restoreToCount(). - */ -static void test_saveRestoreCulling() { - SkPaint signalPaint; - SignalShape signalShape; - - SkPicture pic; - SkRect r = SkRect::MakeWH(0, 0); - int n; - SkCanvas* canvas = pic.beginRecording(100, 100); - int startN = canvas->getSaveCount(); - SkDebugf("---- start sc %d\n", startN); - canvas->drawShape(signalShape.setSignal(1)); - canvas->save(); - canvas->drawShape(signalShape.setSignal(2)); - n = canvas->save(); - canvas->drawShape(signalShape.setSignal(3)); - canvas->save(); - canvas->clipRect(r); - canvas->drawShape(signalShape.setSignal(4)); - canvas->restoreToCount(n); - canvas->drawShape(signalShape.setSignal(5)); - canvas->restore(); - canvas->drawShape(signalShape.setSignal(6)); - SkASSERT(canvas->getSaveCount() == startN); - - SkBitmap bm; - bm.setConfig(SkBitmap::kARGB_8888_Config, 100, 100); - bm.allocPixels(); - SkCanvas c(bm); - c.drawPicture(pic); -} - /////////////////////////////////////////////////////////////////////////////// #include "SkImageRef_GlobalPool.h" @@ -137,8 +75,6 @@ public: // unref fPicture in our destructor, and it will in turn take care of // the other references to fSubPicture fSubPicture->unref(); - - test_saveRestoreCulling(); } virtual ~PictureView() { diff --git a/samplecode/SampleShapes.cpp b/samplecode/SampleShapes.cpp index dc10f1a454..6742017a48 100644 --- a/samplecode/SampleShapes.cpp +++ b/samplecode/SampleShapes.cpp @@ -127,16 +127,14 @@ protected: matrix.preScale(SK_Scalar1*2, SK_Scalar1*2); gs->appendShape(&fGroup, matrix); -#if 0 - canvas->drawShape(gs); -#else +#if 1 SkPicture* pict = new SkPicture; SkCanvas* cv = pict->beginRecording(1000, 1000); cv->scale(SK_ScalarHalf, SK_ScalarHalf); - cv->drawShape(gs); + gs->draw(cv); cv->translate(SkIntToScalar(680), SkIntToScalar(480)); cv->scale(-SK_Scalar1, SK_Scalar1); - cv->drawShape(gs); + gs->draw(cv); pict->endRecording(); drawpicture(canvas, *pict); |