class CCL::StandardSpriteDrawable

Draws a list of items, each item can have an icon and text.

class StandardSpriteDrawable:
    public CCL::Object,
    public CCL::AbstractDrawable
{
public:
    // classes

    class Item;

    // fields

     borderPen;
    BorderPen margin;
    BorderPen Margin;
     lastGroup;
     LastGroup;
     IDrawable;

    // methods

    DECLARE_CLASS_ABSTRACT (StandardSpriteDrawable, Object);

    void addItem (
        IImage* icon,
        StringRef text,
        int group = 0,
        FontRef font = Font (),
        BrushRef textBrush = SolidBrush (Colors::kBlack)
    );

    PROPERTY_OBJECT (Brush, backgroundBrush, BackgroundBrush);
    BorderPen PROPERTY_SHARED_AUTO (IImage, backgroundImage, BackgroundImage);
    PROPERTY_VARIABLE (Coord, spacing, Spacing);
    PROPERTY_VARIABLE (Coord, radius, Radius);
    PROPERTY_VARIABLE (Coord, minWidth, MinWidth);
    PROPERTY_OBJECT (Point, size, Size);
    bool finish (int options);
    void arrangeItems ();
    bool replaceItemText (int index, StringRef text);
    String getItemText (int index) const;
    bool hasGroup (int group) const;
    void CCL_API draw (const DrawArgs& args);
    float CCL_API getOpacity () const;
};

Inherited Members

public:
    // typedefs

    typedef CStringRef MemberID;

    // structs

    struct DrawArgs;

    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;
    virtual Object*CCL_API revealObject (const void* moduleAddress) = 0;
    virtual void CCL_API addObserver (IObserver* observer) = 0;
    virtual void CCL_API removeObserver (IObserver* observer) = 0;
    virtual void CCL_API signal (MessageRef msg) = 0;
    virtual void CCL_API deferSignal (IMessage* msg) = 0;
    static ISubject void addObserver (IUnknown* unknown, IObserver* observer);
    static void removeObserver (IUnknown* unknown, IObserver* observer);
    virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0;

    static IObserver void notify (
        IUnknown* unknown,
        ISubject* subject,
        MessageRef msg
    );

    virtual const ITypeInfo&CCL_API getTypeInfo () const = 0;
    virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0;
    virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0;
    virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0;
    virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0;
    DECLARE_BASE_CLASS (Object);
    virtual void CCL_API removeObserver (IObserver* observer);
    virtual void CCL_API signal (MessageRef msg);
    virtual void CCL_API deferSignal (IMessage* msg);
    virtual void deferChanged ();
    virtual void CCL_API notify (ISubject* subject, MessageRef msg);
    virtual bool equals (const Object& obj) const;
    virtual int compare (const Object& obj) const;
    virtual bool load (const Storage& storage);
    virtual bool save (const Storage& storage) const;
    virtual bool save (const OutputStorage& storage) const;
    virtual bool toString (String& string, int flags = 0) const;
    virtual int getHashCode (int size) const;
    IUnknown* asUnknown ();
    static void addGarbageCollected (Object* obj, bool globalScope = true);
    static void deferDestruction (Object* obj);
    static const void* getModuleAddress ();
    virtual void CCL_API draw (const DrawArgs& args) = 0;
    virtual float CCL_API getOpacity () const = 0;
    virtual void CCL_API takeOpacity () = 0;
    virtual float CCL_API getOpacity () const;
    virtual void CCL_API takeOpacity ();