Loading...
Searching...
No Matches
ml::ConvexButtonWith< MANIFEST > Class Template Reference

ConvexButton with an attached manifest. More...

#include <ConvexButton.h>

Inheritance diagram for ml::ConvexButtonWith< MANIFEST >:

Public Types

using manifest_type
 The manifest type, used by GatherFlags and GatherStates to locate this class's flag and state declarations.

Public Member Functions

std::enable_if_t<!std::is_void_v< T >, T > getState () const
 Return the current state value.
std::enable_if_t<!std::is_void_v< T >, bool > isState (T state) const
 Return true if currently in state.
std::enable_if_t<!std::is_void_v< T > > onStateEnter (std::function< void(T)> callback)
 Register a callback invoked after each state transition.
std::enable_if_t<!std::is_void_v< T > > onStateExit (std::function< void(T)> callback)
 Register a callback invoked before each state transition.
std::enable_if_t<!std::is_void_v< T > > setState (T newState)
 Transition to a new state.

Detailed Description

template<typename MANIFEST>
class ml::ConvexButtonWith< MANIFEST >

ConvexButton with an attached manifest.

Template Parameters
MANIFESTA Manifest subclass declaring Flag/State enums.
See also
ConvexButton, Customizable

Definition at line 53 of file ConvexButton.h.

Member Typedef Documentation

◆ manifest_type

using ml::Customizable< ConvexButton >::manifest_type
inherited

The manifest type, used by GatherFlags and GatherStates to locate this class's flag and state declarations.

Definition at line 64 of file Customizable.h.

Member Function Documentation

◆ getState()

std::enable_if_t<!std::is_void_v< T >, T > ml::StateManager< extract_State< ConvexButton >::type >::getState ( ) const
inherited

Return the current state value.

Returns
The active StateEnum value.

◆ isState()

std::enable_if_t<!std::is_void_v< T >, bool > ml::StateManager< extract_State< ConvexButton >::type >::isState ( T state) const
inherited

Return true if currently in state.

Parameters
stateThe state value to compare against.
Returns
true if the current state equals state.

◆ onStateEnter()

std::enable_if_t<!std::is_void_v< T > > ml::StateManager< extract_State< ConvexButton >::type >::onStateEnter ( std::function< void(T)> callback)
inherited

Register a callback invoked after each state transition.

The callback receives the newly entered state. Only one enter callback is active at a time; calling this again replaces it.

Parameters
callbackFunction called with the new state after each transition.

◆ onStateExit()

std::enable_if_t<!std::is_void_v< T > > ml::StateManager< extract_State< ConvexButton >::type >::onStateExit ( std::function< void(T)> callback)
inherited

Register a callback invoked before each state transition.

The callback receives the state being left. Only one exit callback is active at a time; calling this again replaces it.

Parameters
callbackFunction called with the old state before each transition.

◆ setState()

std::enable_if_t<!std::is_void_v< T > > ml::StateManager< extract_State< ConvexButton >::type >::setState ( T newState)
inherited

Transition to a new state.

Fires the exit callback with the current state, updates the stored state to newState, then fires the enter callback with the new state. Either callback may be unset (nullptr), in which case it is skipped.

Parameters
newStateThe state to transition into.

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