From 05522ebf66160364bd5dceb4e59f69ece33930db Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Fri, 13 Sep 2002 04:50:31 +0000 Subject: [PATCH] Allow padding to be specified for sprite icons. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1678 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../threerings/media/sprite/SpriteIcon.java | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/java/com/threerings/media/sprite/SpriteIcon.java b/src/java/com/threerings/media/sprite/SpriteIcon.java index 9adf9379e..6242567c0 100644 --- a/src/java/com/threerings/media/sprite/SpriteIcon.java +++ b/src/java/com/threerings/media/sprite/SpriteIcon.java @@ -1,5 +1,5 @@ // -// $Id: SpriteIcon.java,v 1.2 2002/05/16 03:00:29 mdb Exp $ +// $Id: SpriteIcon.java,v 1.3 2002/09/13 04:50:31 mdb Exp $ package com.threerings.media.sprite; @@ -24,8 +24,26 @@ public class SpriteIcon implements Icon * {@link #setOriginOffset}. */ public SpriteIcon (Sprite sprite) + { + this(sprite, 0); + } + + /** + * Creates a sprite icon that will use the supplied sprite to render + * itself. This sprite should not be used for anything else while + * being used in this icon because it will be "moved" when the icon is + * rendered. The sprite's origin will be set to the bottom center of + * the label. If this is undesirable, the origin can be offset via + * {@link #setOriginOffset}. + * + * @param sprite the sprite to render in this label. + * @param padding the number of pixels of blank space to put on all + * four sides of the sprite. + */ + public SpriteIcon (Sprite sprite, int padding) { _sprite = sprite; + _padding = padding; } /** @@ -44,26 +62,29 @@ public class SpriteIcon implements Icon { // move the sprite to a "location" that is in the bottom center of // our bounds (plus whatever offsets we have) - _sprite.setLocation(x + _sprite.getWidth()/2 + _offx, - y + _sprite.getHeight() + _offy); + _sprite.setLocation(x + _sprite.getWidth()/2 + _offx + _padding, + y + _sprite.getHeight() + _offy + _padding); _sprite.paint((Graphics2D)g); } // documentation inherited from interface public int getIconWidth () { - return _sprite.getWidth(); + return _sprite.getWidth() + 2*_padding; } // documentation inherited from interface public int getIconHeight () { - return _sprite.getHeight(); + return _sprite.getHeight() + 2*_padding; } /** The sprite used to render this icon. */ protected Sprite _sprite; + /** Used to put a bit of padding around the sprite image. */ + protected int _padding; + /** Origin offsets to use when rendering the icon. */ protected int _offx, _offy; }