aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/views
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-07-23 10:28:31 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-23 15:59:48 +0000
commit7b215bcad3034aca262ca4eeebe31b5e8868638b (patch)
tree6a1950a9ad5c03fb92eefcbed7d682e7464c50ee /src/views
parent91ff3c15df0c93779710783c24c8167e22f1d989 (diff)
pass surface to device-manager
Bug: skia:3216 Change-Id: I8e00e9eca3763593a4071c16a3ab04c46bf83a3e Reviewed-on: https://skia-review.googlesource.com/26020 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/views')
-rw-r--r--src/views/SkWindow.cpp4
-rw-r--r--src/views/mac/SkNSView.mm7
2 files changed, 5 insertions, 6 deletions
diff --git a/src/views/SkWindow.cpp b/src/views/SkWindow.cpp
index ba06a1f3c2..f01368b265 100644
--- a/src/views/SkWindow.cpp
+++ b/src/views/SkWindow.cpp
@@ -35,6 +35,10 @@ sk_sp<SkSurface> SkWindow::makeSurface() {
return SkSurface::MakeRasterDirect(bm.info(), bm.getPixels(), bm.rowBytes(), &fSurfaceProps);
}
+void SkWindow::drawIntoSurface() {
+ this->draw(this->makeSurface()->getCanvas());
+}
+
void SkWindow::setMatrix(const SkMatrix& matrix) {
if (fMatrix != matrix) {
fMatrix = matrix;
diff --git a/src/views/mac/SkNSView.mm b/src/views/mac/SkNSView.mm
index 64c02ca2a5..7366c5c1c8 100644
--- a/src/views/mac/SkNSView.mm
+++ b/src/views/mac/SkNSView.mm
@@ -13,7 +13,6 @@
static_assert(SK_SUPPORT_GPU, "not_implemented_for_non_gpu_build");
#include <OpenGL/gl.h>
-//#define FORCE_REDRAW
// Can be dropped when we no longer support 10.6.
#if defined(MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
#define RETINA_API_AVAILABLE 1
@@ -140,11 +139,7 @@ BOOL fRedrawRequestPending;
- (void)drawSkia {
fRedrawRequestPending = false;
if (fWind) {
- sk_sp<SkSurface> surface(fWind->makeSurface());
- fWind->draw(surface->getCanvas());
-#ifdef FORCE_REDRAW
- fWind->inval(NULL);
-#endif
+ fWind->drawIntoSurface();
}
}