summaryrefslogtreecommitdiffstats
path: root/canvas/source/vcl/sprite.hxx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2005-05-06 08:17:56 +0000
committerOliver Bolte <obo@openoffice.org>2005-05-06 08:17:56 +0000
commita8922b223450664b178b9fd8c58ef43cfea39fd5 (patch)
tree4e4ce0cc938e9f306dc176ecae41d3cd27e8327d /canvas/source/vcl/sprite.hxx
parentINTEGRATION: CWS presfixes06 (1.6.2); FILE MERGED (diff)
downloadcore-a8922b223450664b178b9fd8c58ef43cfea39fd5.tar.gz
core-a8922b223450664b178b9fd8c58ef43cfea39fd5.zip
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.hxx34
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;
};
}