#ifndef _PATH_H
#define _PATH_H
+#include "transformationtype.h"
#include <vector>
#include <algorithm>
#include "rect.h"
#include "real.h"
+#ifdef TRANSFORM_BEZIERS_TO_PATH
+ #include "gmprat.h"
+ #include "paranoidnumber.h"
+#endif
+
+
namespace IPDF
{
+ #ifdef TRANSFORM_BEZIERS_TO_PATH
+ typedef Gmprat PReal;
+ #else
+ typedef Real PReal;
+ #endif
+ typedef TRect<PReal> PRect;
struct Colour
{
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?
std::vector<Vec2> m_fill_points;
+ PRect m_bounds;
+
+
Colour m_fill; // colour to fill with
Colour m_stroke; // colour to outline with
};