squiggle.h
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
00028 #include "line-item.h"
00029
00030 namespace gccv {
00031
00032 class Squiggle: public LineItem
00033 {
00034 public:
00035 Squiggle (Canvas *canvas, double xstart, double ystart, double xend, double yend);
00036 Squiggle (Group *parent, double xstart, double ystart, double xend, double yend, ItemClient *client = NULL);
00037 virtual ~Squiggle ();
00038
00039 void SetPosition (double xstart, double ystart, double xend, double yend);
00040
00041
00042 double Distance (double x, double y, Item **item) const;
00043 void Draw (cairo_t *cr, bool is_vector) const;
00044 void UpdateBounds ();
00045 void Move (double x, double y);
00046
00047 private:
00048 double m_xstart;
00049 double m_ystart;
00050 double m_xend;
00051 double m_yend;
00052
00053 GCCV_ITEM_POS_PROP (double, Width)
00054 GCCV_ITEM_POS_PROP (double, Step)
00055 };
00056
00057 }
00058
00059 #endif // GCCV_SQUIGGLE_H