summaryrefslogtreecommitdiffstats
path: root/src/knot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/knot.cpp')
-rw-r--r--src/knot.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/knot.cpp b/src/knot.cpp
index b57c938c3..8ac84b97b 100644
--- a/src/knot.cpp
+++ b/src/knot.cpp
@@ -71,6 +71,7 @@ SPKnot::SPKnot(SPDesktop *desktop, gchar const *tip)
this->flags = 0;
this->size = 8;
+ this->angle = 0;
this->pos = Geom::Point(0, 0);
this->grabbed_rel_pos = Geom::Point(0, 0);
this->anchor = SP_ANCHOR_CENTER;
@@ -111,6 +112,7 @@ SPKnot::SPKnot(SPDesktop *desktop, gchar const *tip)
SP_TYPE_CTRL,
"anchor", SP_ANCHOR_CENTER,
"size", 8.0,
+ "angle", 0.0,
"filled", TRUE,
"fill_color", 0xffffff00,
"stroked", TRUE,
@@ -214,7 +216,7 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot
if ((event->button.button == 1) && knot->desktop && knot->desktop->event_context && !knot->desktop->event_context->space_panning) {
Geom::Point const p = knot->desktop->w2d(Geom::Point(event->button.x, event->button.y));
knot->startDragging(p, (gint) event->button.x, (gint) event->button.y, event->button.time);
-
+ knot->grabbed_signal.emit(knot, event->button.state);
consumed = TRUE;
}
break;
@@ -449,6 +451,7 @@ void SPKnot::updateCtrl() {
g_object_set(this->item, "shape", this->shape, NULL);
g_object_set(this->item, "mode", this->mode, NULL);
g_object_set(this->item, "size", (gdouble) this->size, NULL);
+ g_object_set(this->item, "angle", this->angle, NULL);
g_object_set(this->item, "anchor", this->anchor, NULL);
if (this->pixbuf) {
@@ -492,6 +495,10 @@ void SPKnot::setPixbuf(gpointer p) {
pixbuf = p;
}
+void SPKnot::setAngle(double i) {
+ angle = i;
+}
+
void SPKnot::setFill(guint32 normal, guint32 mouseover, guint32 dragging) {
fill[SP_KNOT_STATE_NORMAL] = normal;
fill[SP_KNOT_STATE_MOUSEOVER] = mouseover;