diff --git a/src/knot.h b/src/knot.h
index 795eeb8e30064f2d860dc2b5810efad69a9ec146..bba49f3e7479c932d9ebbf1e1ec4ad69a5d2c749 100644 (file)
--- a/src/knot.h
+++ b/src/knot.h
* 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;
gchar *tip;
+ 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;}
/// The SPKnot vtable.
struct SPKnotClass {
GObjectClass parent_class;
-
gint (* event) (SPKnot *knot, GdkEvent *event);
/*
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);