Code

Include new routines for building the fill point queue in a standard way
[inkscape.git] / src / knot.h
index 5693417fd19db2589651a0836e74f344cacc798b..bba49f3e7479c932d9ebbf1e1ec4ad69a5d2c749 100644 (file)
@@ -36,8 +36,7 @@ class SPKnotClass;
  * A knot is a draggable object, with callbacks to change something by
  * dragging it, visuably represented by a canvas item (mostly square).
  */
-struct SPKnot {
-    GObject object;
+struct SPKnot : GObject {
     SPDesktop *desktop;   /**< Desktop we are on. */
     SPCanvasItem *item;   /**< Our CanvasItem. */
     guint flags;
@@ -64,6 +63,8 @@ struct SPKnot {
 
     gulong _event_handler_id;
 
+    double pressure; /**< The tablet pen pressure when the knot is being dragged. */
+
     //TODO: all the members above should eventualle become private, accessible via setters/getters
     inline void setSize (guint i) {size = i;}
     inline void setShape (guint i) {shape = (SPKnotShapeType) i;}
@@ -116,7 +117,6 @@ struct SPKnot {
 /// The SPKnot vtable.
 struct SPKnotClass {
     GObjectClass parent_class;
-
     gint (* event) (SPKnot *knot, GdkEvent *event);
 
     /*
@@ -142,13 +142,14 @@ GType sp_knot_get_type();
 SPKnot *sp_knot_new(SPDesktop *desktop, gchar const *tip = NULL);
 
 #define SP_KNOT_IS_VISIBLE(k) ((k->flags & SP_KNOT_VISIBLE) != 0)
-#define SP_KNOT_IS_MOSEOVER(k) ((k->flags & SP_KNOT_MOUSEOVER) != 0)
+#define SP_KNOT_IS_MOUSEOVER(k) ((k->flags & SP_KNOT_MOUSEOVER) != 0)
 #define SP_KNOT_IS_DRAGGING(k) ((k->flags & SP_KNOT_DRAGGING) != 0)
 #define SP_KNOT_IS_GRABBED(k) ((k->flags & SP_KNOT_GRABBED) != 0)
 
 void sp_knot_show(SPKnot *knot);
 void sp_knot_hide(SPKnot *knot);
 
+void sp_knot_set_flag(SPKnot *knot, guint flag, bool set);
 void sp_knot_update_ctrl(SPKnot *knot);
 
 void sp_knot_request_position(SPKnot *knot, NR::Point *pos, guint state);