gccv/arrow.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_ARROW_H
00026 #define GCCV_ARROW_H
00027
00028 #include "line.h"
00029 #include "structs.h"
00030
00033 namespace gccv {
00034
00041 class Arrow: public Line
00042 {
00043 public:
00054 Arrow (Canvas *canvas, double xstart, double ystart, double xend, double yend);
00066 Arrow (Group *parent, double xstart, double ystart, double xend, double yend, ItemClient *client = NULL);
00070 virtual ~Arrow ();
00071
00072
00080 double Distance (double x, double y, Item **item) const;
00087 void Draw (cairo_t *cr, bool is_vector) const;
00088
00089 protected:
00093 void UpdateBounds ();
00094
00095 private:
00096
00105 GCCV_ITEM_POS_PROP (ArrowHeads, StartHead)
00114 GCCV_ITEM_POS_PROP (ArrowHeads, EndHead)
00123 GCCV_ITEM_POS_PROP (double, A)
00133 GCCV_ITEM_POS_PROP (double, B)
00142 GCCV_ITEM_POS_PROP (double, C)
00143 };
00144
00145 }
00146
00147 #endif // GCCV_SQUIGGLE_H