**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2008 Chris Moore
+** Copyright (c) 2008 Carlos López
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK);
add_events(Gdk::BUTTON1_MOTION_MASK);
- synfigapp::Main::signal_foreground_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw));
- synfigapp::Main::signal_background_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw));
+ synfigapp::Main::signal_outline_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw));
+ synfigapp::Main::signal_fill_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw));
synfigapp::Main::signal_bline_width_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw));
studio::App::signal_instance_selected().connect(sigc::hide(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw)));
}
RendDesc rend_desc;
pixelsize=synfigapp::Main::get_bline_width().get(Distance::SYSTEM_PIXELS,rend_desc);
}
- // Fill in the background color
- render_color_to_window(get_window(),Gdk::Rectangle(0,0,w,h),synfigapp::Main::get_background_color());
+ // Fill in the fill color
+ render_color_to_window(get_window(),Gdk::Rectangle(0,0,w,h),synfigapp::Main::get_fill_color());
/*
- gc->set_rgb_fg_color(colorconv_synfig2gdk(synfigapp::Main::get_background_color()));
+ gc->set_rgb_fg_color(colorconv_synfig2gdk(synfigapp::Main::get_fill_color()));
gc->set_line_attributes(1,Gdk::LINE_SOLID,Gdk::CAP_BUTT,Gdk::JOIN_MITER);
get_window()->draw_rectangle(
gc,
*/
// Draw in the circle
- gc->set_rgb_fg_color(colorconv_synfig2gdk(synfigapp::Main::get_foreground_color()));
+ gc->set_rgb_fg_color(colorconv_synfig2gdk(synfigapp::Main::get_outline_color()));
gc->set_function(Gdk::COPY);
gc->set_line_attributes(1,Gdk::LINE_SOLID,Gdk::CAP_BUTT,Gdk::JOIN_MITER);
get_window()->draw_arc(
{
Distance dist(synfigapp::Main::get_bline_width());
- if(event->scroll.direction==GDK_SCROLL_UP)
- {
- dist+=DEFAULT_INCREMENT;
- }
- else if(event->scroll.direction==GDK_SCROLL_DOWN)
- {
- dist-=DEFAULT_INCREMENT;
+ switch(event->scroll.direction){
+ case GDK_SCROLL_UP:
+ case GDK_SCROLL_RIGHT:
+ dist+=DEFAULT_INCREMENT;
+ break;
+ case GDK_SCROLL_DOWN:
+ case GDK_SCROLL_LEFT:
+ dist-=DEFAULT_INCREMENT;
+ break;
}
synfigapp::Main::set_bline_width(dist);
return true;
{
Gtk::Table* subtable(manage(new Gtk::Table()));
- // Foreground Color
- widget_fg_color=manage(new Widget_Color());
- widget_fg_color->show();
- widget_fg_color->set_size_request(16,16);
- widget_fg_color->signal_clicked().connect(sigc::mem_fun(*this,&Widget_Defaults::on_fg_color_clicked));
- subtable->attach(*widget_fg_color, 0, 2, 0, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
- tooltips_.set_tip(*widget_fg_color,_("Foreground Color"));
-
- // Background Color
- widget_bg_color=manage(new Widget_Color());
- widget_bg_color->show();
- widget_bg_color->set_size_request(16,16);
- widget_bg_color->signal_clicked().connect(sigc::mem_fun(*this,&Widget_Defaults::on_bg_color_clicked));
- subtable->attach(*widget_bg_color, 1, 3, 1, 3, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
- tooltips_.set_tip(*widget_bg_color,_("Background Color"));
+ // Outline Color
+ widget_otln_color=manage(new Widget_Color());
+ widget_otln_color->show();
+ widget_otln_color->set_size_request(16,16);
+ widget_otln_color->signal_clicked().connect(sigc::mem_fun(*this,&Widget_Defaults::on_otln_color_clicked));
+ subtable->attach(*widget_otln_color, 0, 4, 0, 4, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
+ tooltips_.set_tip(*widget_otln_color,_("Outline Color"));
+
+ // Fill Color
+ widget_fill_color=manage(new Widget_Color());
+ widget_fill_color->show();
+ widget_fill_color->set_size_request(16,16);
+ widget_fill_color->signal_clicked().connect(sigc::mem_fun(*this,&Widget_Defaults::on_fill_color_clicked));
+ subtable->attach(*widget_fill_color, 3, 7, 3, 7, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
+ tooltips_.set_tip(*widget_fill_color,_("Fill Color"));
Gtk::Image* icon;
//button_swap->set_size_request(16/3,16/3);
dynamic_cast<Gtk::Misc*>(button_swap->get_child())->set_padding(0,0);
button_swap->signal_clicked().connect(sigc::mem_fun(*this,&Widget_Defaults::on_swap_color_clicked));
- subtable->attach(*button_swap, 2, 3, 0, 1, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
- tooltips_.set_tip(*button_swap,_("Swap Background and\nForeground Colors"));
+ subtable->attach(*button_swap, 4, 7, 0, 3, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
+ tooltips_.set_tip(*button_swap,_("Swap Fill and\nOutline Colors"));
// Reset button
- Gtk::Button* button_reset(manage(new Gtk::Button("R")));
+ Gtk::Button* button_reset(manage(new Gtk::Button()));
button_reset->show();
button_reset->set_relief(Gtk::RELIEF_NONE);
button_reset->set_border_width(0);
+ icon=manage(new Gtk::Image(Gtk::StockID("synfig-reset_colors"),Gtk::IconSize(1)));
+ icon->show();
+ button_reset->add(*icon);
dynamic_cast<Gtk::Misc*>(button_reset->get_child())->set_padding(0,0);
//button_reset->set_size_request(16/3,16/3);
button_reset->signal_clicked().connect(sigc::mem_fun(*this,&Widget_Defaults::on_reset_color_clicked));
- subtable->attach(*button_reset, 0,1, 2, 3, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
+ subtable->attach(*button_reset, 0, 3, 4, 7, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
tooltips_.set_tip(*button_reset,_("Reset Colors to Black and White"));
widget_interpolation->set_param_desc(
ParamDesc("interpolation")
.set_hint("enum")
- .add_enum_value(INTERPOLATION_TCB,"auto",_("TCB"))
- .add_enum_value(INTERPOLATION_CONSTANT,"constant",_("Constant"))
- .add_enum_value(INTERPOLATION_HALT,"ease",_("Ease in/out"))
- .add_enum_value(INTERPOLATION_LINEAR,"linear",_("Linear"))
+ .add_enum_value(INTERPOLATION_TCB,"auto",_("_TCB"))
+ .add_enum_value(INTERPOLATION_CONSTANT,"constant",_("_Constant"))
+ .add_enum_value(INTERPOLATION_HALT,"ease",_("_Ease In/Out"))
+ .add_enum_value(INTERPOLATION_LINEAR,"linear",_("_Linear"))
);
attach(*widget_interpolation,0, 2, 5, 6, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 1, 1);
tooltips_.set_tip(*widget_interpolation,_("Default Interpolation"));
// Signals
synfigapp::Main::signal_opacity_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::opacity_refresh));
synfigapp::Main::signal_bline_width_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::bline_width_refresh));
- synfigapp::Main::signal_foreground_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::fg_color_refresh));
- synfigapp::Main::signal_background_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::bg_color_refresh));
+ synfigapp::Main::signal_outline_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::otln_color_refresh));
+ synfigapp::Main::signal_fill_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::fill_color_refresh));
synfigapp::Main::signal_gradient_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::gradient_refresh));
synfigapp::Main::signal_blend_method_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::blend_method_refresh));
synfigapp::Main::signal_interpolation_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::interpolation_refresh));
- fg_color_refresh();
- bg_color_refresh();
+ otln_color_refresh();
+ fill_color_refresh();
gradient_refresh();
blend_method_refresh();
opacity_refresh();
add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK);
add_events(Gdk::BUTTON1_MOTION_MASK);
- synfigapp::Main::signal_foreground_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw));
- synfigapp::Main::signal_background_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw));
+ synfigapp::Main::signal_outline_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw));
+ synfigapp::Main::signal_fill_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw));
synfigapp::Main::signal_gradient_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw));
synfigapp::Main::signal_bline_width_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw));
if(App::dialog_color)
{
- App::dialog_color->set_color(synfigapp::Main::get_foreground_color());
+ App::dialog_color->set_color(synfigapp::Main::get_outline_color());
App::dialog_color->reset();
- App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_foreground_color));
+ App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_outline_color));
}
*/
}
}
void
-Widget_Defaults::fg_color_refresh()
+Widget_Defaults::otln_color_refresh()
{
- widget_fg_color->set_value(synfigapp::Main::get_foreground_color());
+ widget_otln_color->set_value(synfigapp::Main::get_outline_color());
}
void
-Widget_Defaults::bg_color_refresh()
+Widget_Defaults::fill_color_refresh()
{
- widget_bg_color->set_value(synfigapp::Main::get_background_color());
+ widget_fill_color->set_value(synfigapp::Main::get_fill_color());
}
void
}
void
-Widget_Defaults::on_fg_color_clicked()
+Widget_Defaults::on_otln_color_clicked()
{
- // Left click on foreground
- App::dialog_color->set_color(synfigapp::Main::get_foreground_color());
+ // Left click on outline color
+ App::dialog_color->set_color(synfigapp::Main::get_outline_color());
App::dialog_color->reset();
- App::dialog_color->signal_edited().connect(sigc::ptr_fun(synfigapp::Main::set_foreground_color));
+ App::dialog_color->signal_edited().connect(sigc::ptr_fun(synfigapp::Main::set_outline_color));
App::dialog_color->present();
}
void
-Widget_Defaults::on_bg_color_clicked()
+Widget_Defaults::on_fill_color_clicked()
{
- // Left click on background
- App::dialog_color->set_color(synfigapp::Main::get_background_color());
+ // Left click on fill color
+ App::dialog_color->set_color(synfigapp::Main::get_fill_color());
App::dialog_color->reset();
- App::dialog_color->signal_edited().connect(sigc::ptr_fun(synfigapp::Main::set_background_color));
+ App::dialog_color->signal_edited().connect(sigc::ptr_fun(synfigapp::Main::set_fill_color));
App::dialog_color->present();
}
void
Widget_Defaults::on_reset_color_clicked()
{
- synfigapp::Main::set_background_color(Color::white());
- synfigapp::Main::set_foreground_color(Color::black());
+ synfigapp::Main::set_fill_color(Color::white());
+ synfigapp::Main::set_outline_color(Color::black());
}
void
App::dialog_gradient->set_gradient(synfigapp::Main::get_gradient());
App::dialog_gradient->reset();
App::dialog_gradient->signal_edited().connect(sigc::ptr_fun(synfigapp::Main::set_gradient));
+ App::dialog_gradient->grab_button_set_sensitive(false);
App::dialog_gradient->present();
}
const int w(get_width());
const int size=std::min(h-GRADIENT_HEIGHT,w);
- render_color_to_window(get_window(),Gdk::Rectangle(size/4,size/4,size/4*3-1,size/4*3-1),synfigapp::Main::get_background_color());
- render_color_to_window(get_window(),Gdk::Rectangle(0,0,size/4*3-1,size/4*3-1),synfigapp::Main::get_foreground_color());
+ render_color_to_window(get_window(),Gdk::Rectangle(size/4,size/4,size/4*3-1,size/4*3-1),synfigapp::Main::get_fill_color());
+ render_color_to_window(get_window(),Gdk::Rectangle(0,0,size/4*3-1,size/4*3-1),synfigapp::Main::get_outline_color());
render_gradient_to_window(get_window(),Gdk::Rectangle(0,h-GRADIENT_HEIGHT,w,GRADIENT_HEIGHT-1),synfigapp::Main::get_gradient());
{
if(x<size*3/4 && y<size*3/4)
{
- // Left click on foreground
- App::dialog_color->set_color(synfigapp::Main::get_foreground_color());
+ // Left click on outline coloe
+ App::dialog_color->set_color(synfigapp::Main::get_outline_color());
App::dialog_color->reset();
- App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_foreground_color));
+ App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_outline_color));
App::dialog_color->present();
return true;
}
if(x>size*3/4 && y>size/4)
{
- // Left click on background
- App::dialog_color->set_color(synfigapp::Main::get_background_color());
+ // Left click on fill color
+ App::dialog_color->set_color(synfigapp::Main::get_fill_color());
App::dialog_color->reset();
- App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_background_color));
+ App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_fill_color));
App::dialog_color->present();
return true;
}