Added different textures for each ptolemaic camel rank
[0ad.git] / source / gui / CButton.h
blob2edf9d501536a8f7a8afce864c381cc36bf0924d
1 /* Copyright (C) 2009 Wildfire Games.
2 * This file is part of 0 A.D.
4 * 0 A.D. is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
9 * 0 A.D. is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
19 GUI Object - Button
21 --Overview--
23 GUI Object representing a simple button
25 --More info--
27 Check GUI.h
31 #ifndef INCLUDED_CBUTTON
32 #define INCLUDED_CBUTTON
34 //--------------------------------------------------------
35 // Includes / Compiler directives
36 //--------------------------------------------------------
37 #include "GUI.h"
39 //--------------------------------------------------------
40 // Macros
41 //--------------------------------------------------------
43 //--------------------------------------------------------
44 // Types
45 //--------------------------------------------------------
47 //--------------------------------------------------------
48 // Declarations
49 //--------------------------------------------------------
51 /**
52 * Button
54 * @see IGUIObject
55 * @see IGUIButtonBehavior
57 class CButton : public IGUIButtonBehavior, public IGUITextOwner
59 GUI_OBJECT(CButton)
61 public:
62 CButton();
63 virtual ~CButton();
65 /**
66 * @see IGUIObject#ResetStates()
68 virtual void ResetStates() { IGUIButtonBehavior::ResetStates(); }
70 /**
71 * @see IGUIObject#HandleMessage()
73 virtual void HandleMessage(SGUIMessage &Message);
75 /**
76 * Draws the Button
78 virtual void Draw();
80 protected:
81 /**
82 * Sets up text, should be called every time changes has been
83 * made that can change the visual.
85 void SetupText();
87 /**
88 * Placement of text.
90 CPos m_TextPos;
93 #endif