#include "SkBitmap.h"
#include "SkBitmapRef.h"
#include "SkCanvas.h"
+#include "SkPicture.h"
#include "TilesManager.h"
#include <EGL/egl.h>
SkCanvas canvas(bitmap);
canvas.drawARGB(255, 255, 255, 255);
- canvas.save();
- canvas.scale(scale, scale);
- canvas.translate(tx, ty);
- int pictureCount = tiledPage->paintBaseLayerContent(&canvas);
- canvas.restore();
+ SkPicture picture;
+ SkCanvas* nCanvas = picture.beginRecording(rect.width(), rect.height());
+ nCanvas->scale(scale, scale);
+ nCanvas->translate(tx, ty);
+ int pictureCount = tiledPage->paintBaseLayerContent(nCanvas);
+ picture.endRecording();
+ picture.draw(&canvas);
if (TilesManager::instance()->getShowVisualIndicator()) {
int color = 20 + pictureCount % 100;
float scale = texture->scale();
IntRect textureRect = texture->rect();
-
- canvas->save();
canvas->drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode);
- canvas->scale(scale, scale);
- canvas->translate(-textureRect.x(), -textureRect.y());
- contentDraw(canvas);
- canvas->restore();
+
+ SkPicture picture;
+ SkCanvas* nCanvas = picture.beginRecording(textureRect.width(),
+ textureRect.height());
+ nCanvas->scale(scale, scale);
+ nCanvas->translate(-textureRect.x(), -textureRect.y());
+ contentDraw(nCanvas);
+ picture.endRecording();
+ picture.draw(canvas);
m_atomicSync.lock();
texture->setTextureInfoFor(this);