1
0
forked from 0ad/0ad
0ad/source/gui/CButton.h

98 lines
1.9 KiB
C
Raw Normal View History

/*
GUI Object - Button
by Gustav Larsson
gee@pyro.nu
--Overview--
GUI Object representing a simple button
--More info--
Check GUI.h
*/
#ifndef CButton_H
#define CButton_H
//--------------------------------------------------------
// Includes / Compiler directives
//--------------------------------------------------------
#include "GUI.h"
//--------------------------------------------------------
// Macros
//--------------------------------------------------------
//--------------------------------------------------------
// Types
//--------------------------------------------------------
//--------------------------------------------------------
// Declarations
//--------------------------------------------------------
/**
* Button Settings
*/
struct SButtonSettings
{
bool m_Disabled;
CStr m_Font;
CStr m_Sprite;
CStr m_SpriteDisabled;
CStr m_SpriteOver;
CStr m_SpritePressed;
EAlign m_TextAlign;
CColor m_TextColor;
CColor m_TextColorDisabled;
CColor m_TextColorOver;
CColor m_TextColorPressed;
EValign m_TextValign;
CStr m_ToolTip;
CStr m_ToolTipStyle;
};
///////////////////////////////////////////////////////////////////////////////
/**
* @author Gustav Larsson
*
* Button
*
2003-11-24 03:18:41 +01:00
* @see IGUIObject
* @see IGUISettingsObject
* @see IGUIButtonBehavior
* @see SButtonSettings
*/
2003-11-24 03:18:41 +01:00
class CButton : public IGUISettingsObject<SButtonSettings>, public IGUIButtonBehavior
{
GUI_OBJECT(CButton)
public:
CButton();
virtual ~CButton();
/**
* Since we're doing multiple inheritance, this is to avoid error message
*
* @return Settings infos
*/
2003-11-24 03:18:41 +01:00
virtual map_Settings GetSettingsInfo() const { return IGUISettingsObject<SButtonSettings>::m_SettingsInfo; }
/**
* Handle Messages
*
* @param Message GUI Message
*/
virtual void HandleMessage(const EGUIMessage &Message);
/**
* Draws the Button
*/
virtual void Draw();
};
2003-11-24 18:13:37 +01:00
#endif