summaryrefslogtreecommitdiffstats
path: root/gfx
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-30 22:02:11 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-30 22:02:11 +0000
commitb9527d57c08210ca3273633048445722b3244357 (patch)
tree155a1add971e8d8fbc24b866d0a3bdc318f5f468 /gfx
parent937105b42b6f50d9a29aa7180b939324da80911e (diff)
downloadchromium_src-b9527d57c08210ca3273633048445722b3244357.zip
chromium_src-b9527d57c08210ca3273633048445722b3244357.tar.gz
chromium_src-b9527d57c08210ca3273633048445722b3244357.tar.bz2
Canvas refactoring phase 4b:
Add BeginPlatformPaint/EndPlatformPaint calls to gfx::Canvas. BeginPlatformPaint() returns a gfx::NativeDrawingContext. BUG=none TEST=none Review URL: http://codereview.chromium.org/2840029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51297 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gfx')
-rw-r--r--gfx/canvas.h8
-rw-r--r--gfx/canvas_skia.cc8
-rw-r--r--gfx/canvas_skia.h2
3 files changed, 18 insertions, 0 deletions
diff --git a/gfx/canvas.h b/gfx/canvas.h
index 90495cd..430a88f 100644
--- a/gfx/canvas.h
+++ b/gfx/canvas.h
@@ -184,6 +184,14 @@ class Canvas {
virtual void TileImageInt(const SkBitmap& bitmap, int src_x, int src_y,
int dest_x, int dest_y, int w, int h) = 0;
+ // Returns a native drawing context for platform specific drawing routines to
+ // use. Must be balanced by a call to EndPlatformPaint().
+ virtual gfx::NativeDrawingContext BeginPlatformPaint() = 0;
+
+ // Signifies the end of platform drawing using the native drawing context
+ // returned by BeginPlatformPaint().
+ virtual void EndPlatformPaint() = 0;
+
// TODO(beng): remove this once we don't need to use any skia-specific methods
// through this interface.
// A quick and dirty way to obtain the underlying SkCanvas.
diff --git a/gfx/canvas_skia.cc b/gfx/canvas_skia.cc
index 28a3596..fbf26c9 100644
--- a/gfx/canvas_skia.cc
+++ b/gfx/canvas_skia.cc
@@ -298,6 +298,14 @@ void CanvasSkia::TileImageInt(const SkBitmap& bitmap, int src_x, int src_y,
restore();
}
+gfx::NativeDrawingContext CanvasSkia::BeginPlatformPaint() {
+ return beginPlatformPaint();
+}
+
+void CanvasSkia::EndPlatformPaint() {
+ endPlatformPaint();
+}
+
CanvasSkia* CanvasSkia::AsCanvasSkia() {
return this;
}
diff --git a/gfx/canvas_skia.h b/gfx/canvas_skia.h
index 1648cbe..e3633a5 100644
--- a/gfx/canvas_skia.h
+++ b/gfx/canvas_skia.h
@@ -122,6 +122,8 @@ class CanvasSkia : public skia::PlatformCanvas,
virtual void TileImageInt(const SkBitmap& bitmap, int x, int y, int w, int h);
virtual void TileImageInt(const SkBitmap& bitmap, int src_x, int src_y,
int dest_x, int dest_y, int w, int h);
+ virtual gfx::NativeDrawingContext BeginPlatformPaint();
+ virtual void EndPlatformPaint();
virtual CanvasSkia* AsCanvasSkia();
virtual const CanvasSkia* AsCanvasSkia() const;