![]() |
rag
graphic 2d engine
|
Core object used to display things in screen. More...
#include <DisplayObject.h>
Public Member Functions | |
void | addChild (DisplayObject *child) |
Adds a DisplayObject child. | |
void | addChildAt (DisplayObject *child, int index) |
Adds a DisplayObject child in a specific order. | |
void | removeChild (DisplayObject *child) |
Removes a child DisplayObject. More... | |
void | deleteChild (DisplayObject *child) |
Deletes a specific child from the DisplayList. More... | |
DisplayObject * | getChildByName (const std::string &name) |
Returns a child by name. | |
DisplayObject * | getChildAt (int index) |
Returns a child by index. | |
int | getChildIndex (DisplayObject *child) const |
Returns a child's index. | |
bool | contains (const DisplayObject *child) const |
Returns true if the child DisplayObject exists as a child. | |
int | getNumChilds () |
Returns the number of childs. | |
void | swapChildren (DisplayObject *child1, DisplayObject *child2) |
Swaps two childs indexes. | |
virtual void | logicUpdate () |
This function is called every frame. | |
virtual void | logicTraversal () |
Recursively calls logicUpdate in all child objects. More... | |
virtual void | render () |
Renders the DisplayObject in the screen. | |
virtual void | renderTraversal (const Color &color) |
Recursively calls render in all childs objects. | |
virtual void | prerender () |
Temporal transition to new automatic batch render. | |
void | setX (float x) |
Sets x position. | |
float | getX () |
Returns x position. | |
void | setY (float y) |
Sets y position. | |
float | getY () |
Returns y position. | |
void | setPosition (float x, float y) |
Sets x and y position. | |
void | setPosition (glm::vec2 p) |
Sets object position. | |
glm::vec2 | getPosition () const |
Returns object position. | |
void | setScale (float scale) |
Sets object scale. | |
void | setScaleX (float scaleX) |
Sets object x scale. | |
float | getScaleX () const |
Returns object x scale. | |
void | setScaleY (float scaleY) |
Sets object y scale. | |
float | getScaleY () const |
Returns object y scale. | |
void | setAngle (float angle) |
Sets object orientation angle. | |
float | getAngle () const |
Returns object orientation angle. | |
void | setSkewX (float skewX) |
Sets object x skew. | |
float | getSkewX () const |
Returns object x skew. | |
void | setSkewY (float skewY) |
Sets object y skew. | |
float | getSkewY () const |
Returns object y skew. | |
void | setWidth (float width) |
Sets object width. | |
float | getWidth () |
Returns object width. | |
void | setHeight (float height) |
Sets object width. | |
float | getHeight () |
Returns object width. | |
virtual bool | hitTestPoint (int x, int y) |
Returns true if the point lies inside the object boundary box. | |
glm::vec2 | localToGlobal (const glm::vec2 &point) |
Converts local coordinates to global coordinates. | |
glm::vec2 | globalToLocal (const glm::vec2 &point) |
Convert global coordinates to local coordinates. | |
void | setClipRectangle (const Rectangle &rect) |
This allow to render just a part of the bitmap. | |
Rectangle | getBounds (DisplayObject *targetCoordinateSpace=NULL) |
Returns the boundary box of the object. | |
void | onNativeEvent (events::TouchEvent &event) |
Notifies the object about an input event. More... | |
void | setText (rag::DisplayObject *displayObject, const std::string &text) |
Helper function to set a text. | |
void | setText (rag::DisplayObject *displayObject, int value) |
Helper function to set a text number. | |
void | destroy () |
self-destroy the object and all its childs. More... | |
void | updateMatrix () |
![]() | |
void | addEventListener (std::string type, EventListener *listener) |
void | dispatchEvent (Event &event) |
bool | hasEventListener (std::string type) |
void | removeEventListener (std::string type, EventListener *listener) |
Static Public Member Functions | |
static void | deletePendentObjects () |
Deletes from memory all the nodes currently on the toDelete list. More... | |
static void | showLivingObjects () |
Logs information about the current number of living DisplayObject. | |
Public Attributes | |
std::string | name |
DisplayObject * | parent |
std::vector< DisplayObject * > | childs |
List of childs. | |
Color | color |
Color of the object. | |
Material | material |
Material of the object. | |
Material * | renderMaterial |
The render material modified by the display list hierarchy. | |
glm::mat4 | matrix |
The object matrix. | |
bool | visible |
Determines object visibility. | |
bool | autoScaleOnTouch |
When true, the bounds scale when is touched. More... | |
bool | captureInput |
When true, input events are captured and propagation stops. | |
bool | checkHitPoint |
When captureInput, checkHitPoint makes capture input only when hitTest is true. Defaults to false. | |
std::string | soundName |
std::string | script |
Protected Member Functions | |
virtual void | updateBounds (rag::DisplayObject *targetCoordinateSpace) |
Updates the bounding box of the object according to childs bounds. More... | |
Protected Attributes | |
float | scaleX |
float | scaleY |
float | x |
float | y |
float | width |
float | height |
float | angle |
float | skewX |
float | skewY |
Rectangle | bounds |
int | numChilds |
bool | dirty |
Color | colorTransform |
Rectangle | clipRect |
Core object used to display things in screen.
DisplayObject represents a node in a tree, and can have one or many DisplayObject childrens. Custom objects can inherit DisplayObject and override its basic functionality. EventDispatcher is extended for convenience, thus allowing to easily work with events.
void DisplayObject::deleteChild | ( | rag::DisplayObject * | child | ) |
Deletes a specific child from the DisplayList.
The child object is destroyed.
|
static |
Deletes from memory all the nodes currently on the toDelete list.
Don't call more than once per frame
void DisplayObject::destroy | ( | ) |
self-destroy the object and all its childs.
Objects are usually deleted if they are part of the displaylist. If they're not, you can still delete their hierarchy by calling destroy.
|
virtual |
Recursively calls logicUpdate in all child objects.
This should be called once every frame in the root object.
void DisplayObject::onNativeEvent | ( | events::TouchEvent & | event | ) |
Notifies the object about an input event.
void DisplayObject::removeChild | ( | DisplayObject * | child | ) |
Removes a child DisplayObject.
The child reference stops being child of the DisplayObject. If the child doesn't exists then nothing is done.
|
protectedvirtual |
Updates the bounding box of the object according to childs bounds.
Is not required to call this function directly.
Reimplemented in spine::SkeletonDrawable.
void DisplayObject::updateMatrix | ( | ) |
Updates internal matrix from values such as parent matrix, position, scale and skew. Usually you don't need to call this directly.
bool rag::DisplayObject::autoScaleOnTouch |
When true, the bounds scale when is touched.
std::string rag::DisplayObject::soundName |