stmm-games-doc  0.32.0
Classes | Public Member Functions | List of all members
stmg::SelectCaseModifier Class Reference

Tile to image assignment selection. More...

Inheritance diagram for stmg::SelectCaseModifier:
Inheritance graph
[legend]

Classes

struct  AssCase
 
struct  Init
 
struct  LocalInit
 

Public Member Functions

 SelectCaseModifier (Init &&oInit) noexcept
 Constructor. More...
 
FLOW_CONTROL drawTile (const Cairo::RefPtr< Cairo::Context > &refCc, StdThemeDrawingContext &oDc, const Tile &oTile, int32_t nPlayer, const std::vector< double > &aAniElapsed) noexcept override
 Draw tile (with player skin). More...
 
void applyToSubModifiers (const std::function< void(StdThemeModifier &)> &oApply) noexcept override
 Apply a function to all the submodifiers. More...
 
- Public Member Functions inherited from stmg::ContainerModifier
 ContainerModifier (Init &&oInit) noexcept
 Constructor. More...
 
void registerTileSize (int32_t nW, int32_t nH) noexcept override
 Register tile size. More...
 
void unregisterTileSize (int32_t nW, int32_t nH) noexcept override
 Unregister tile size. More...
 
- Public Member Functions inherited from stmg::StdThemeModifier
virtual ~StdThemeModifier () noexcept=default
 
int32_t getDebugTag () const noexcept
 The debug tag. More...
 

Additional Inherited Members

- Public Types inherited from stmg::StdThemeModifier
enum  FLOW_CONTROL { FLOW_CONTROL_CONTINUE = 0, FLOW_CONTROL_STOP = 1 }
 
- Static Public Member Functions inherited from stmg::ContainerModifier
static FLOW_CONTROL drawTile (const std::vector< unique_ptr< StdThemeModifier > > &aModifiers, const Cairo::RefPtr< Cairo::Context > &refCc, StdThemeDrawingContext &oDc, const Tile &oTile, int32_t nPlayer, const std::vector< double > &aAniElapsed) noexcept
 
- Protected Member Functions inherited from stmg::ContainerModifier
FLOW_CONTROL drawContainedToWorkSurface (StdThemeDrawingContext &oDc, const Tile &oTile, int32_t nPlayer, const std::vector< double > &aAniElapsed, Cairo::RefPtr< Cairo::Surface > &refSurface) noexcept
 
- Protected Member Functions inherited from stmg::StdThemeModifier
 StdThemeModifier (Init &&oInit) noexcept
 Constructor. More...
 
StdThemeowner () noexcept
 The theme. More...
 
const StdThemeowner () const noexcept
 The theme. More...
 

Detailed Description

Tile to image assignment selection.

Constructor & Destructor Documentation

◆ SelectCaseModifier()

stmg::SelectCaseModifier::SelectCaseModifier ( Init &&  oInit)
explicitnoexcept

Constructor.

The submodifiers used as "default" case are passed with Init::m_aSubModifiers.

Parameters
oInitThe initialization data.

Member Function Documentation

◆ applyToSubModifiers()

void stmg::SelectCaseModifier::applyToSubModifiers ( const std::function< void(StdThemeModifier &)> &  oApply)
overridevirtualnoexcept

Apply a function to all the submodifiers.

The base implementation applies it to Init::m_aSubModifiers but subclasses must apply to all their additional submodifiers.

Parameters
oApplyThe function to apply to all submodifiers.

Reimplemented from stmg::ContainerModifier.

◆ drawTile()

FLOW_CONTROL stmg::SelectCaseModifier::drawTile ( const Cairo::RefPtr< Cairo::Context > &  refCc,
StdThemeDrawingContext oDc,
const Tile oTile,
int32_t  nPlayer,
const std::vector< double > &  aAniElapsed 
)
overridevirtualnoexcept

Draw tile (with player skin).

Parameters
refCcThe cairo context. Cannot be null.
oDcThe theme drawing context. Cannot be null.
oTileThe tile to draw.
nPlayerThe player the tile "belongs" to. -1 means no player. Must be >= -1.
aAniElapsedThe tile animations current value.
Returns
Whether the caller should continue or stop painting.

Reimplemented from stmg::ContainerModifier.