-
/*
* Copyright 2011 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
+
#include "SkWindow.h"
#include "SkCanvas.h"
-#include "SkDevice.h"
#include "SkOSMenu.h"
+#include "SkSurface.h"
#include "SkSystemEventTypes.h"
#include "SkTime.h"
fMenus.deleteAll();
}
-SkCanvas* SkWindow::createCanvas() {
- return new SkCanvas(this->getBitmap());
+SkSurface* SkWindow::createSurface() {
+ const SkBitmap& bm = this->getBitmap();
+ return SkSurface::NewRasterDirect(bm.info(), bm.getPixels(), bm.rowBytes());
}
void SkWindow::setMatrix(const SkMatrix& matrix) {
bm.setPixels(buffer);
#endif
- SkAutoTUnref<SkCanvas> canvas(this->createCanvas());
+ SkAutoTUnref<SkSurface> surface(this->createSurface());
+ SkCanvas* canvas = surface->getCanvas();
canvas->clipRegion(fDirtyRgn);
if (updateArea)