]> Shamusworld >> Repos - architektonas/blobdiff - src/structs.h
Preliminary support for Polylines.
[architektonas] / src / structs.h
index d0dbb55611ae90b00a63f454c3727930f50d5482..8250a002c8dab39c8ff820b210e70ea60613bac0 100644 (file)
@@ -125,6 +125,7 @@ struct Text {
                measured(false), s(str) { p[0] = pt1; angle[0] = 0; }
 };
 
+//prolly don't need this, as this just a special case of a polyline...
 struct Polygon {
        OBJECT_COMMON;
        int sides;
@@ -134,13 +135,14 @@ struct Polygon {
 
 struct Polyline {
        OBJECT_COMMON;
-       VPVector objects;
-       bool closed;
+       VPVector points;
+//need this?  could just repeat the endpoint as well...
+//     bool closed;
        Object * clicked;
 
        Polyline(): type(OTPolyline), id(Global::objectID++), selected(false), hovered(false), hitObject(false), clicked(NULL) {}
-       void Add(void * obj) { objects.push_back(obj); }
-       void Add(VPVector objs) { objects.insert(objects.end(), objs.begin(), objs.end()); }
+       void Add(void * obj) { points.push_back(obj); }
+       void Add(VPVector objs) { points.insert(points.end(), objs.begin(), objs.end()); }
 };
 
 struct Spline {
@@ -156,7 +158,12 @@ struct Container {
        bool topLevel;
        Object * clicked;
 
-       Container(bool tl = false): type(OTContainer), id(Global::objectID++), selected(false), hovered(false), hitObject(false), topLevel(tl), clicked(NULL) {}
+       int baseUnit;            // Type of BasicUnit as seen above
+       int unitStyle;           // 0 = decimal, 1 = fractional
+       int decimalPrecision;    // 0-5, which, +1, is # of decimal places
+       int fractionalPrecision; // 0-5, which, +1, is 1/(2^n)
+
+       Container(bool tl = false): type(OTContainer), id(Global::objectID++), selected(false), hovered(false), hitObject(false), topLevel(tl), clicked(NULL), baseUnit(0), unitStyle(0), decimalPrecision(3), fractionalPrecision(4) {}
        void Add(void * obj) { objects.push_back(obj); }
        void Add(VPVector objs) { objects.insert(objects.end(), objs.begin(), objs.end()); }
 //     void DeleteContents(void) {}