X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fipdf.h;h=d6dc955cc0f1c434efa84251bf6413168c3393fc;hp=0264d96f550c719846cea1471bb9d02b6d3c1105;hb=7fc41b098090ad2d365ef34700542656947aa8ff;hpb=b006386ab52e8a2c47c20bc21591d01c314d4d8e diff --git a/src/ipdf.h b/src/ipdf.h index 0264d96..d6dc955 100644 --- a/src/ipdf.h +++ b/src/ipdf.h @@ -2,18 +2,30 @@ #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); + } 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; + 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() { @@ -25,6 +37,7 @@ namespace IPDF struct Objects { + std::vector types; std::vector bounds; };