squiggle.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_SQUIGGLE_H
00026 #define GCCV_SQUIGGLE_H
00027
00030 #include "line-item.h"
00031
00032 namespace gccv {
00033
00039 class Squiggle: public LineItem
00040 {
00041 public:
00051 Squiggle (Canvas *canvas, double xstart, double ystart, double xend, double yend);
00063 Squiggle (Group *parent, double xstart, double ystart, double xend, double yend, ItemClient *client = NULL);
00067 virtual ~Squiggle ();
00068
00077 void SetPosition (double xstart, double ystart, double xend, double yend);
00078
00079
00087 double Distance (double x, double y, Item **item) const;
00094 void Draw (cairo_t *cr, bool is_vector) const;
00101 void Move (double x, double y);
00102
00103 protected:
00107 void UpdateBounds ();
00108
00109 private:
00110 double m_xstart;
00111 double m_ystart;
00112 double m_xend;
00113 double m_yend;
00114
00123 GCCV_ITEM_POS_PROP (double, Width)
00132 GCCV_ITEM_POS_PROP (double, Step)
00133 };
00134
00135 }
00136
00137 #endif // GCCV_SQUIGGLE_H