class EE::Graphics::TextureDrawable

Overview

Per-consumer drawable state backed by a shared texture resource. More…

#include <texturedrawable.hpp>

class TextureDrawable: public EE::Graphics::DrawableResource {
public:
    // construction

    TextureDrawable(TexturePtr texture);

    // methods

    static TextureDrawablePtr New(TexturePtr texture);
    virtual Sizef getSize();
    virtual Sizef getPixelsSize();
    virtual void draw();
    virtual void draw(const Vector2f& position);
    virtual void draw(const Vector2f& position, const Sizef& size);
    virtual bool isStateful();
    virtual DrawablePtr clone() const;
    const TexturePtr& getTexture() const;
};

Inherited Members

public:
    // typedefs

    typedef DrawableResourceCallbackState::Callback OnResourceChangeCallback;

    // enums

    enum Type;

    // methods

    virtual Sizef getSize() = 0;
    virtual Sizef getPixelsSize() = 0;
    virtual Float getMinIntrinsicWidth();
    virtual Float getMaxIntrinsicWidth();
    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;
    virtual DrawablePtr clone() const;
    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;
    DrawableResourceConnection connectResourceChange(OnResourceChangeCallback cb);

Detailed Documentation

Per-consumer drawable state backed by a shared texture resource.

Methods

virtual DrawablePtr clone() const

Creates an independently mutable instance backed by the same immutable resource data. This is an ownership/setup operation; rendering loops must retain and reuse the result.