1 #ifndef _RAG_DISPLAY_OBJECT_H_
2 #define _RAG_DISPLAY_OBJECT_H_
4 #include <rag/Rectangle.h>
5 #include <rag/EventDispatcher.h>
6 #include <rag/TouchEvent.h>
11 #include <glm/glm.hpp>
209 float scaleX, scaleY;
210 float x, y, width, height;
217 Color colorTransform;
224 void deleteTraversal();
227 glm::vec2 mouseDownPoint;
230 static std::vector<DisplayObject*> toDelete;
glm::mat4 matrix
The object matrix.
Definition: DisplayObject.h:194
Material * renderMaterial
The render material modified by the display list hierarchy.
Definition: DisplayObject.h:193
Provides time-related functionality.
Definition: Timer.h:10
virtual bool hitTestPoint(int x, int y)
Returns true if the point lies inside the object boundary box.
Definition: DisplayObject.cpp:493
void destroy()
self-destroy the object and all its childs.
Definition: DisplayObject.cpp:719
Material material
Material of the object.
Definition: DisplayObject.h:192
DisplayObject * getChildAt(int index)
Returns a child by index.
Definition: DisplayObject.cpp:148
static void deletePendentObjects()
Deletes from memory all the nodes currently on the toDelete list.
Definition: DisplayObject.cpp:705
DisplayObject * getChildByName(const std::string &name)
Returns a child by name.
Definition: DisplayObject.cpp:136
float getAngle() const
Returns object orientation angle.
Definition: DisplayObject.cpp:427
bool contains(const DisplayObject *child) const
Returns true if the child DisplayObject exists as a child.
Definition: DisplayObject.cpp:163
virtual void render()
Renders the DisplayObject in the screen.
Definition: DisplayObject.cpp:186
Base class used to dispatch events.
Definition: EventDispatcher.h:14
float getScaleX() const
Returns object x scale.
Definition: DisplayObject.cpp:401
void setScaleX(float scaleX)
Sets object x scale.
Definition: DisplayObject.cpp:393
float getSkewX() const
Returns object x skew.
Definition: DisplayObject.cpp:437
glm::vec2 globalToLocal(const glm::vec2 &point)
Convert global coordinates to local coordinates.
Definition: DisplayObject.cpp:513
void setX(float x)
Sets x position.
Definition: DisplayObject.cpp:341
bool checkHitPoint
When captureInput, checkHitPoint makes capture input only when hitTest is true. Defaults to false...
Definition: DisplayObject.h:199
int getChildIndex(DisplayObject *child) const
Returns a child's index.
Definition: DisplayObject.cpp:153
bool captureInput
When true, input events are captured and propagation stops.
Definition: DisplayObject.h:198
Rectangle getBounds(DisplayObject *targetCoordinateSpace=NULL)
Returns the boundary box of the object.
Definition: DisplayObject.cpp:530
void addChild(DisplayObject *child)
Adds a DisplayObject child.
Definition: DisplayObject.cpp:77
void onNativeEvent(events::TouchEvent &event)
Notifies the object about an input event.
Definition: DisplayObject.cpp:598
void swapChildren(DisplayObject *child1, DisplayObject *child2)
Swaps two childs indexes.
Definition: DisplayObject.cpp:177
static void showLivingObjects()
Logs information about the current number of living DisplayObject.
Definition: DisplayObject.cpp:65
void setY(float y)
Sets y position.
Definition: DisplayObject.cpp:354
void addChildAt(DisplayObject *child, int index)
Adds a DisplayObject child in a specific order.
Definition: DisplayObject.cpp:95
float getY()
Returns y position.
Definition: DisplayObject.cpp:362
virtual void logicTraversal()
Recursively calls logicUpdate in all child objects.
Definition: DisplayObject.cpp:330
float getHeight()
Returns object width.
Definition: DisplayObject.cpp:475
virtual void updateBounds(rag::DisplayObject *targetCoordinateSpace)
Updates the bounding box of the object according to childs bounds.
Definition: DisplayObject.cpp:536
void removeChild(DisplayObject *child)
Removes a child DisplayObject.
Definition: DisplayObject.cpp:113
void setClipRectangle(const Rectangle &rect)
This allow to render just a part of the bitmap.
Definition: DisplayObject.cpp:593
float getWidth()
Returns object width.
Definition: DisplayObject.cpp:462
bool autoScaleOnTouch
When true, the bounds scale when is touched.
Definition: DisplayObject.h:197
void setScaleY(float scaleY)
Sets object y scale.
Definition: DisplayObject.cpp:406
virtual void renderTraversal(const Color &color)
Recursively calls render in all childs objects.
Definition: DisplayObject.cpp:223
glm::vec2 getPosition() const
Returns object position.
Definition: DisplayObject.cpp:379
Core object used to display things in screen.
Definition: DisplayObject.h:23
float getScaleY() const
Returns object y scale.
Definition: DisplayObject.cpp:414
Represents a render material that would affect how objects will be rendered.
Definition: Material.h:39
Represents a Rectangle.
Definition: Rectangle.h:10
void setSkewX(float skewX)
Sets object x skew.
Definition: DisplayObject.cpp:432
float getSkewY() const
Returns object y skew.
Definition: DisplayObject.cpp:447
void setText(rag::DisplayObject *displayObject, const std::string &text)
Helper function to set a text.
Definition: DisplayObject.cpp:670
void deleteChild(DisplayObject *child)
Deletes a specific child from the DisplayList.
Definition: DisplayObject.cpp:124
glm::vec2 localToGlobal(const glm::vec2 &point)
Converts local coordinates to global coordinates.
Definition: DisplayObject.cpp:499
virtual void prerender()
Temporal transition to new automatic batch render.
Definition: DisplayObject.cpp:196
Color color
Color of the object.
Definition: DisplayObject.h:191
void setScale(float scale)
Sets object scale.
Definition: DisplayObject.cpp:385
Represents RGBA color.
Definition: Color.h:11
void setSkewY(float skewY)
Sets object y skew.
Definition: DisplayObject.cpp:442
void setWidth(float width)
Sets object width.
Definition: DisplayObject.cpp:454
Event for handle input from screen.
Definition: TouchEvent.h:20
void updateMatrix()
Definition: DisplayObject.cpp:201
void setHeight(float height)
Sets object width.
Definition: DisplayObject.cpp:467
std::string soundName
Definition: DisplayObject.h:200
void setAngle(float angle)
Sets object orientation angle.
Definition: DisplayObject.cpp:419
bool visible
Determines object visibility.
Definition: DisplayObject.h:195
std::vector< DisplayObject * > childs
List of childs.
Definition: DisplayObject.h:190
float getX()
Returns x position.
Definition: DisplayObject.cpp:349
virtual void logicUpdate()
This function is called every frame.
Definition: DisplayObject.h:69
void setPosition(float x, float y)
Sets x and y position.
Definition: DisplayObject.cpp:367
int getNumChilds()
Returns the number of childs.
Definition: DisplayObject.cpp:690