X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fknotholder.h;h=76142ed9826b14b8c9433b9d303a28c35df3ac85;hb=8a2e76b7021b9b960d7c30801a1a14461d9b5939;hp=14a1397689f5fc23a1f53c6b3476266468977e4c;hpb=1e944d29efb206f5d0b5d1069cb098e22169d548;p=inkscape.git diff --git a/src/knotholder.h b/src/knotholder.h index 14a139768..76142ed98 100644 --- a/src/knotholder.h +++ b/src/knotholder.h @@ -21,6 +21,7 @@ #include "knot-enums.h" #include "forward.h" #include "libnr/nr-forward.h" +#include <2geom/forward.h> #include "knot-holder-entity.h" #include @@ -30,12 +31,6 @@ class Node; } } - -typedef void (* SPKnotHolderSetFunc) (SPItem *item, NR::Point const &p, NR::Point const &origin, guint state); -typedef NR::Point (* SPKnotHolderGetFunc) (SPItem *item); -/* fixme: Think how to make callbacks most sensitive (Lauris) */ -typedef void (* SPKnotHolderReleasedFunc) (SPItem *item); - class KnotHolder { public: KnotHolder() {} // do nothing in the default constructor @@ -44,7 +39,7 @@ public: void update_knots(); - void knot_moved_handler(SPKnot *knot, NR::Point const *p, guint state); + void knot_moved_handler(SPKnot *knot, Geom::Point const &p, guint state); void knot_clicked_handler(SPKnot *knot, guint state); void knot_ungrabbed_handler(SPKnot *knot); @@ -52,21 +47,28 @@ public: void add_pattern_knotholder(); -//private: + const SPItem *getItem() { return item; } + + bool knot_mouseover(); + + friend class ShapeEditor; + +protected: SPDesktop *desktop; SPItem *item; // TODO: Remove this and keep the actual item (e.g., SPRect etc.) in the item-specific knotholders + Inkscape::XML::Node *repr; ///< repr of the item, for setting and releasing listeners. std::list entity; SPKnotHolderReleasedFunc released; - Inkscape::XML::Node *repr; ///< repr of the item, for setting and releasing listeners. - gboolean local_change; ///< if true, no need to recreate knotholder if repr was changed. + + bool dragging; }; /** void knot_clicked_handler(SPKnot *knot, guint state, gpointer data); -void knot_moved_handler(SPKnot *knot, NR::Point const *p, guint state, gpointer data); +void knot_moved_handler(SPKnot *knot, Geom::Point const *p, guint state, gpointer data); void knot_ungrabbed_handler(SPKnot *knot, unsigned int state, KnotHolder *kh); **/ @@ -81,4 +83,4 @@ void knot_ungrabbed_handler(SPKnot *knot, unsigned int state, KnotHolder *kh); fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :