diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-05-06 08:17:56 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-05-06 08:17:56 +0000 |
commit | a8922b223450664b178b9fd8c58ef43cfea39fd5 (patch) | |
tree | 4e4ce0cc938e9f306dc176ecae41d3cd27e8327d /canvas/source/vcl/sprite.hxx | |
parent | 789f0d2963406f06c23dbac12b515ce73e114e82 (diff) |
INTEGRATION: CWS presfixes06 (1.4.8); FILE MERGED
2005/04/30 23:56:17 thb 1.4.8.1: #i43238# Largely reworked the update area optimization; now also serving the needs of the RedrawManager to determine whether we can update without backbuffer output preparation; En passant, also fixed a bug that output pos and scale where calculated wrong, if a shape transformation was set but not changed for a sprite redraw
Diffstat (limited to 'canvas/source/vcl/sprite.hxx')
-rw-r--r-- | canvas/source/vcl/sprite.hxx | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/canvas/source/vcl/sprite.hxx b/canvas/source/vcl/sprite.hxx index dcaaa7a85ef5..4dff9fdeb973 100644 --- a/canvas/source/vcl/sprite.hxx +++ b/canvas/source/vcl/sprite.hxx @@ -2,9 +2,9 @@ * * $RCSfile: sprite.hxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: vg $ $Date: 2005-03-10 12:00:43 $ + * last change: $Author: obo $ $Date: 2005-05-06 09:17:56 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -94,13 +94,35 @@ namespace vclcanvas virtual ~Sprite() {} + /** Repaint whole sprite on given target surface + */ virtual void redraw( OutputDevice& rTargetSurface ) const = 0; - virtual void redraw( OutputDevice& rTargetSurface, const Point& rOutputPosition ) const = 0; - virtual ::basegfx::B2DPoint getPos() const = 0; + /** Repaint sprite. - // TODO(Q3): Rename method, it hides XBitmap::getSize() - virtual ::basegfx::B2DSize getSize() const = 0; + @param rTargetSurface + Target surface to output sprite content + + @param rOutputPos + Position where to render the sprite (overrides the + sprite's output position) + */ + virtual void redraw( OutputDevice& rTargetSurface, + const Point& rOutputPos ) const = 0; + + /** Query whether sprite update will fully cover the given area. + + Use this method to determine whether any background + content (regardless of static or sprite) needs an update + before rendering this sprite. + + @return true, if sprite redraw will fully overwrite given + area. + */ + virtual bool isAreaUpdateOpaque( const Rectangle& rUpdateArea ) const = 0; + + virtual ::basegfx::B2DPoint getSpritePos() const = 0; + virtual ::basegfx::B2DSize getSpriteSize() const = 0; }; } |