gui/broken_edge.h
author deba
Fri, 14 Oct 2005 10:58:54 +0000
changeset 1724 b20777184ba8
parent 1524 587a823bcdd0
permissions -rw-r--r--
Heap not for the dijkstra

It will be used in the minCut algorithm
     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