- Real x; Real y; Real w; Real h;
- Rect() = default; // Needed so we can fread/fwrite this struct
- Rect(Real _x, Real _y, Real _w, Real _h) : x(_x), y(_y), w(_w), h(_h) {}
- std::string Str()
+ /** Used by all objects **/
+ std::vector<ObjectType> types; // types of objects
+ std::vector<Rect> bounds; // rectangle bounds of objects
+ /** 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 PATH only **/
+ std::vector<Path> paths;
+
+ void Clear()