Simple SFML GUI  0.2a
Public Member Functions | List of all members
Button Class Reference

Pressable button with some configuration options. More...

#include <Button.hpp>

Inheritance diagram for Button:
Inheritance graph
[legend]
Collaboration diagram for Button:
Collaboration graph
[legend]

Public Member Functions

 Button ()
 Default constructor.
 
 Button (const Button &button)
 
 Button (std::function< void(Button &)> &&action)
 Action only constructor.
 
 Button (std::function< void()> &&action)
 Void action only constructor.
 
 Button (const sf::String &name)
 Name only constructor. Text will be same as name.
 
 Button (const sf::String &name, std::function< void(Button &)> &&action)
 Like above plus action object.
 
 Button (const sf::String &name, std::function< void()> &&action)
 Like above plus action object.
 
 Button (const sf::String &name, const sf::String &text)
 Different name and text constructor.
 
 Button (const sf::String &name, const sf::String &text, std::function< void(Button &)> &&action)
 Full constructor.
 
 Button (const sf::String &name, const sf::String &text, std::function< void()> &&action)
 Full constructor.
 
virtual void draw (sf::RenderTarget &target, sf::RenderStates states)
 
virtual bool update (sf::Vector2f mp, bool pressLeft, bool pressRight, bool aboveHover)
 
virtual void updateArea ()
 
TextLabelgetLabel ()
 
const TextLabelgetLabel () const
 
- Public Member Functions inherited from Pressable< Button &>
virtual bool setPressed (bool pressed)
 
virtual bool setPressedAlt (bool pressed)
 
sf::Keyboard::Key getHotKey () const
 
void setHotKey (sf::Keyboard::Key hotKey)
 
void setStickyPress (bool stickyPress)
 
void setIgnoreAbove (bool value)
 
void setIgnoreDialogs (bool value)
 
void setIgnoreTextInputable (bool value)
 
- Public Member Functions inherited from FocusAction< Button & >
virtual void onFocusGain ()
 
virtual void onFocusLost ()
 
- Public Member Functions inherited from Element
 Element (const Element *parent=nullptr)
 
 Element (const Element &element)
 
Elementoperator= (const Element &)
 
void mainDraw (sf::RenderTarget &target, const sf::RenderStates &states=sf::RenderStates())
 
void mainUpdate (sf::RenderWindow &rw)
 
void setParent (const Element *parent)
 
const ElementgetParent () const
 
virtual bool setRelativeViewport (sf::RenderTarget &target, const sf::FloatRect *area=nullptr) const
 
bool isMaximized () const
 
void setMaximized (bool maximized)
 
void setMaximizationMode (MaximizationMode value)
 
sf::Vector2f getPosition () const
 
sf::Vector2f getSize () const
 
virtual void setSize (sf::Vector2f)
 
virtual void setPosition (sf::Vector2f)
 
void move (sf::Vector2f)
 
sf::FloatRect & getArea ()
 
const sf::FloatRect & getArea () const
 
void fitToWindow (const sf::RenderWindow &rw)
 
void setArea (const sf::FloatRect &area)
 
const sf::FloatRect & getRelativeArea () const
 
sf::Vector2f getRelativeViewportCenterShift () const
 
sf::Vector2f getViewportCenterShift () const
 
void setViewportCenterShift (const sf::Vector2f &value)
 
sf::String getParentName () const
 
sf::String getTypeName () const
 
sf::FloatRect getClippedArea () const
 
sf::FloatRect computeRelativeArea () const
 
- Public Member Functions inherited from HaveName
 HaveName (const sf::String &n=L"")
 
const sf::String & getName () const
 
void setName (const sf::String &name)
 
- Public Member Functions inherited from HaveFocus
 HaveFocus (bool focus=false)
 
bool isFocus () const
 
void setFocus (bool focus)
 
- Public Member Functions inherited from HaveVisible
 HaveVisible (bool v=true)
 
bool isVisible () const
 
void setVisible (bool visible)
 
- Public Member Functions inherited from HaveAction< Button & >
virtual void onSetAction (const sf::String &type)
 
virtual void setAction (function_type &&action, const sf::String &type=ActionType::main)
 
virtual void setAction (function_type &action, const sf::String &type=ActionType::main)
 
virtual void setAction (std::function< void()> &&action, const sf::String &type=ActionType::main)
 
virtual void setAction (std::function< void()> &action, const sf::String &type=ActionType::main)
 
virtual void doAction (const sf::String &type=ActionType::main)
 
- Public Member Functions inherited from HaveHover
 HaveHover (ColorProvider &colorProvider, bool h=false)
 
bool isHover () const
 
void setHover (bool hover)
 
virtual bool updateHover (const sf::Vector2f &pointer, const sf::FloatRect &clippedArea)
 
void setTooltip (const sf::String &value)
 
- Public Member Functions inherited from HavePressed
 HavePressed (ColorProvider &colorProvider, bool p=false, bool pa=false)
 
virtual bool isPressed () const
 
virtual bool isPressedAlt () const
 
- Public Member Functions inherited from HaveSelected
 HaveSelected (ColorProvider &colorProvider)
 
bool isSelected () const
 
void setSelected (bool value)
 
- Public Member Functions inherited from HaveEnabled
 HaveEnabled (ColorProvider &colorProvider, bool e=true)
 
bool isEnabled () const
 
void setEnabled (bool enabled)
 
- Public Member Functions inherited from HaveBackground
 HaveBackground (ColorProvider &colorProvider)
 
void setBackgroundTexture (const std::shared_ptr< sf::Texture > &backgroundTexture)
 
void setBackgroundTextureRect (const sf::IntRect &value)
 
void setGradientType (GradientType gradientType)
 
void updateGradient (sf::FloatRect &area)
 
void setGradientPoints (const ColorVector &evenlyColors)
 
void setGradientPoints (const GradientVector &gradientPoints)
 
void setGradientModifier (const GradientModifier &gradientModifier)
 
void setBackgroundSymbol (const sf::VertexArray &value)
 
void setBackgroundSymbolTransform (const sf::Transform &value)
 
void setBackgroundSymbolShift (const sf::Vector2f &value)
 
sf::Vector2f getBackgroundSymbolShift () const
 
void setBackgroundSymbolStrech (bool value)
 
void setBackgroundSymbolColor (sf::Color col)
 
void mulBackgroundSymbolColor (sf::Color col)
 
void initDefaultButtonBackgroundStyle (ColorProvider &colorProvider)
 
bool isBackroundTextureRectActive () const
 
- Public Member Functions inherited from HaveOutline
 HaveOutline (ColorProvider &colorProvider)
 
void setOutlineSize (float outlineSize)
 
- Public Member Functions inherited from SetColorAccess
 SetColorAccess (ColorProvider &colorProvider)
 
virtual bool setColorFrom (const SetColorAccess &colorAccess)
 
virtual bool setColor (ColorId::Type colorId, StateId::Type stateId, sf::Color newColor)
 
virtual bool setColorEnabled (ColorId::Type colorId, StateId::Type stateId, bool enabled)
 
- Public Member Functions inherited from GetColorAccess
 GetColorAccess (ColorProvider &colorProvider)
 
virtual bool colorDeduce (const ColorRef &colorRef) const
 
virtual bool getColor (ColorId::Type colorId, StateId::Type stateId, sf::Color &result) const
 

Additional Inherited Members

- Public Types inherited from HaveAction< Button & >
using function_type = typename HaveActionHelper< Button & >::function_type
 
- Static Public Member Functions inherited from HaveFocus
static void unFocus ()
 
- Static Public Member Functions inherited from HaveBackground
static void setDefaultBackgroundColor (sf::Color defaultBackgroundColor)
 
static sf::Color sum (sf::Color col, sf::Vector3i mod)
 
- Public Attributes inherited from HaveFocus
friend TextInputable
 
- Public Attributes inherited from GlobalTimer
friend Element
 
- Public Attributes inherited from HaveHover
friend Element
 
- Public Attributes inherited from HavePressed
friend Element
 
- Public Attributes inherited from HaveEnabled
friend Element
 
- Public Attributes inherited from HaveBackground
friend Element
 
- Public Attributes inherited from HaveOutline
friend Element
 
- Static Public Attributes inherited from GlobalTimer
static const sf::Clock & dclock = GlobalTimer::drawClock
 
static const sf::Clock & rclock = GlobalTimer::runtimeClock
 
static const float & dtime = GlobalTimer::drawTime
 
static const float & rtime = GlobalTimer::runTime
 
static const float & fps = GlobalTimer::framesPerSecond
 
- Protected Member Functions inherited from Element
sf::Vector2f computeRelativeViewportCenterShift () const
 
sf::FloatRect computeClipped () const
 
sf::FloatRect clipArea (const sf::FloatRect &scissors, sf::FloatRect toCut) const
 
ColorProvidergetColorProvider ()
 
- Protected Member Functions inherited from HaveGUIManagerInfo
bool anyDialogExist ()
 
- Protected Member Functions inherited from HaveBackground
void drawBackgroundSymbol (sf::FloatRect area, sf::RenderTarget &target, const sf::RenderStates &states=sf::RenderStates())
 
- Protected Member Functions inherited from HaveOutline
void initDefaultButtonOutlineStyle (ColorProvider &colorProvider)
 
sf::FloatRect withoutOutlineArea (const sf::FloatRect &)
 
- Protected Member Functions inherited from HaveColorProviderReference
 HaveColorProviderReference (const HaveColorProviderReference &)=delete
 
HaveColorProviderReferenceoperator= (const HaveColorProviderReference &)
 
 HaveColorProviderReference (ColorProvider &colorProvider)
 
- Protected Attributes inherited from Pressable< Button &>
sf::Keyboard::Key hotKey
 
bool hotPress
 
bool stickyPress
 
bool ignoreAbove
 
bool ignoreDialogs
 
bool ignoreTextInputable
 
- Protected Attributes inherited from Element
const Elementparent = nullptr
 
sf::FloatRect area
 
sf::FloatRect lastArea
 
sf::FloatRect relativeParentArea
 
sf::FloatRect relativeArea
 
sf::FloatRect clippedArea
 
sf::Vector2f viewportCenterShift
 
sf::Vector2f relativeViewportCenterShift
 
MaximizationMode maximizationMode = MaximizationMode::Both
 
bool relativeParentSizeChanged = false
 
bool relativeParentWidthChanged = false
 
bool relativeParentHeightChanged = false
 
bool areaChanged = false
 
bool maximized = false
 
- Protected Attributes inherited from HaveName
sf::String name
 
- Protected Attributes inherited from HaveFocus
bool focus
 
- Protected Attributes inherited from HaveVisible
bool visible
 
- Protected Attributes inherited from HaveAction< Button & >
std::map< sf::String, function_type > action
 
std::map< sf::String, std::function< void()> > actionVoid
 
sf::String mainActionType
 
- Protected Attributes inherited from HaveHover
bool hover
 
sf::String tooltip
 
- Protected Attributes inherited from HavePressed
bool pressed = false
 
bool lastPressLeft = false
 
bool pressedAlt = false
 
bool lastPressRight = false
 
- Protected Attributes inherited from HaveSelected
friend Element
 
bool selected
 
- Protected Attributes inherited from HaveEnabled
bool enabled
 
- Protected Attributes inherited from HaveBackground
std::shared_ptr< sf::Texture > backgroundTexture
 
sf::VertexArray backgroundSymbol
 
sf::VertexArray gradient
 
GradientVector gradientPoints
 
GradientType gradientType
 
GradientModifier gradientModifier
 
sf::FloatRect lastGradientUpdateArea
 
sf::IntRect backgroundTextureRect
 
sf::Transform backgroundSymbolTransform
 
sf::Vector2f backgroundSymbolShift
 
bool backgroundSymbolStrech
 
- Protected Attributes inherited from HaveOutline
float outlineSize
 
- Protected Attributes inherited from HaveColorProviderReference
ColorProvidercolorProviderReference
 
- Static Protected Attributes inherited from HaveFocus
static HaveFocuslastFocus = nullptr
 
static float timeFocused =0.f
 
- Static Protected Attributes inherited from HaveBackground
static sf::Color defaultBackgroundColor = {0, 0, 0, 0}
 
static std::shared_ptr< sf::Texture > defaultTexture = nullptr
 

Detailed Description

Pressable button with some configuration options.

This class represents monostable button. We can set std::function<void(const Button&)> for click action.

Examples:
DemoApp.

The documentation for this class was generated from the following files: