00001 /********************************************************************************/ 00002 /* */ 00003 /* Netrinjo-Engine - a library for game-development */ 00004 /* Copyright (C) 2005 by Tobias Nadler */ 00005 /* */ 00006 /* This library is free software; you can redistribute it and/or */ 00007 /* modify it under the terms of the GNU Lesser General Public */ 00008 /* License as published by the Free Software Foundation; either */ 00009 /* version 2.1 of the License, or (at your option) any later version. */ 00010 /* */ 00011 /* This library is distributed in the hope that it will be useful, */ 00012 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00013 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ 00014 /* Lesser General Public License for more details. */ 00015 /* */ 00016 /* You should have received a copy of the GNU Lesser General Public */ 00017 /* License along with this library; if not, write to the Free Software */ 00018 /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 00019 /* */ 00020 /********************************************************************************/ 00021 00022 #ifndef GUICURSOR_H 00023 #define GUICURSOR_H 00024 00025 #include "SDL/SDL.h" 00026 #include "guibackground.h" 00027 #include "tinyxml.h" 00028 00044 class DECLSPEC GuiCursor : public GuiPictureBg 00045 { 00046 public: 00054 DECLSPEC GuiCursor( const SDL_Rect &r, GuiElement *p, const char *name, SdlSurface *bmp, Uint16 x, Uint16 y ); 00055 DECLSPEC GuiCursor( TiXmlElement *el, GuiElement *p ); 00056 virtual DECLSPEC ~GuiCursor(); 00057 00058 virtual const char *getClassName() { return "GuiCursor"; } 00066 void setHotPoint( Uint16 x, Uint16 y ) { xHot = x; yHot = y; } 00067 00068 static void newguiobject(void *presult, BasicObject *o, void *xmldata) 00069 { 00070 GuiElement *r = new GuiCursor((TiXmlElement*)xmldata, (GuiElement*)o); 00071 *(GuiElement**)presult = r; 00072 } 00073 00074 protected: 00081 virtual DECLSPEC Uint32 onMouseMove( Uint32 x, Uint32 y ); 00082 virtual DECLSPEC void onInit(); 00083 00084 private: 00085 // the coordinate of the hot point (relative to the cursor's top-left position) 00086 int xHot, yHot; 00087 }; 00088 00089 #endif