polygon.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef GCCV_POLYGON_H
00026 #define GCCV_POLYGON_H
00027
00028 #include "fill-item.h"
00029 #include "structs.h"
00030 #include <list>
00031
00034 namespace gccv {
00035
00041 class Polygon: public FillItem
00042 {
00043 public:
00050 Polygon (Canvas *canvas, std::list <Point> &points);
00059 Polygon (Group *parent, std::list <Point> &points, ItemClient *client = NULL);
00063 virtual ~Polygon ();
00064
00070 void SetPoints (std::list <Point> &points);
00071
00072
00079 void AddPoint (double x, double y);
00087 double Distance (double x, double y, Item **item) const;
00094 void Draw (cairo_t *cr, bool is_vector) const;
00100 virtual void BuildPath (cairo_t *cr) const;
00107 void Move (double x, double y);
00108
00109 protected:
00113 void UpdateBounds ();
00114
00115 protected:
00119 std::list <Point> m_Points;
00120 };
00121
00122 }
00123
00124 #endif // GCCV_POLYGON_H