summaryrefslogtreecommitdiffstats
path: root/gfx/canvas.h
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-29 22:08:44 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-29 22:08:44 +0000
commitbd026803b2a3db66f2003f83c4b7e627c71828a2 (patch)
treee45b18ae05095ffae9201fe8ec905bf1fef25e50 /gfx/canvas.h
parent6a649b71db4df80493abfb125e0a71738d4d9d8a (diff)
downloadchromium_src-bd026803b2a3db66f2003f83c4b7e627c71828a2.zip
chromium_src-bd026803b2a3db66f2003f83c4b7e627c71828a2.tar.gz
chromium_src-bd026803b2a3db66f2003f83c4b7e627c71828a2.tar.bz2
Canvas refactoring Phase 4a:
Move Save, SaveLayerAlpha and Restore onto gfx::Canvas. BUG=none TEST=none Review URL: http://codereview.chromium.org/2846035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51179 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gfx/canvas.h')
-rw-r--r--gfx/canvas.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/gfx/canvas.h b/gfx/canvas.h
index d66db03..90495cd 100644
--- a/gfx/canvas.h
+++ b/gfx/canvas.h
@@ -66,6 +66,21 @@ class Canvas {
// Creates a canvas with the specified size.
static Canvas* CreateCanvas(int width, int height, bool is_opaque);
+ // Saves a copy of the drawing state onto a stack, operating on this copy
+ // until a balanced call to Restore() is made.
+ virtual void Save() = 0;
+
+ // As with Save(), except draws to a layer that is blended with the canvas
+ // at the specified alpha once Restore() is called.
+ // |layer_bounds| are the bounds of the layer relative to the current
+ // transform.
+ virtual void SaveLayerAlpha(U8CPU alpha) = 0;
+ virtual void SaveLayerAlpha(U8CPU alpha, const gfx::Rect& layer_bounds) = 0;
+
+ // Restores the drawing state after a call to Save*(). It is an error to
+ // call Restore() more times than Save*().
+ virtual void Restore() = 0;
+
// Retrieves the clip rectangle and sets it in the specified rectangle if any.
// Returns true if the clip rect is non-empty.
virtual bool GetClipRect(gfx::Rect* clip_rect) = 0;