SDL2lazy
Public Member Functions | Protected Attributes | List of all members
SlRenderQueueManipulation Class Reference
Inheritance diagram for SlRenderQueueManipulation:
Inheritance graph
[legend]
Collaboration diagram for SlRenderQueueManipulation:
Collaboration graph
[legend]

Public Member Functions

 SlRenderQueueManipulation (SlSpriteManager *smngr, SlValueParser *valPars, std::vector< SlRenderItem * > *renderQueue)
 
virtual ~SlRenderQueueManipulation ()
 
SlRenderItem * createRenderItem (const std::string &name, unsigned int destination)
 
virtual void manipulate (const std::string &name, unsigned int destination, const std::vector< std::string > &parameters)
 
void moveInRenderQueue (const std::string &toMoveName, const std::string &targetName, unsigned int destToMove, unsigned int targetDest, int beforeOrAfter)
 
- Public Member Functions inherited from SlManipulation
 SlManipulation (SlSpriteManager *smngr, SlValueParser *valPars)
 
 SlManipulation (const SlManipulation &toCopy)
 
SlManipulation & operator= (const SlManipulation &rhs)
 
std::string name ()
 
std::shared_ptr< SlSprite > verifySprite (const std::string &name, unsigned int destination)
 

Protected Attributes

std::vector< SlRenderItem * > * renderQueue_
 
- Protected Attributes inherited from SlManipulation
std::string name_ = "manipulation"
 
SlSpriteManager * smngr_ = nullptr
 

Additional Inherited Members

- Public Attributes inherited from SlManipulation
SlValueParser * valParser = nullptr
 

Constructor & Destructor Documentation

SlRenderQueueManipulation::SlRenderQueueManipulation ( SlSpriteManager *  smngr,
SlValueParser *  valPars,
std::vector< SlRenderItem * > *  renderQueue 
)

Use this constructor to set the required pointers.

SlRenderQueueManipulation::~SlRenderQueueManipulation ( )
virtual

Default destructor.

Member Function Documentation

SlRenderItem * SlRenderQueueManipulation::createRenderItem ( const std::string &  name,
unsigned int  destination 
)

Creates new SlRenderItem for the specified sprite.

void SlRenderQueueManipulation::manipulate ( const std::string &  name,
unsigned int  destination,
const std::vector< std::string > &  parameters 
)
virtual

The actual render queue manipulation, implemented in the derived classes.

Reimplemented from SlManipulation.

Reimplemented in SlRMmoveActiveBy, SlRMmoveBy, SlRMdeactivateIfInside, SlRMactivateIfInside, SlRMdeactivate, SlRMactivate, SlRMswapAt, SlRMtoggleOnOff, SlRMswapIn, SlRMmoveBefore, SlRMmoveAfter, SlRMinsertBefore, SlRMinsertAfter, and SlRMappend.

void SlRenderQueueManipulation::moveInRenderQueue ( const std::string &  toMoveName,
const std::string &  targetName,
unsigned int  destToMove,
unsigned int  targetDest,
int  beforeOrAfter 
)

Moves sprite with name toMoveName at destination destToMove before or after sprite with name targetName at destination targetDest. beforeOrAfter is 0 for before, 1 for after. Larger (smaller) values will result in the target item begin inserted further upstream (downstream) of the target. (Handle with care, currently no test for valid iterators beyond +1...)

Member Data Documentation

std::vector<SlRenderItem*>* SlRenderQueueManipulation::renderQueue_
protected

Holds the items to be rendered. The front of the queue is rendered first (background) the last element is rendered last (foreground).


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