class EE::Graphics::StateListDrawable

#include <statelistdrawable.hpp>

class StateListDrawable: public EE::Graphics::StatefulDrawable {
public:
    // construction

    StateListDrawable(const std::string& name = "");
    virtual ~StateListDrawable();

    // methods

    static StateListDrawable* New(const std::string& name = "");
    virtual Sizef getSize();
    virtual Sizef getPixelsSize();
    virtual Sizef getSize(const Uint32& state);
    virtual Sizef getPixelsSize(const Uint32& state);
    virtual void draw();
    virtual void draw(const Vector2f& position);
    virtual void draw(const Vector2f& position, const Sizef& size);
    virtual bool isStateful();
    virtual StatefulDrawable* setState(Uint32 state);
    virtual const Uint32& getState() const;
    virtual Drawable* getStateDrawable(const Uint32& state);
    virtual StateListDrawable* setStateDrawable(const Uint32& state, Drawable* drawable, bool ownIt = false);
    virtual Sizef getStateSize(const Uint32& state);
    virtual StateListDrawable* setStateColor(const Uint32& state, const Color& color);
    virtual Color getStateColor(const Uint32& state);
    virtual StateListDrawable* setStateAlpha(const Uint32& state, const Uint8& alpha);
    virtual Uint8 getStateAlpha(const Uint32& state);
    bool hasDrawableState(const Uint32& state) const;
    bool hasDrawableStateColor(const Uint32& state) const;
    void clearDrawables();
};

Inherited Members

public:
    // typedefs

    typedef std::function<void(Uint32, Event, DrawableResource*)> OnResourceChangeCallback;

    // enums

    enum Type;
    enum Event;

    // methods

    virtual Sizef getSize() = 0;
    virtual Sizef getPixelsSize() = 0;
    virtual void draw() = 0;
    virtual void draw(const Vector2f& position) = 0;
    virtual void draw(const Vector2f& position, const Sizef& size) = 0;
    virtual bool isStateful() = 0;
    void setAlpha(Uint8 alpha);
    const Uint8& getAlpha();
    void setColor(const Color& color);
    const Color& getColor() const;
    void setColorFilter(const Color& color);
    RGB getColorFilter();
    void clearColor();
    void clearColorFilter();
    void resetAlpha();
    Type getDrawableType() const;
    const Vector2f& getPosition() const;
    void setPosition(const Vector2f& position);
    virtual bool isDrawableResource() const;
    const String::HashType& getId() const;
    const std::string getName() const;
    void setName(const std::string& name);
    virtual bool isDrawableResource() const;
    Uint32 pushResourceChangeCallback(const OnResourceChangeCallback& cb);
    bool popResourceChangeCallback(const Uint32& callbackId);
    virtual StatefulDrawable* setState(Uint32 state) = 0;
    virtual const Uint32& getState() const = 0;