+ const EventMouse& event(*reinterpret_cast<const EventMouse*>(&x));
+ bool shift_state = event.modifier&GDK_SHIFT_MASK;
+ if (shift_state != shift_is_pressed)
+ {
+ shift_is_pressed = !shift_is_pressed;
+ set_axis(get_axis()==AXIS_X ? AXIS_Y:AXIS_X);
+ }
+
+ return Smach::RESULT_OK;
+}
+
+StateMirror_Context::~StateMirror_Context()
+{