aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/viewer/Viewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/viewer/Viewer.cpp')
-rw-r--r--tools/viewer/Viewer.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index 566ab80cc2..5d8b431e93 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -28,6 +28,7 @@
#include "SkFontMgrPriv.h"
#include "SkGraphics.h"
#include "SkImagePriv.h"
+#include "SkMakeUnique.h"
#include "SkOSFile.h"
#include "SkOSPath.h"
#include "SkPaintFilterCanvas.h"
@@ -1027,7 +1028,6 @@ void Viewer::drawSlide(SkCanvas* canvas) {
// we need to render offscreen. We also need to render offscreen if we're in any raster mode,
// because the window surface is actually GL.
sk_sp<SkSurface> offscreenSurface = nullptr;
- std::unique_ptr<SkThreadedBMPDevice> threadedDevice;
std::unique_ptr<SkCanvas> threadedCanvas;
if (Window::kRaster_BackendType == fBackendType ||
ColorMode::kColorManagedLinearF16 == fColorMode ||
@@ -1052,9 +1052,10 @@ void Viewer::drawSlide(SkCanvas* canvas) {
if (fTileCnt > 0 && offscreenSurface->peekPixels(&offscreenPixmap)) {
SkBitmap offscreenBitmap;
offscreenBitmap.installPixels(offscreenPixmap);
- threadedDevice.reset(new SkThreadedBMPDevice(offscreenBitmap, fTileCnt,
- fThreadCnt, fExecutor.get()));
- threadedCanvas.reset(new SkCanvas(threadedDevice.get()));
+ threadedCanvas =
+ skstd::make_unique<SkCanvas>(
+ sk_make_sp<SkThreadedBMPDevice>(
+ offscreenBitmap, fTileCnt, fThreadCnt, fExecutor.get()));
slideCanvas = threadedCanvas.get();
} else {
slideCanvas = offscreenSurface->getCanvas();