Oxygine  1
2g game engine
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
oxygine::Sprite Class Reference
Inheritance diagram for oxygine::Sprite:
oxygine::VStyleActor oxygine::Actor oxygine::EventDispatcher oxygine::intrusive_list_item< spActor > oxygine::Serializable oxygine::Object oxygine::ref_counter oxygine::ObjectBase oxygine::PoolObject oxygine::Box9Sprite oxygine::Button oxygine::ColorRectSprite oxygine::MaskedSprite oxygine::Polygon oxygine::ProgressBar

Public Types

typedef oxygine::TweenAnim TweenAnim
 
- Public Types inherited from oxygine::VStyleActor
typedef Property< Color, const Color &, VStyleActor, &VStyleActor::getColor, &VStyleActor::setColor > TweenColor
 
- Public Types inherited from oxygine::Actor
typedef Property2Args< float, Vector2, const Vector2 &, Actor, &Actor::getPosition, &Actor::setPosition > TweenPosition
 
typedef Property< float, float, Actor, &Actor::getX, &Actor::setX > TweenX
 
typedef Property< float, float, Actor, &Actor::getY, &Actor::setY > TweenY
 
typedef Property< float, float, Actor, &Actor::getWidth, &Actor::setWidth > TweenWidth
 
typedef Property< float, float, Actor, &Actor::getHeight, &Actor::setHeight > TweenHeight
 
typedef Property2Args2< float, Vector2, Vector2, const Vector2 &, Actor, &Actor::getSize, &Actor::setSizeTweenSize
 
typedef Property< float, float, Actor, &Actor::getRotation, &Actor::setRotationTweenRotation
 
typedef Property< float, float, Actor, &Actor::getRotationDegrees, &Actor::setRotationDegreesTweenRotationDegrees
 
typedef Property2Args1Arg< float, Vector2, const Vector2 &, Actor, &Actor::getScale, &Actor::setScale > TweenScale
 
typedef Property2Args1Arg< float, Vector2, const Vector2 &, Actor, &Actor::getAnchor, &Actor::setAnchorTweenAnchor
 
typedef Property< float, float, Actor, &Actor::getScaleX, &Actor::setScaleX > TweenScaleX
 
typedef Property< float, float, Actor, &Actor::getScaleY, &Actor::setScaleY > TweenScaleY
 
typedef Property< unsigned char, unsigned char, Actor, &Actor::getAlpha, &Actor::setAlphaTweenAlpha
 
- Public Types inherited from oxygine::ObjectBase
typedef std::vector< ObjectBase * > __createdObjects
 

Public Member Functions

 DECLARE_COPYCLONE_NEW (Sprite)
 
const AnimationFramegetAnimFrame () const
 
RectF getDestRect () const override
 
const DiffusegetDiffuse () const
 
bool getManageResAnim () const
 
const RectFgetSrcRect () const
 
const ResAnimgetResAnim () const
 
int getColumn () const
 
int getRow () const
 
const Vector2getLocalScale () const
 
void setManageResAnim (bool manage)
 
void setAnimFrame (const AnimationFrame &f)
 
void setAnimFrame (const ResAnim *resanim, int col=0, int row=0)
 
virtual void setResAnim (const ResAnim *resanim, int col=0, int row=0)
 
void setRow (int row)
 
void setColumn (int column)
 
void setColumnRow (int column, int row)
 
void setLocalScale (const Vector2 &s)
 
bool isOn (const Vector2 &localPosition, float localScale) override
 
bool isFlippedX () const
 
bool isFlippedY () const
 
void setFlippedX (bool flippedX)
 
void setFlippedY (bool flippedY)
 
void setFlipped (bool flippedX, bool flippedY)
 
void serialize (serializedata *data) override
 
void deserialize (const deserializedata *data) override
 
std::string dump (const dumpOptions &) const override
 
void doRender (const RenderState &) override
 
- Public Member Functions inherited from oxygine::VStyleActor
 DECLARE_COPYCLONE_NEW (VStyleActor)
 
void serialize (serializedata *data) override
 
void deserialize (const deserializedata *data) override
 
blend_mode getBlendMode () const
 
const ColorgetColor () const
 
void setColor (const Color &color)
 
void setColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
void setBlendMode (blend_mode mode)
 
bool getBounds (RectF &b) const override
 
- Public Member Functions inherited from oxygine::Actor
 Actor (const Actor &src, cloneOptions opt=0)
 
virtual Actorclone (cloneOptions opt=0) const
 
void copyFrom (const Actor &src, cloneOptions opt=0)
 
spActor getFirstChild () const
 
spActor getLastChild () const
 
spActor getNextSibling () const
 
spActor getPrevSibling () const
 
ActorgetDescendant (const std::string &name, error_policy ep=ep_show_error)
 
template<class T >
T * getDescendantT (const std::string &name, error_policy ep=ep_show_error)
 
spActor getChild (const std::string &name, error_policy ep=ep_show_error) const
 
template<class T >
T * getChildT (const std::string &name, error_policy ep=ep_show_error) const
 
spTween getTween (const std::string &name, error_policy ep=ep_show_error)
 
spTween getFirstTween () const
 
spTween getLastTween () const
 
const Vector2getAnchor () const
 
float getAnchorX () const
 
float getAnchorY () const
 
bool getIsAnchorInPixels ()
 
const Vector2getPosition () const
 
float getX () const
 
float getY () const
 
const Vector2getScale () const
 
float getScaleX () const
 
float getScaleY () const
 
float getRotation () const
 
float getRotationDegrees () const
 
int getPriority () const
 
bool getVisible () const
 
ActorgetParent ()
 
const ActorgetParent () const
 
Vector2 getSize () const
 
Vector2 getScaledSize () const
 
float getWidth () const
 
float getScaledWidth () const
 
float getHeight () const
 
float getScaledHeight () const
 
unsigned char getAlpha () const
 
const spClock & getClock () const
 
pointer_index getPressed (MouseButton b=MouseButton_Touch) const
 
pointer_index getOvered () const
 
bool getTouchEnabled () const
 
bool getTouchChildrenEnabled () const
 
UpdateCallback getCallbackDoUpdate () const
 
MaterialgetMaterial ()
 
const Transform & getTransform () const
 
const Transform & getTransformInvert () const
 
Transform computeGlobalTransform (Actor *parent=0) const
 
RectF computeBounds (const Transform &transform=Transform::getIdentity()) const
 
void setAnchor (const Vector2 &anchor)
 
void setAnchor (float ax, float ay)
 
void setAnchorInPixels (const Vector2 &anchor)
 
void setAnchorInPixels (float x, float y)
 
void setAnchorX (float x)
 
void setAnchorY (float y)
 
void setPosition (const Vector2 &pos)
 
void setPosition (float x, float y)
 
void setX (float x)
 
void setY (float y)
 
void setTransform (const AffineTransform &tr)
 
void setPriority (short zorder)
 
void setScale (float scale)
 
void setScale (const Vector2 &scale)
 
void setScale (float scaleX, float scaleY)
 
void setScaleX (float sx)
 
void setScaleY (float sy)
 
void setRotation (float angle)
 
void setRotationDegrees (float angle)
 
void setSize (const Vector2 &)
 
void setSize (float w, float h)
 
void setWidth (float w)
 
void setHeight (float h)
 
void setExtendedClickArea (char add)
 
void setClock (spClock clock)
 
void setMaterial (Material *mat)
 
void setVisible (bool vis)
 
void setCull (bool enable)
 
void setAlpha (unsigned char alpha)
 
void setTouchEnabled (bool enabled)
 
void setTouchChildrenEnabled (bool enabled)
 
void setTouchEnabled (bool enabled, bool childrenEnabled)
 
void setCallbackDoUpdate (UpdateCallback cb)
 
bool isDescendant (const spActor &actor) const
 
void insertSiblingBefore (spActor)
 
void insertSiblingAfter (spActor)
 
void prependChild (spActor actor)
 
void prependChild (Actor *actor)
 
void addChild (spActor actor)
 
void addChild (Actor *actor)
 
void attachTo (spActor parent)
 
void attachTo (Actor *parent)
 
void removeChild (spActor actor)
 
void removeChildren ()
 
Actordetach ()
 
void dispatchEvent (Event *event) override
 
virtual void updateStateOvered ()
 
virtual void updateStatePressed ()
 
spTween addTween (spTween)
 
spTween addTween2 (spTween, const TweenOptions &opt)
 
template<class Prop >
spTween addTween (const Prop &prop, timeMS duration, int loops=1, bool twoSides=false, timeMS delay=0, Tween::EASE ease=Tween::ease_linear)
 
template<class Prop >
spTween addTween (const Prop &prop, const TweenOptions &opt)
 
int addClickListener (const EventCallback &cb)
 
int addTouchDownListener (const EventCallback &cb)
 
int addTouchUpListener (const EventCallback &cb)
 
void removeTween (spTween)
 
void removeTweensByName (const std::string &name)
 
void removeTweens (bool callComplete=false)
 
virtual void update (const UpdateState &us)
 
virtual void render (const RenderState &rs)
 
virtual void handleEvent (Event *event)
 
Vector2 parent2local (const Vector2 &pos) const
 
Vector2 local2parent (const Vector2 &pos=Vector2(0, 0)) const
 
Vector2 local2stage (const Vector2 &pos=Vector2(0, 0), Actor *stage=0) const
 
Vector2 stage2local (const Vector2 &pos, Actor *stage=0) const
 
Stage_getStage ()
 
void setNotPressed (MouseButton b)
 
bool internalRender (RenderState &rs, const RenderState &parentRS)
 
void clean ()
 
- Public Member Functions inherited from oxygine::EventDispatcher
 EventDispatcher (const EventDispatcher &ed)
 
int addEventListener (eventType, const EventCallback &)
 
void removeEventListener (eventType, const EventCallback &)
 
void removeEventListener (int id)
 
bool hasEventListeners (void *CallbackThis)
 
bool hasEventListeners (eventType, const EventCallback &)
 
void removeEventListeners (void *CallbackThis)
 
void removeAllEventListeners ()
 
int getListenersCount () const
 
int getLastListenerID () const
 
const EventCallback & getListenerByIndex (int index) const
 
- Public Member Functions inherited from oxygine::Object
 Object (const Object &src)
 
 Object (bool assignUniqueID=true)
 
- Public Member Functions inherited from oxygine::ref_counter
void addRef ()
 
void releaseRef ()
 
- Public Member Functions inherited from oxygine::ObjectBase
 ObjectBase (const ObjectBase &src)
 
 ObjectBase (bool assignID=true)
 
const std::string & getName () const
 
const void * getUserData () const
 
int getObjectID () const
 
bool isName (const std::string &name) const
 
bool isName (const char *name) const
 
void setName (const std::string &name)
 
void setUserData (const void *data)
 
void dumpObject () const
 
void __removeFromDebugList ()
 
- Public Member Functions inherited from oxygine::intrusive_list_item< spActor >
intrusive_list< spActor > * getParentList ()
 
- Public Member Functions inherited from oxygine::Serializable
virtual void deserializeLink (const deserializeLinkData *)
 

Protected Types

enum  { flag_manageResAnim = flag_last << 1, flag_flipX = flag_last << 2, flag_flipY = flag_last << 3 }
 
- Protected Types inherited from oxygine::Actor
enum  flags {
  flag_anchorInPixels = 1, flag_visible = 1 << 1, flag_touchEnabled = 1 << 2, flag_transformDirty = 1 << 3,
  flag_transformInvertDirty = 1 << 4, flag_touchChildrenEnabled = 1 << 5, flag_cull = 1 << 6, flag_fastTransform = 1 << 7,
  flag_reserved = 1 << 8, flag_last = flag_reserved
}
 
typedef intrusive_list< spActor > children
 
typedef intrusive_list< spTween > tweens
 
- Protected Types inherited from oxygine::EventDispatcher
typedef std::vector< listenerlisteners
 

Protected Member Functions

virtual void changeAnimFrame (const AnimationFrame &f)
 
virtual void animFrameChanged (const AnimationFrame &f)
 
void sizeChanged (const Vector2 &size) override
 
- Protected Member Functions inherited from oxygine::Actor
void added2stage (Stage *)
 
void removedFromStage ()
 
virtual void onAdded2Stage ()
 
virtual void onRemovedFromStage ()
 
virtual void transformUpdated ()
 
virtual void calcBounds2 (RectF &bounds, const Transform &transform) const
 
void _onGlobalTouchUpEvent (Event *)
 
void _onGlobalTouchUpEvent1 (Event *)
 
void _onGlobalTouchUpEvent2 (Event *)
 
void _onGlobalTouchMoveEvent (Event *)
 
const Vector2_getSize () const
 
void _setSize (const Vector2 &)
 
Actor_getDescendant (const std::string &name)
 
spTween _addTween (spTween tween, bool rel)
 
bool prepareRender (RenderState &rs, const RenderState &parentRS)
 
void completeRender (const RenderState &rs)
 
void updateTransform () const
 
void internalUpdate (const UpdateState &us)
 
virtual void doUpdate (const UpdateState &us)
 
- Protected Member Functions inherited from oxygine::Object
void __doCheck ()
 
- Protected Member Functions inherited from oxygine::ObjectBase
void __generateID ()
 
std::string * __getName () const
 
void __freeName () const
 
- Protected Member Functions inherited from oxygine::intrusive_list_item< spActor >
spActor & getNextSibling ()
 
spActor & getPrevSibling ()
 

Protected Attributes

Vector2 _localScale
 
AnimationFrame _frame
 
- Protected Attributes inherited from oxygine::VStyleActor
VisualStyle _vstyle
 
- Protected Attributes inherited from oxygine::Actor
Material_material
 
Stage_stage
 
UpdateCallback _cbDoUpdate
 
Transform _transform
 
Transform _transformInvert
 
unsigned short _flags
 
unsigned char _alpha
 
char _extendedIsOn
 
spClock _clock
 
Actor_parent
 
tweens _tweens
 
children _children
 
union {
   struct {
      pointer_index   _overred
 
      pointer_index   _pressedButton [MouseButton_Num]
 
   } 
 
   int32_t   _pressedOvered
 
}; 
 
- Protected Attributes inherited from oxygine::EventDispatcher
int _lastID
 
listeners * _listeners
 
- Protected Attributes inherited from oxygine::ObjectBase
std::string __name
 
int __id
 
const void * __userData
 
- Protected Attributes inherited from oxygine::intrusive_list_item< spActor >
spActor _prev
 
spActor _next
 
intrusive_list< spActor > * _list
 

Additional Inherited Members

- Static Public Member Functions inherited from oxygine::ObjectBase
static void dumpCreatedObjects ()
 
static void showAssertInCtor (int id)
 
static void showAssertInDtor (int id)
 
static __createdObjects & __getCreatedObjects ()
 
static void __startTracingLeaks ()
 
static void __stopTracingLeaks ()
 
- Public Attributes inherited from oxygine::ref_counter
int _ref_counter
 
- Static Protected Member Functions inherited from oxygine::Actor
static void setParent (Actor *actor, Actor *parent)
 
static childrengetChildren (spActor &actor)
 
static unsigned short & _getFlags (Actor *actor)
 
- Static Protected Member Functions inherited from oxygine::ObjectBase
static void __addToDebugList (ObjectBase *base)
 
static void __removeFromDebugList (ObjectBase *base)
 
- Static Protected Attributes inherited from oxygine::ObjectBase
static int _lastID
 
static int _assertCtorID
 
static int _assertDtorID
 

Member Function Documentation

◆ dump()

std::string oxygine::Sprite::dump ( const dumpOptions &  opt) const
overridevirtual

Returns detailed actor information. Used for debug purposes.

Reimplemented from oxygine::Actor.

◆ isOn()

bool oxygine::Sprite::isOn ( const Vector2 localPosition,
float  localScale 
)
overridevirtual

Sets callback which would be called each Actor::render cycle before doRender. Use it if you don't want inherit from Actor and overload Actor::doRender.

Reimplemented from oxygine::Actor.

◆ setAnimFrame() [1/2]

void oxygine::Sprite::setAnimFrame ( const AnimationFrame f)

Changes sprite image

◆ setAnimFrame() [2/2]

void oxygine::Sprite::setAnimFrame ( const ResAnim resanim,
int  col = 0,
int  row = 0 
)

Takes AnimationFrame from ResAnim and set it as current to Sprite. Shows assert is resanim is null. Using this method is more safe than 'setAnimFrame(const AnimationFrame &f)'

◆ setManageResAnim()

void oxygine::Sprite::setManageResAnim ( bool  manage)

load/unload atlas automatically or not


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