JNGL
Easy to use cross-platform 2D game library
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
Widget Class Referenceabstract

Public Types

enum class  Action { NONE , REMOVE , REQUEST_FOCUS }
 

Public Member Functions

 Widget (jngl::Vec2 position)
 Creates a Widget centered at position.
 
virtual Action step ()
 Steps all Effects. More...
 
virtual void draw () const
 Draws the widget with all effects applied.
 
virtual void drawSelf () const =0
 Override this function to draw the widget. More...
 
void addEffect (std::unique_ptr< Effect >)
 
template<class T , class... Args>
void addEffect (Args &&... args)
 
void removeEffect (Effect *)
 
virtual void removeEffects ()
 Removes all effects.
 
jngl::Vec2 getPosition () const
 Returns the center.
 

Protected Attributes

jngl::Vec2 position
 Center. More...
 

Detailed Description

Definition at line 17 of file Widget.hpp.

Inheritance diagram for Widget:
[legend]
Collaboration diagram for Widget:
[legend]

Member Enumeration Documentation

◆ Action

enum class Action
strong

Definition at line 24 of file Widget.hpp.

Member Function Documentation

◆ step()

virtual Action step ( )
virtual

Steps all Effects.

When Action::REMOVE is returned, the Widget wants to be removed from its container.

◆ drawSelf()

virtual void drawSelf ( ) const
pure virtual

Override this function to draw the widget.

Implemented in Label.

◆ addEffect()

void addEffect ( Args &&...  args)
inline

Definition at line 44 of file Widget.hpp.

Member Data Documentation

◆ position

jngl::Vec2 position
protected

Center.

Definition at line 58 of file Widget.hpp.


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