X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fipdf.h;h=c9a6a234f31ab7688d5f61412bc150497d846da7;hp=e150088ce90058837e877f638f5ad280bab35a4a;hb=e164c93218ed4599614f4f6e5e815429a3fedbf7;hpb=428f1eb86a616d95dbb72ff08a3d09771d5c47e6 diff --git a/src/ipdf.h b/src/ipdf.h index e150088..c9a6a23 100644 --- a/src/ipdf.h +++ b/src/ipdf.h @@ -2,18 +2,29 @@ #define _IPDF_H #include "common.h" +#include "real.h" + +#define C_RED Colour(1,0,0,1) +#define C_GREEN Colour(0,1,0,1) +#define C_BLUE Colour(0,0,1,1) 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); } typedef unsigned ObjectID; + typedef enum {RECT_FILLED, RECT_OUTLINE} ObjectType; + + enum DocChunkTypes + { + CT_NUMOBJS, + CT_OBJTYPES, + CT_OBJBOUNDS + }; struct Rect { @@ -28,8 +39,16 @@ 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; std::vector bounds; };