X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fipdf.h;h=968a3edc80f90ee074d9ad5a0bd1b4688f1e1d0f;hp=cd6ef6f9ea7a32441701d6962c040e5784136dbf;hb=d83560835237d360f6d12776435e91676c8ab45f;hpb=f59f24dff392428d7219ba2d6be5e1e81c344ee0 diff --git a/src/ipdf.h b/src/ipdf.h index cd6ef6f..968a3ed 100644 --- a/src/ipdf.h +++ b/src/ipdf.h @@ -29,6 +29,7 @@ namespace IPDF RECT_FILLED, RECT_OUTLINE, BEZIER, + GROUP, NUMBER_OF_OBJECT_TYPES } ObjectType; @@ -38,8 +39,8 @@ namespace IPDF CT_OBJTYPES, CT_OBJBOUNDS, CT_OBJINDICES, - CT_OBJBEZIERS - //CT_OBJGROUPS + CT_OBJBEZIERS, + CT_OBJGROUPS }; @@ -52,11 +53,12 @@ namespace IPDF 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 @@ -64,12 +66,12 @@ namespace IPDF /** Used by all objects **/ std::vector types; // types of objects std::vector 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 data_indices; - /** Used by BEZIER only **/ std::vector beziers; // bezier curves - look up by data_indices + /** Used by GROUP only **/ + std::vector groups; }; class View;