diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-10-07 00:12:32 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-10-07 00:12:32 +0000 |
commit | a246c08cef5e4d598fc07a681eb971bfbcf01519 (patch) | |
tree | ff1813b11379ddef2c5be627aafcf3329170a293 /src/sprite.h | |
parent | 09db562f2fca5c49fa1a92ba0b6dc60db479ae08 (diff) | |
download | mana-a246c08cef5e4d598fc07a681eb971bfbcf01519.tar.gz mana-a246c08cef5e4d598fc07a681eb971bfbcf01519.tar.bz2 mana-a246c08cef5e4d598fc07a681eb971bfbcf01519.tar.xz mana-a246c08cef5e4d598fc07a681eb971bfbcf01519.zip |
Modified finding NPC as by timonator's suggestion in order to allow NPCs to be
clicked on their heads too. Also made start to tile engine improvement by
adding the Sprite class that is now used by the floor items for being displayed
on the map. Finally added documentation to Item class and splitted out
Properties class from Map.
Diffstat (limited to 'src/sprite.h')
-rw-r--r-- | src/sprite.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/sprite.h b/src/sprite.h new file mode 100644 index 00000000..97851138 --- /dev/null +++ b/src/sprite.h @@ -0,0 +1,76 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + +#ifndef _TMW_SPRITE_H_ +#define _TMW_SPRITE_H_ + +#include "graphics.h" + +/** + * A sprite is some visible object on a map. + */ +class Sprite +{ + public: + /** + * Constructor. + */ + Sprite(int x = 0, int y = 0, Image *image = NULL): + mX(x), + mY(y), + mImage(image) + { + } + + /** + * Draws the sprite to the given graphics context. + * + * Note: this function could be simplified if the graphics context + * would support setting a translation offset. It already does this + * partly with the clipping rectangle support. + */ + void + draw(Graphics *graphics, int offsetX, int offsetY) + { + graphics->drawImage(mImage, mX + offsetX, mY + offsetY); + } + + /** + * Returns the X coordinate of the sprite. + */ + int + getY() const { return mY; } + + /** + * Returns the Y coordinate of the sprite. + */ + int + getX() const { return mX; } + + private: + int mX; /**< X coordinate in pixels. */ + int mY; /**< Y coordinate in pixels. */ + Image *mImage; /**< The image currently representing this sprite. */ +}; + +#endif |