broken_edge.h
branchgui
changeset 89 4042761b21e3
parent 30 f70bbee5350a
equal deleted inserted replaced
6:a01f9e6d2b89 -1:000000000000
     1 // -*- C++ -*- //
       
     2 
       
     3 #ifndef BROKEN_EDGE_H
       
     4 #define BROKEN_EDGE_H
       
     5 
       
     6 class BrokenEdge;
       
     7 
       
     8 #include "all_include.h"
       
     9 #include <libgnomecanvasmm.h>
       
    10 #include <libgnomecanvasmm/polygon.h>
       
    11 #include "graph_displayer_canvas.h"
       
    12 #include <lemon/xy.h>
       
    13 
       
    14 class BrokenEdge : public Gnome::Canvas::Line
       
    15 {
       
    16   GraphDisplayerCanvas & gdc;
       
    17   Gnome::Canvas::Polygon * arrow;
       
    18   Gnome::Art::Point * my_points;
       
    19 
       
    20 
       
    21   ///Indicates whether the button of mouse is pressed or not
       
    22   bool isbutton;
       
    23 
       
    24   ///At this location was the mousebutton pressed.
       
    25   ///It helps to calculate the distance of dragging.
       
    26   double clicked_x, clicked_y;
       
    27 
       
    28   ///event handler for forming edges
       
    29   bool edgeFormerEventHandler(GdkEvent*);
       
    30  public:
       
    31   BrokenEdge(Gnome::Canvas::Group &, Gnome::Canvas::Points, GraphDisplayerCanvas &);
       
    32   ~BrokenEdge();
       
    33   void setPoints(Gnome::Canvas::Points, bool move=false);
       
    34   xy<double> getArrowPos();
       
    35 };
       
    36 
       
    37 
       
    38 #endif //BROKEN_EDGE_H
       
    39