Show the size of circles as they are drawn using the draw tool.
[synfig.git] / synfig-studio / trunk / src / gtkmm / state_circle.cpp
index 3bad7bf..72700a4 100644 (file)
@@ -474,6 +474,7 @@ StateCircle_Context::event_mouse_click_handler(const Smach::event& x)
                point2_duck->set_radius(true);
                point2_duck->set_scalar(-1);
                point2_duck->set_type(Duck::TYPE_RADIUS);
+               point2_duck->set_hover(true);
                get_work_area()->add_duck(point2_duck);
 
                return Smach::RESULT_ACCEPT;
@@ -488,7 +489,15 @@ StateCircle_Context::event_mouse_click_handler(const Smach::event& x)
 
        if(event.key==EVENT_WORKAREA_MOUSE_BUTTON_UP && event.button==BUTTON_LEFT)
        {
-               make_circle(point_holder, get_work_area()->snap_point_to_grid(event.pos));
+               Point point(get_work_area()->snap_point_to_grid(event.pos));
+
+               if (App::restrict_radius_ducks)
+               {
+                       if ((point[0] - point_holder[0]) * get_work_area()->get_pw() < 0) point[0] = point_holder[0];
+                       if ((point[1] - point_holder[1]) * get_work_area()->get_ph() > 0) point[1] = point_holder[1];
+               }
+
+               make_circle(point_holder, point);
                get_work_area()->clear_ducks();
                return Smach::RESULT_ACCEPT;
        }