Use Gmprat for Path bounds with TRANSFORM_BEZIERS_TO_PATH
[ipdf/code.git] / src / path.h
index fa63cb4..eb2b7b7 100644 (file)
@@ -6,6 +6,15 @@
 #include "rect.h"
 #include "real.h"
 
+#ifdef QUADTREE_DISABLED
+
+#define TRANSFORM_BEZIERS_TO_PATH
+#ifdef TRANSFORM_BEZIERS_TO_PATH
+#include "gmprat.h"
+#endif
+
+#endif
+
 namespace IPDF
 {
        
@@ -26,9 +35,10 @@ namespace IPDF
        
        struct Path
        {
-               Path(const Objects & objects, unsigned _start, unsigned _end, const Colour & _fill = Colour(128,128,128,255), const Colour & _stroke = Colour(0,0,0,0));
+               Path(Objects & objects, unsigned _start, unsigned _end, const Colour & _fill = Colour(128,128,128,255), const Colour & _stroke = Colour(0,0,0,0));
                
-               Rect SolveBounds(const Objects & objects) const;
+               Rect SolveBounds(const Objects & objects);
+               Rect & GetBounds(Objects & objects);
                std::vector<Vec2> & FillPoints(const Objects & objects, const View & view);
                
                // Is point inside shape?
@@ -45,6 +55,13 @@ namespace IPDF
                
                std::vector<Vec2> m_fill_points;
                
+               #ifdef TRANSFORM_BEZIERS_TO_PATH
+               Gmprat x;
+               Gmprat y;
+               Gmprat w;
+               Gmprat h;
+               #endif
+               
                Colour m_fill;  // colour to fill with  
                Colour m_stroke; // colour to outline with
        };

UCC git Repository :: git.ucc.asn.au