Simulant  21.12-574
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
Public Member Functions | List of all members
smlt::ui::Button Class Reference
Inheritance diagram for smlt::ui::Button:
smlt::ui::Widget smlt::TypedDestroyableObject< Widget, UIManager > smlt::ContainerNode smlt::generic::Identifiable< WidgetID > smlt::HasMutableRenderPriority smlt::ChainNameable< Widget > smlt::DestroyableObject smlt::StageNode smlt::Nameable smlt::TwoPhaseConstructed smlt::HasAutoID< StageNode > smlt::Organism smlt::BoundableEntity smlt::Updateable smlt::Transformable smlt::Printable smlt::Nameable smlt::TreeNode smlt::DestroyableObject

Public Member Functions

 Button (UIManager *owner, UIConfig *config, Stage *stage, std::shared_ptr< WidgetStyle > shared_style=std::shared_ptr< WidgetStyle >())
virtual bool init () override
virtual void clean_up () override
- Public Member Functions inherited from smlt::ui::Widget
 Widget (UIManager *owner, UIConfig *defaults, Stage *stage, std::shared_ptr< WidgetStyle > shared_style=std::shared_ptr< WidgetStyle >())
void resize (Rem width, Px height)
void resize (Px width, Rem height)
void resize (Rem width, Rem height)
void resize (Px width, Px height)
void set_font (const std::string &family=DEFAULT_FONT_FAMILY, Rem size=Rem(1.0f), FontWeight weight=FONT_WEIGHT_NORMAL, FontStyle style=FONT_STYLE_NORMAL)
void set_font (const std::string &family=DEFAULT_FONT_FAMILY, Px size=DEFAULT_FONT_SIZE, FontWeight weight=FONT_WEIGHT_NORMAL, FontStyle style=FONT_STYLE_NORMAL)
virtual void set_font (FontPtr font)
bool is_focused () const
void set_focus_previous (WidgetPtr previous_widget)
void set_focus_next (WidgetPtr next_widget)
void focus ()
void blur ()
WidgetPtr next_in_focus_chain () const
WidgetPtr previous_in_focus_chain () const
void focus_next_in_chain (ChangeFocusBehaviour behaviour=FOCUS_THIS_IF_NONE_FOCUSED)
void focus_previous_in_chain (ChangeFocusBehaviour behaviour=FOCUS_THIS_IF_NONE_FOCUSED)
WidgetPtr first_in_focus_chain ()
WidgetPtr last_in_focus_chain ()
WidgetPtr focused_in_chain ()
void click ()
void set_text (const unicode &text)
void set_text_alignment (TextAlignment alignment)
TextAlignment text_alignment () const
void set_border_width (Px x)
Px border_width () const
void set_border_radius (Px x)
Px border_radius () const
void set_border_colour (const Colour &colour)
void set_overflow (OverflowType type)
void set_padding (Px x)
void set_padding (Px left, Px right, Px bottom, Px top)
UInt4 padding () const
virtual bool set_resize_mode (ResizeMode resize_mode)
ResizeMode resize_mode () const
WrapMode wrap_mode () const
void set_wrap_mode (WrapMode mode)
bool has_background_image () const
bool has_foreground_image () const
void set_background_image (TexturePtr texture)
void set_background_image_source_rect (const UICoord &bottom_left, const UICoord &size)
void set_background_colour (const Colour &colour)
void set_foreground_colour (const Colour &colour)
void set_foreground_image (TexturePtr texture)
void set_foreground_image_source_rect (const UICoord &bottom_left, const UICoord &size)
void set_text_colour (const Colour &colour)
Px requested_width () const
Px requested_height () const
Px content_width () const
Px content_height () const
Px outer_width () const
Px outer_height () const
const AABBaabb () const override
const unicodetext () const
void fingerdown (uint8_t finger_id)
void fingerup (uint8_t finger_id)
void fingerenter (uint8_t finger_id)
void fingermove (uint8_t finger_id)
void fingerleave (uint8_t finger_id)
bool is_pressed_by_finger (uint8_t finger_id)
void force_release ()
void set_anchor_point (RangeValue< 0, 1 > x, RangeValue< 0, 1 > y)
smlt::Vec2 anchor_point () const
void set_opacity (RangeValue< 0, 1 > alpha)
Px line_height () const
MaterialPtr border_material () const
MaterialPtr background_material () const
MaterialPtr foreground_material () const
- Public Member Functions inherited from smlt::TypedDestroyableObject< Widget, UIManager >
 TypedDestroyableObject (UIManager *owner)
bool destroy () override
bool destroy_immediately () override
- Public Member Functions inherited from smlt::DestroyableObject
 DEFINE_SIGNAL (DestroyedSignal, signal_destroyed)
bool is_destroyed () const
- Public Member Functions inherited from smlt::ContainerNode
 ContainerNode (Stage *stage, StageNodeType node_type)
void _get_renderables (batcher::RenderQueue *, const CameraPtr, const DetailLevel) override
- Public Member Functions inherited from smlt::StageNode
AncestorIteratorPair each_ancestor ()
DescendentIteratorPair each_descendent ()
SiblingIteratorPair each_sibling ()
ChildIteratorPair each_child ()
std::string repr () const override
 StageNode (Stage *stage, StageNodeType node_type)
StageNodeType node_type () const
void link_position (StageNode *other)
void move_to_absolute (const Vec3 &position)
void move_to_absolute (float x, float y, float z)
void rotate_to_absolute (const Quaternion &rotation)
void rotate_to_absolute (const Degrees &degrees, float x, float y, float z)
Vec3 absolute_position () const
Quaternion absolute_rotation () const
Vec3 absolute_scaling () const
Mat4 absolute_transformation () const
bool is_visible () const
bool is_intended_visible () const
void set_visible (bool visible)
template<typename T >
void set_parent (const UniqueID< T > &id)
void set_parent (TreeNode *node)
smlt::Promise< void > destroy_after (const Seconds &seconds)
void update (float dt) override
void late_update (float dt) override
void fixed_update (float step) override
bool parent_is_stage () const
const AABB transformed_aabb () const override
ShadowCast shadow_cast () const
void set_shadow_cast (ShadowCast cast)
ShadowReceive shadow_receive () const
void set_shadow_receive (ShadowReceive receive)
StageNodefind_descendent_with_name (const std::string &name)
void set_cullable (bool v)
bool is_cullable () const
UniqueIDKey key () const
- Public Member Functions inherited from smlt::TreeNode
void set_parent (TreeNode *node)
void add_child (TreeNode *node)
void remove_from_parent ()
bool is_root () const
bool is_leaf () const
TreeNodeparent () const
uint32_t child_count () const
TreeNodefirst_child () const
TreeNodenext_node () const
TreeNodeprevious_node () const
TreeNodechild_at (std::size_t i) const
- Public Member Functions inherited from smlt::Nameable
void set_name (const std::string &name)
const std::string & name () const
bool has_name () const
- Public Member Functions inherited from smlt::Transformable
smlt::Vec3 position () const
smlt::Vec2 position_2d () const
smlt::Quaternion rotation () const
smlt::Vec3 scale () const
virtual void move_to (const smlt::Vec3 &pos)
virtual void move_to (const smlt::Vec2 &pos)
virtual void move_to (float x, float y, float z)
virtual void move_to (float x, float y)
virtual void move_by (const smlt::Vec3 &pos)
virtual void move_by (const smlt::Vec2 &pos)
virtual void move_by (float x, float y, float z)
virtual void move_by (float x, float y)
virtual void move_forward_by (float amount)
virtual void move_right_by (float amount)
virtual void move_up_by (float amount)
virtual void rotate_to (const smlt::Degrees &angle, float axis_x, float axis_y, float axis_z)
virtual void rotate_to (const smlt::Degrees &angle, const smlt::Vec3 &axis)
virtual void rotate_to (const smlt::Quaternion &rotation)
virtual void rotate_x_by (const smlt::Degrees &angle)
virtual void rotate_y_by (const smlt::Degrees &angle)
virtual void rotate_z_by (const smlt::Degrees &angle)
virtual void rotate_by (const smlt::Degrees &angle_x, const smlt::Degrees &angle_y, const smlt::Degrees &angle_z)
virtual void rotate_by (const smlt::Vec3 &angles)
virtual void scale_x_by (const float scale)
virtual void scale_y_by (const float scale)
virtual void scale_z_by (const float scale)
virtual void scale_by (float x)
virtual void scale_by (const Vec3 &x)
virtual void scale_to (const float x, const float y, const float z)
virtual void rotate_around (const smlt::Vec3 &axis, const smlt::Degrees &degrees)
void rotate_global_x_by (const smlt::Degrees &degrees)
void rotate_global_y_by (const smlt::Degrees &degrees)
void rotate_global_z_by (const smlt::Degrees &degrees)
virtual void look_at (const smlt::Vec3 &target, const Vec3 &up=Vec3::POSITIVE_Y)
virtual void look_at (float x, float y, float z, const Vec3 &up=Vec3::POSITIVE_Y)
Vec3 right () const
Vec3 up () const
Vec3 forward () const
void constrain_to_aabb (const AABB &region)
bool is_constrained () const
void remove_constraint ()
- Public Member Functions inherited from smlt::Updateable
virtual void _update_thunk (float dt)
virtual void _late_update_thunk (float dt)
virtual void _fixed_update_thunk (float step)
- Public Member Functions inherited from smlt::BoundableEntity
virtual const Vec3 centre () const
- Public Member Functions inherited from smlt::Boundable
virtual float width () const
virtual float height () const
virtual float depth () const
virtual float half_width () const
virtual float half_height () const
virtual float half_depth () const
virtual float diameter () const
virtual float radius () const
- Public Member Functions inherited from smlt::Organism
template<typename T >
bool has_behaviour () const
template<typename T >
T * behaviour () const
template<typename T >
T * new_behaviour ()
template<typename T , typename ... Params>
T * new_behaviour (Params &&... params)
void fixed_update_behaviours (float step)
void update_behaviours (float dt)
void late_update_behaviours (float dt)
- Public Member Functions inherited from smlt::HasAutoID< StageNode >
uint64_t auto_id () const
- Public Member Functions inherited from smlt::generic::Identifiable< WidgetID >
 Identifiable (WidgetID id)
WidgetID id () const
virtual bool operator== (const Identifiable< WidgetID > &rhs) const
virtual bool operator< (const Identifiable< WidgetID > &rhs) const
void _bind_id_pointer (ResourceTypePtr ptr)
void _overwrite_id (WidgetID new_id)
- Public Member Functions inherited from smlt::HasMutableRenderPriority
void set_render_priority (RenderPriority priority)
virtual RenderPriority render_priority () const
- Public Member Functions inherited from smlt::ChainNameable< Widget >
Widget * set_name_and_get (const std::string &name)

Additional Inherited Members

- Public Types inherited from smlt::ui::Widget
typedef std::shared_ptr< Widgetptr
- Public Types inherited from smlt::generic::Identifiable< WidgetID >
typedef WidgetID id_type
- Public Attributes inherited from smlt::TypedDestroyableObject< Widget, UIManager >
friend Owner
- Public Attributes inherited from smlt::StageNode
Property< generic::DataCarrier StageNode::* > data = { this, &StageNode::data_ }
Property< Stage *StageNode::* > stage = { this, &StageNode::stage_ }
- Protected Member Functions inherited from smlt::ui::Widget
void set_style (std::shared_ptr< WidgetStyle > style)
virtual void on_size_changed ()
void _recalc_active_layers ()
bool border_active () const
bool background_active () const
bool foreground_active () const
virtual WidgetBounds calculate_background_size (const UIDim &content_dimensions) const
virtual WidgetBounds calculate_foreground_size (const UIDim &content_dimensions) const
virtual UIDim calculate_content_dimensions (Px text_width, Px text_height)
void apply_image_rect (SubMeshPtr submesh, TexturePtr image, ImageRect &rect)
SubMeshPtr new_rectangle (const std::string &name, WidgetBounds bounds, const smlt::Colour &colour, const Px &border_radius, const Vec2 *uvs=nullptr, float z_offset=0.0f)
void clear_mesh ()
bool is_initialized () const
MeshPtr mesh ()
virtual void render_text ()
virtual void render_border (const WidgetBounds &border_bounds)
virtual void render_background (const WidgetBounds &background_bounds)
virtual void render_foreground (const WidgetBounds &foreground_bounds)
WidgetPtr focused_in_chain_or_this ()
void on_transformation_change_attempted () override
void rebuild ()
virtual void prepare_build ()
virtual void finalize_render ()
virtual void finalize_build ()
virtual bool pre_set_text (const unicode &)
- Protected Member Functions inherited from smlt::StageNode
Stageget_stage () const
void on_transformation_changed () override
void on_parent_set (TreeNode *oldp, TreeNode *newp) override
virtual void update_transformation_from_parent ()
void recalc_bounds_if_necessary () const
void mark_transformed_aabb_dirty ()
void mark_absolute_transformation_dirty ()
- Protected Member Functions inherited from smlt::TreeNode
TreeNodedetach ()
TreeNodelast_child () const
- Protected Member Functions inherited from smlt::Transformable
void set_position (const Vec3 &p)
void set_rotation (const Quaternion &q)
void set_scaling (const Vec3 &s)
- Protected Attributes inherited from smlt::ui::Widget
MeshPtr mesh_ = nullptr
UIManagerowner_ = nullptr
UIConfigtheme_ = nullptr
FontPtr font_ = nullptr
std::shared_ptr< WidgetStylestyle_
ResizeMode resize_mode_ = RESIZE_MODE_FIT_CONTENT
WrapMode wrap_mode_ = WRAP_MODE_WORD
Px text_width_ = Px(0)
Px text_height_ = Px(0)
Px requested_width_ = Px(-1)
Px requested_height_ = Px(-1)
Px content_width_ = Px(0)
Px content_height_ = Px(0)
unicode text_
bool is_focused_ = false
WidgetPtr focus_next_ = nullptr
WidgetPtr focus_previous_ = nullptr
smlt::Vec2 anchor_point_
bool anchor_point_dirty_
uint16_t fingers_down_ = 0
- Protected Attributes inherited from smlt::DestroyableObject
bool destroyed_ = false
- Protected Attributes inherited from smlt::TreeNode
TreeNoderoot_ = nullptr
TreeNodeparent_ = nullptr
TreeNodefirst_child_ = nullptr
TreeNodeprev_ = this
TreeNodenext_ = this
- Protected Attributes inherited from smlt::Transformable
Vec3 position_
Quaternion rotation_
Vec3 scaling_ = Vec3(1, 1, 1)
std::unique_ptr< AABBconstraint_

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