Index: skia/ext/canvas_paint_x.h |
diff --git a/skia/ext/canvas_paint_x.h b/skia/ext/canvas_paint_x.h |
index a9f51d2026f83e9769d710f5d83ceaf3b62b38d8..e8e3c68bedc410230baba755f106ca66e6c72a60 100644 |
--- a/skia/ext/canvas_paint_x.h |
+++ b/skia/ext/canvas_paint_x.h |
@@ -7,6 +7,7 @@ |
#pragma once |
#include "base/logging.h" |
+#include "skia/ext/canvas_paint_common.h" |
#include "skia/ext/platform_canvas.h" |
#include <cairo/cairo.h> |
@@ -41,7 +42,8 @@ class CanvasPaintT : public T { |
virtual ~CanvasPaintT() { |
if (!is_empty()) { |
- T::restoreToCount(1); |
+ PlatformCanvas* canvas = GetPlatformCanvas(this); |
+ canvas->restoreToCount(1); |
// Blit the dirty rect to the window. |
CHECK(cairo_window_surface_); |
@@ -81,16 +83,18 @@ class CanvasPaintT : public T { |
private: |
void init(bool opaque) { |
- if (!T::initialize(region_->width, region_->height, opaque, NULL)) { |
+ PlatformCanvas* canvas = GetPlatformCanvas(this); |
+ if (!canvas->initialize(region_->width, region_->height, opaque, NULL)) { |
// Cause a deliberate crash; |
CHECK(false); |
} |
// Need to translate so that the dirty region appears at the origin of the |
// surface. |
- T::translate(-SkDoubleToScalar(region_->x), -SkDoubleToScalar(region_->y)); |
+ canvas->translate(-SkDoubleToScalar(region_->x), |
+ -SkDoubleToScalar(region_->y)); |
- context_ = BeginPlatformPaint(this); |
+ context_ = BeginPlatformPaint(canvas); |
} |
cairo_t* context_; |