summaryrefslogtreecommitdiff
path: root/src/gfx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gfx.cpp')
-rw-r--r--src/gfx.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gfx.cpp b/src/gfx.cpp
index 5862e7ee0..300a33ecf 100644
--- a/src/gfx.cpp
+++ b/src/gfx.cpp
@@ -1116,13 +1116,19 @@ skip_cont:;
/**
* Get the size of a sprite.
* @param sprid Sprite to examine.
+ * @param [out] offset Optionally returns the sprite position offset.
* @return Sprite size in pixels.
* @note The size assumes (0, 0) as top-left coordinate and ignores any part of the sprite drawn at the left or above that position.
*/
-Dimension GetSpriteSize(SpriteID sprid)
+Dimension GetSpriteSize(SpriteID sprid, Point *offset)
{
const Sprite *sprite = GetSprite(sprid, ST_NORMAL);
+ if (offset != NULL) {
+ offset->x = sprite->x_offs;
+ offset->y = sprite->y_offs;
+ }
+
Dimension d;
d.width = max<int>(0, sprite->x_offs + sprite->width);
d.height = max<int>(0, sprite->y_offs + sprite->height);