10 inline Real Random(Real max=1, Real min=0)
12 return min + (max-min) * ((Real)(rand() % (int)1e6) / 1e6);
15 typedef unsigned ObjectID;
16 typedef enum {RECT_FILLED, RECT_OUTLINE} ObjectType;
27 Real x; Real y; Real w; Real h;
28 Rect() = default; // Needed so we can fread/fwrite this struct
29 Rect(Real _x, Real _y, Real _w, Real _h) : x(_x), y(_y), w(_w), h(_h) {}
33 s << "{" << x << ", " << y << ", " << w << ", " << h << "}";
40 float r; float g; float b; float a;
42 Colour(float _r, float _g, float _b, float _a) : r(_r), g(_g), b(_b), a(_a) {}
47 std::vector<ObjectType> types;
48 std::vector<Rect> bounds;