| Index: samplecode/SampleTiling.cpp
|
| ===================================================================
|
| --- samplecode/SampleTiling.cpp (revision 13963)
|
| +++ samplecode/SampleTiling.cpp (working copy)
|
| @@ -62,21 +62,19 @@
|
| static const int gHeight = 32;
|
|
|
| class TilingView : public SampleView {
|
| - SkPicture* fTextPicture;
|
| - SkBlurDrawLooper fLooper;
|
| + SkAutoTUnref<SkPicture> fTextPicture;
|
| + SkBlurDrawLooper fLooper;
|
| public:
|
| TilingView()
|
| : fLooper(0x88000000,
|
| SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(1)),
|
| SkIntToScalar(2), SkIntToScalar(2)) {
|
| - fTextPicture = new SkPicture();
|
| for (size_t i = 0; i < SK_ARRAY_COUNT(gColorTypes); i++) {
|
| makebm(&fTexture[i], gColorTypes[i], gWidth, gHeight);
|
| }
|
| }
|
|
|
| - ~TilingView() {
|
| - fTextPicture->unref();
|
| + virtual ~TilingView() {
|
| }
|
|
|
| SkBitmap fTexture[SK_ARRAY_COUNT(gColorTypes)];
|
| @@ -105,12 +103,13 @@
|
| SkScalar y = SkIntToScalar(24);
|
| SkScalar x = SkIntToScalar(10);
|
|
|
| + SkPictureRecorder recorder;
|
| SkCanvas* textCanvas = NULL;
|
| if (fTextPicture->width() == 0) {
|
| - textCanvas = fTextPicture->beginRecording(1000, 1000);
|
| + textCanvas = recorder.beginRecording(1000, 1000);
|
| }
|
|
|
| - if (textCanvas) {
|
| + if (NULL != textCanvas) {
|
| for (size_t kx = 0; kx < SK_ARRAY_COUNT(gModes); kx++) {
|
| for (size_t ky = 0; ky < SK_ARRAY_COUNT(gModes); ky++) {
|
| SkPaint p;
|
| @@ -160,6 +159,8 @@
|
| }
|
| }
|
|
|
| + fTextPicture.reset(recorder.endRecording());
|
| +
|
| canvas->drawPicture(*fTextPicture);
|
| }
|
|
|
|
|