gccv/arrow.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_ARROW_H
00026 #define GCCV_ARROW_H
00027
00028 #include "line.h"
00029 #include "structs.h"
00030
00031 namespace gccv {
00032
00033 class Arrow: public Line
00034 {
00035 public:
00036 Arrow (Canvas *canvas, double xstart, double ystart, double xend, double yend);
00037 Arrow (Group *parent, double xstart, double ystart, double xend, double yend, ItemClient *client = NULL);
00038 virtual ~Arrow ();
00039
00040
00041 double Distance (double x, double y, Item **item) const;
00042 void Draw (cairo_t *cr, bool is_vector) const;
00043 void UpdateBounds ();
00044
00045 private:
00046
00047 GCCV_ITEM_POS_PROP (ArrowHeads, StartHead)
00048 GCCV_ITEM_POS_PROP (ArrowHeads, EndHead)
00049 GCCV_ITEM_POS_PROP (double, A)
00050 GCCV_ITEM_POS_PROP (double, B)
00051 GCCV_ITEM_POS_PROP (double, C)
00052 };
00053
00054 }
00055
00056 #endif // GCCV_SQUIGGLE_H