| 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_;
|
|
|