line.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_LINE_H
00026 #define GCCV_LINE_H
00027
00030 #include "line-item.h"
00031
00032 namespace gccv {
00033
00039 class Line: public LineItem
00040 {
00041 public:
00051 Line (Canvas *canvas, double xstart, double ystart, double xend, double yend);
00063 Line (Group *parent, double xstart, double ystart, double xend, double yend, ItemClient *client = NULL);
00067 virtual ~Line ();
00076 void SetPosition (double xstart, double ystart, double xend, double yend);
00077
00078
00086 double Distance (double x, double y, Item **item) const;
00093 void Draw (cairo_t *cr, bool is_vector) const;
00100 void Move (double x, double y);
00101
00102 protected:
00106 void UpdateBounds ();
00107
00108 protected:
00112 double m_xstart;
00116 double m_ystart;
00120 double m_xend;
00124 double m_yend;
00125 };
00126
00127 }
00128
00129 #endif // GCCV_LINE_H