**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
Smach::state<StateMirror_Context>("mirror")
{
insert(event_def(EVENT_REFRESH_TOOL_OPTIONS,&StateMirror_Context::event_refresh_tool_options));
Smach::state<StateMirror_Context>("mirror")
{
insert(event_def(EVENT_REFRESH_TOOL_OPTIONS,&StateMirror_Context::event_refresh_tool_options));
StateMirror_Context::StateMirror_Context(CanvasView* canvas_view):
canvas_view_(canvas_view),
StateMirror_Context::StateMirror_Context(CanvasView* canvas_view):
canvas_view_(canvas_view),
settings(synfigapp::Main::get_selected_input_device()->settings()),
duck_dragger_(new DuckDrag_Mirror()),
radiobutton_axis_x(radiobutton_group,_("Horizontal")),
settings(synfigapp::Main::get_selected_input_device()->settings()),
duck_dragger_(new DuckDrag_Mirror()),
radiobutton_axis_x(radiobutton_group,_("Horizontal")),
keypress_connect=get_work_area()->signal_key_press_event().connect(sigc::mem_fun(*this,&StateMirror_Context::key_event),false);
keyrelease_connect=get_work_area()->signal_key_release_event().connect(sigc::mem_fun(*this,&StateMirror_Context::key_event),false);
keypress_connect=get_work_area()->signal_key_press_event().connect(sigc::mem_fun(*this,&StateMirror_Context::key_event),false);
keyrelease_connect=get_work_area()->signal_key_release_event().connect(sigc::mem_fun(*this,&StateMirror_Context::key_event),false);
StateMirror_Context::key_event(GdkEventKey *event)
{
if (event->keyval==GDK_Shift_L || event->keyval==GDK_Shift_R )
StateMirror_Context::key_event(GdkEventKey *event)
{
if (event->keyval==GDK_Shift_L || event->keyval==GDK_Shift_R )
if (axis==AXIS_X) p[0] = -(p[0]-center[0]) + center[0];
else if (axis==AXIS_Y) p[1] = -(p[1]-center[1]) + center[1];
if (axis==AXIS_X) p[0] = -(p[0]-center[0]) + center[0];
else if (axis==AXIS_Y) p[1] = -(p[1]-center[1]) + center[1];
if (axis==AXIS_X) p[0] = -(p[0]-center[0]) + center[0];
else if (axis==AXIS_Y) p[1] = -(p[1]-center[1]) + center[1];
if (axis==AXIS_X) p[0] = -(p[0]-center[0]) + center[0];
else if (axis==AXIS_Y) p[1] = -(p[1]-center[1]) + center[1];