#include "widget_enum.h"
#include <synfigapp/main.h>
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
void save_settings();
void reset();
void increment_id();
- bool no_egress_on_selection_change;
+ bool egress_on_selection_change;
Smach::event_result event_layer_selection_changed_handler(const Smach::event& /*x*/)
{
- if(!no_egress_on_selection_change)
+ if(egress_on_selection_change)
throw Smach::egress_exception();
return Smach::RESULT_OK;
}
if(id[id.size()-1]<='9' && id[id.size()-1]>='0')
{
// figure out how many digits it is
- for(digits=0;(int)id.size()-1>=digits && id[id.size()-1-digits]<='9' && id[id.size()-1-digits]>='0';digits++)while(false);
+ for (digits = 0;
+ (int)id.size()-1 >= digits && id[id.size()-1-digits] <= '9' && id[id.size()-1-digits] >= '0';
+ digits++)
+ ;
String str_number;
str_number=String(id,id.size()-digits,id.size());
canvas_view_(canvas_view),
is_working(*canvas_view),
duckmatic_push(get_work_area()),
- prev_workarea_layer_status_(get_work_area()->allow_layer_clicks),
+ prev_workarea_layer_status_(get_work_area()->get_allow_layer_clicks()),
settings(synfigapp::Main::get_selected_input_device()->settings()),
entry_id(),
adj_feather(0,0,1,0.01,0.1),
spin_feather(adj_feather,0.1,3),
check_invert(_("Invert"))
{
- no_egress_on_selection_change=false;
+ egress_on_selection_change=true;
// Set up the tool options dialog
//options_table.attach(*manage(new Gtk::Label(_("Circle Tool"))), 0, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
options_table.attach(entry_id, 0, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
App::dialog_tool_options->present();
// Turn off layer clicking
- get_work_area()->allow_layer_clicks=false;
+ get_work_area()->set_allow_layer_clicks(false);
// clear out the ducks
get_work_area()->clear_ducks();
save_settings();
// Restore layer clicking
- get_work_area()->allow_layer_clicks=prev_workarea_layer_status_;
+ get_work_area()->set_allow_layer_clicks(prev_workarea_layer_status_);
get_canvas_view()->work_area->reset_cursor();
App::dialog_tool_options->clear();
layer->set_description(get_id());
get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description());
- no_egress_on_selection_change=true;
+ egress_on_selection_change=false;
get_canvas_interface()->get_selection_manager()->clear_selected_layers();
get_canvas_interface()->get_selection_manager()->set_selected_layer(layer);
- no_egress_on_selection_change=false;
+ egress_on_selection_change=true;
}
reset();
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;
}