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

Modifier drawing an image. More...

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

Classes

struct  Init
 
struct  LocalInit
 

Public Member Functions

 ImageModifier (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...
 
- Public Member Functions inherited from stmg::StdThemeModifier
virtual ~StdThemeModifier () noexcept=default
 
int32_t getDebugTag () const noexcept
 The debug tag. More...
 

Protected Member Functions

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...
 
- 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...
 

Additional Inherited Members

- Public Types inherited from stmg::StdThemeModifier
enum  FLOW_CONTROL { FLOW_CONTROL_CONTINUE = 0, FLOW_CONTROL_STOP = 1 }
 

Detailed Description

Modifier drawing an image.

Constructor & Destructor Documentation

◆ ImageModifier()

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

Constructor.

Parameters
oInitThe initialization data.

Member Function Documentation

◆ drawTile()

FLOW_CONTROL stmg::ImageModifier::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.

Implements stmg::StdThemeModifier.

◆ registerTileSize()

void stmg::ImageModifier::registerTileSize ( int32_t  nW,
int32_t  nH 
)
overrideprotectedvirtualnoexcept

Register tile size.

Make sure to unregisterTileSize() when done with this size.

This method should be implemented to cache images for frequently used sizes.

Subclasses of ContainerModifier should not propagate this to contained Modifier instances since StdTheme does it automatically.

Parameters
nWThe tile width. Must be positive.
nHThe tile height. Must be positive.

Reimplemented from stmg::StdThemeModifier.

◆ unregisterTileSize()

void stmg::ImageModifier::unregisterTileSize ( int32_t  nW,
int32_t  nH 
)
overrideprotectedvirtualnoexcept

Unregister tile size.

Called when a tile size no longer needed. See registerTileSize().

Parameters
nWThe tile width. Must be positive.
nHThe tile height. Must be positive.

Reimplemented from stmg::StdThemeModifier.