mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-06-16 21:34:08 -07:00
Moves the AddSetting sound calls from CButton and CCheckbox to IGUIButtonBehavior, since the latter is the only class to use them. Moves ChooseColor from IGUIButtonBehavior to CButton, since that's the only class to use it and the only class registering the dependent Settings followingb1422137e5(refsd412b2010b/ D2314) Initialize m_PressedRight in the constructor to prevent undefined behavior in possible future code following0d204037b6, refs #1028. Remove unused soundPath variable following0e26503cc6/ D2209. Differential Revision: https://code.wildfiregames.com/D2318 Tested on: clang 8.0.1, Jenkins This was SVN commit r22969.
66 lines
1.5 KiB
C++
66 lines
1.5 KiB
C++
/* Copyright (C) 2019 Wildfire Games.
|
|
* This file is part of 0 A.D.
|
|
*
|
|
* 0 A.D. 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
|
|
* (at your option) any later version.
|
|
*
|
|
* 0 A.D. 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 0 A.D. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef INCLUDED_CBUTTON
|
|
#define INCLUDED_CBUTTON
|
|
|
|
#include "gui/IGUIButtonBehavior.h"
|
|
#include "gui/IGUIObject.h"
|
|
#include "gui/IGUITextOwner.h"
|
|
|
|
class CButton : public IGUIButtonBehavior, public IGUITextOwner
|
|
{
|
|
GUI_OBJECT(CButton)
|
|
|
|
public:
|
|
CButton(CGUI& pGUI);
|
|
virtual ~CButton();
|
|
|
|
/**
|
|
* @see IGUIObject#ResetStates()
|
|
*/
|
|
virtual void ResetStates() { IGUIButtonBehavior::ResetStates(); }
|
|
|
|
/**
|
|
* @see IGUIObject#HandleMessage()
|
|
*/
|
|
virtual void HandleMessage(SGUIMessage& Message);
|
|
|
|
/**
|
|
* Draws the Button
|
|
*/
|
|
virtual void Draw();
|
|
|
|
protected:
|
|
/**
|
|
* Sets up text, should be called every time changes has been
|
|
* made that can change the visual.
|
|
*/
|
|
void SetupText();
|
|
|
|
/**
|
|
* Picks the text color depending on current object settings.
|
|
*/
|
|
const CGUIColor& ChooseColor();
|
|
|
|
/**
|
|
* Placement of text.
|
|
*/
|
|
CPos m_TextPos;
|
|
};
|
|
|
|
#endif // INCLUDED_CBUTTON
|