4 #include "transformationtype.h"
10 #ifdef TRANSFORM_BEZIERS_TO_PATH
18 #ifdef TRANSFORM_BEZIERS_TO_PATH
19 #pragma message "Path using Gmprat for bounds"
24 typedef TRect<PReal> PRect;
28 uint8_t r; uint8_t g; uint8_t b; uint8_t a;
30 Colour(uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a) : r(_r), g(_g), b(_b), a(_a) {}
31 bool operator==(const Colour & c) const
33 return (r == c.r && g == c.g && b == c.b && a == c.a);
35 bool operator!=(const Colour & c) const {return !this->operator==(c);}
43 Path(Objects & objects, unsigned _start, unsigned _end, const Colour & _fill = Colour(128,128,128,255), const Colour & _stroke = Colour(0,0,0,0));
45 Rect SolveBounds(const Objects & objects);
46 Rect & GetBounds(Objects & objects);
47 std::vector<Vec2> & FillPoints(const Objects & objects, const View & view);
49 // Is point inside shape?
50 bool PointInside(const Objects & objects, const Vec2 & pt, bool debug=false) const;
52 unsigned m_start; // First bounding Bezier index
53 unsigned m_end; // Last (inclusive) '' ''
54 unsigned m_index; // index into Objects array
61 std::vector<Vec2> m_fill_points;
66 Colour m_fill; // colour to fill with
67 Colour m_stroke; // colour to outline with