RECT_FILLED,
RECT_OUTLINE,
BEZIER,
+ GROUP,
NUMBER_OF_OBJECT_TYPES
} ObjectType;
CT_OBJTYPES,
CT_OBJBOUNDS,
CT_OBJINDICES,
- CT_OBJBEZIERS
- //CT_OBJGROUPS
+ CT_OBJBEZIERS,
+ CT_OBJGROUPS
};
Colour() = default;
Colour(float _r, float _g, float _b, float _a) : r(_r), g(_g), b(_b), a(_a) {}
};
-
- struct ObjectData
+
+ struct Group
{
- Colour colour;
-
+ unsigned start;
+ unsigned end;
+ Colour shading;
};
struct Objects
/** Used by all objects **/
std::vector<ObjectType> types; // types of objects
std::vector<Rect> bounds; // rectangle bounds of objects
-
- /** Used by BEZIER to identify data position in relevant vector **/
+ /** Used by BEZIER and GROUP to identify data position in relevant vector **/
std::vector<unsigned> data_indices;
-
/** Used by BEZIER only **/
std::vector<Bezier> beziers; // bezier curves - look up by data_indices
+ /** Used by GROUP only **/
+ std::vector<Group> groups;
};
class View;