aboutsummaryrefslogtreecommitdiff
path: root/samplecode/SampleApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/SampleApp.cpp')
-rw-r--r--samplecode/SampleApp.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 102c67a90b..1676fc3b13 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -332,8 +332,8 @@ public:
return nullptr;
}
- void publishCanvas(SampleWindow::DeviceType dType, SkSurface* surface,
- SampleWindow* win) override {
+ void publishCanvas(SampleWindow::DeviceType dType,
+ SkCanvas* renderingCanvas, SampleWindow* win) override {
#if SK_SUPPORT_GPU
if (!IsGpuDeviceType(dType) ||
kRGBA_F16_SkColorType == win->info().colorType() ||
@@ -345,7 +345,7 @@ public:
auto data = SkData::MakeUninitialized(size);
SkASSERT(data);
- if (!surface->readPixels(info, data->writable_data(), rowBytes, 0, 0)) {
+ if (!renderingCanvas->readPixels(info, data->writable_data(), rowBytes, 0, 0)) {
SkDEBUGFAIL("Failed to read canvas pixels");
return;
}
@@ -1091,14 +1091,6 @@ static void drawText(SkCanvas* canvas, SkString str, SkScalar left, SkScalar top
#include "SkDeferredCanvas.h"
#include "SkDumpCanvas.h"
-void SampleWindow::drawIntoSurface() {
- auto surf = this->makeSurface();
-
- this->draw(surf->getCanvas());
-
- fDevManager->publishCanvas(fDeviceType, surf.get(), this);
-}
-
void SampleWindow::draw(SkCanvas* canvas) {
std::unique_ptr<SkThreadedBMPDevice> tDev;
std::unique_ptr<SkCanvas> tCanvas;
@@ -1172,6 +1164,9 @@ void SampleWindow::draw(SkCanvas* canvas) {
}
canvas->flush();
+
+ // do this last
+ fDevManager->publishCanvas(fDeviceType, canvas, this);
}
static float clipW = 200;