Support colours in shading
[ipdf/code.git] / src / ipdf.h
index cd6ef6f..968a3ed 100644 (file)
@@ -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<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;

UCC git Repository :: git.ucc.asn.au