X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fipdf.h;h=7150944278dc44a411057d577f9b3b020ce16461;hp=4041bca776ef5145bab4f161fd713b94ceedf6e5;hb=700f1449af19115ff2bbe50ad67ea7c73f9aa5cd;hpb=901ea3355265e7f413674a62f7c29806ae35a565 diff --git a/src/ipdf.h b/src/ipdf.h index 4041bca..7150944 100644 --- a/src/ipdf.h +++ b/src/ipdf.h @@ -2,12 +2,11 @@ #define _IPDF_H #include "common.h" +#include "real.h" namespace IPDF { - typedef float Real; - - inline float RealToFloat(Real r) {return r;} + inline Real Random(Real max=1, Real min=0) { return min + (max-min) * ((Real)(rand() % (int)1e6) / 1e6); @@ -16,6 +15,13 @@ namespace IPDF typedef unsigned ObjectID; typedef enum {RECT_FILLED, RECT_OUTLINE} ObjectType; + enum DocChunkTypes + { + CT_NUMOBJS, + CT_OBJTYPES, + CT_OBJBOUNDS + }; + struct Rect { Real x; Real y; Real w; Real h; @@ -29,6 +35,13 @@ namespace IPDF } }; + struct Colour + { + float r; float g; float b; float a; + Colour() = default; + Colour(float _r, float _g, float _b, float _a) : r(_r), g(_g), b(_b), a(_a) {} + }; + struct Objects { std::vector types;