X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_defaults.cpp;h=e672b8f63a7cd70b318b3944f79cf8aaa9c899aa;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=13b65525a45cd9b3f89d45bc8ec11d6b8be1488e;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_defaults.cpp b/synfig-studio/trunk/src/gtkmm/widget_defaults.cpp index 13b6552..e672b8f 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_defaults.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_defaults.cpp @@ -1,20 +1,23 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file widget_defaults.cpp ** \brief Template File ** -** $Id: widget_defaults.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Chris Moore +** Copyright (c) 2008 Carlos López ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -36,26 +39,28 @@ #include "app.h" #include #include -#include -#include +#include +#include #include "canvasview.h" #include "widget_distance.h" #include "widget_enum.h" +#include "general.h" + #endif /* === U S I N G =========================================================== */ using namespace std; using namespace etl; -using namespace sinfg; +using namespace synfig; using namespace studio; /* === M A C R O S ========================================================= */ #define GRADIENT_HEIGHT 16 #define DEFAULT_INCREMENT (0.25) -#define DEFAULT_WIDTH (sinfg::Distance(3,sinfg::Distance::SYSTEM_POINTS)) +#define DEFAULT_WIDTH (synfig::Distance(3,synfig::Distance::SYSTEM_POINTS)) /* === G L O B A L S ======================================================= */ @@ -70,37 +75,37 @@ public: add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK); add_events(Gdk::BUTTON1_MOTION_MASK); - sinfgapp::Main::signal_foreground_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw)); - sinfgapp::Main::signal_background_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Brush::queue_draw)); - sinfgapp::Main::signal_bline_width_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))); } - + bool - redraw(GdkEventExpose*bleh) + redraw(GdkEventExpose */*bleh*/) { Glib::RefPtr gc(Gdk::GC::create(get_window())); - + const int h(get_height()); - const int w(get_width()); + const int w(get_width()); float pixelsize(0); if(App::get_selected_canvas_view()) { const RendDesc& rend_desc(App::get_selected_canvas_view()->get_canvas()->rend_desc()); - pixelsize=sinfgapp::Main::get_bline_width().get(Distance::SYSTEM_PIXELS,rend_desc); + pixelsize=synfigapp::Main::get_bline_width().get(Distance::SYSTEM_PIXELS,rend_desc); } - else + else { RendDesc rend_desc; - pixelsize=sinfgapp::Main::get_bline_width().get(Distance::SYSTEM_PIXELS,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),sinfgapp::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_sinfg2gdk(sinfgapp::Main::get_background_color())); - gc->set_line_attributes(1,Gdk::LINE_SOLID,Gdk::CAP_BUTT,Gdk::JOIN_MITER); + 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, true, // Fill? @@ -108,9 +113,9 @@ public: w,h //w,h ); */ - + // Draw in the circle - gc->set_rgb_fg_color(colorconv_sinfg2gdk(sinfgapp::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( @@ -122,8 +127,8 @@ public: round_to_int(pixelsize+0.6), 0, 360*64 - ); - + ); + return true; } @@ -132,10 +137,10 @@ public: { // const int x(static_cast(event->button.x)); const int y(static_cast(event->button.y)); - + const int h(get_height()); -// const int w(get_width()); - +// const int w(get_width()); + switch(event->type) { case GDK_MOTION_NOTIFY: @@ -143,8 +148,8 @@ public: case GDK_BUTTON_RELEASE: if(event->button.button==1) // Left click { - Distance dist(sinfgapp::Main::get_bline_width()); - + Distance dist(synfigapp::Main::get_bline_width()); + if(ybutton.button==3) { // right click on bline width - sinfgapp::Main::set_bline_width(DEFAULT_WIDTH); + synfigapp::Main::set_bline_width(DEFAULT_WIDTH); return true; } break; case GDK_SCROLL: { - Distance dist(sinfgapp::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; + Distance dist(synfigapp::Main::get_bline_width()); + + 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; } - sinfgapp::Main::set_bline_width(dist); + synfigapp::Main::set_bline_width(dist); return true; } default: break; } - + return false; } @@ -195,55 +202,58 @@ Widget_Defaults::Widget_Defaults() { //set_size_request(48,48+GRADIENT_HEIGHT+16); //set_size_request(48,-1); - + { 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; - + // Swap button Gtk::Button* button_swap(manage(new Gtk::Button())); button_swap->show(); button_swap->set_relief(Gtk::RELIEF_NONE); button_swap->set_border_width(0); - icon=manage(new Gtk::Image(Gtk::StockID("sinfg-swap_colors"),Gtk::IconSize(1))); + icon=manage(new Gtk::Image(Gtk::StockID("synfig-swap_colors"),Gtk::IconSize(1))); icon->show(); button_swap->add(*icon); //button_swap->get_child()->set_size_request(16/3,16/3); //button_swap->set_size_request(16/3,16/3); dynamic_cast(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(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")); - + attach(*subtable, 0, 1, 0, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 1, 1); subtable->set_size_request(36,36); subtable->set_homogeneous(true); @@ -257,7 +267,9 @@ Widget_Defaults::Widget_Defaults() widget_bline_width=manage(new Widget_Distance()); widget_bline_width->show(); + bline_width_refresh(); widget_bline_width->set_digits(2); + widget_bline_width->set_range(0,10000000); widget_bline_width->set_size_request(24,-1); widget_bline_width->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::on_bline_width_changed)); attach(*widget_bline_width,1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); @@ -277,10 +289,10 @@ Widget_Defaults::Widget_Defaults() widget_interpolation->set_param_desc( ParamDesc("interpolation") .set_hint("enum") - .add_enum_value(INTERPOLATION_TCB,"auto",_("TBC")) - .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")); @@ -302,18 +314,17 @@ Widget_Defaults::Widget_Defaults() // Signals - sinfgapp::Main::signal_opacity_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::opacity_refresh)); - sinfgapp::Main::signal_bline_width_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::bline_width_refresh)); - sinfgapp::Main::signal_foreground_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::fg_color_refresh)); - sinfgapp::Main::signal_background_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::bg_color_refresh)); - sinfgapp::Main::signal_gradient_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::gradient_refresh)); - sinfgapp::Main::signal_blend_method_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::blend_method_refresh)); - sinfgapp::Main::signal_interpolation_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::interpolation_refresh)); - - fg_color_refresh(); - bg_color_refresh(); + 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_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)); + + otln_color_refresh(); + fill_color_refresh(); gradient_refresh(); - bline_width_refresh(); blend_method_refresh(); opacity_refresh(); interpolation_refresh(); @@ -323,136 +334,137 @@ Widget_Defaults::Widget_Defaults() add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK); add_events(Gdk::BUTTON1_MOTION_MASK); - sinfgapp::Main::signal_foreground_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw)); - sinfgapp::Main::signal_background_color_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw)); - sinfgapp::Main::signal_gradient_changed().connect(sigc::mem_fun(*this,&studio::Widget_Defaults::queue_draw)); - sinfgapp::Main::signal_bline_width_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_gradient) { - App::dialog_gradient->set_gradient(sinfgapp::Main::get_gradient()); + App::dialog_gradient->set_gradient(synfigapp::Main::get_gradient()); App::dialog_gradient->reset(); - App::dialog_gradient->signal_edited().connect(sigc::mem_fun(sinfgapp::Main::set_gradient)); + App::dialog_gradient->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_gradient)); } - + if(App::dialog_color) { - App::dialog_color->set_color(sinfgapp::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(sinfgapp::Main::set_foreground_color)); + App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_outline_color)); } */ } - + Widget_Defaults::~Widget_Defaults() { } void -Widget_Defaults::fg_color_refresh() +Widget_Defaults::otln_color_refresh() { - widget_fg_color->set_value(sinfgapp::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(sinfgapp::Main::get_background_color()); + widget_fill_color->set_value(synfigapp::Main::get_fill_color()); } void Widget_Defaults::gradient_refresh() { - widget_gradient->set_value(sinfgapp::Main::get_gradient()); + widget_gradient->set_value(synfigapp::Main::get_gradient()); } void Widget_Defaults::bline_width_refresh() { - widget_bline_width->set_value(sinfgapp::Main::get_bline_width()); + widget_bline_width->set_value(synfigapp::Main::get_bline_width()); } void Widget_Defaults::blend_method_refresh() { - widget_blend_method->set_value(sinfgapp::Main::get_blend_method()); + widget_blend_method->set_value(synfigapp::Main::get_blend_method()); } void Widget_Defaults::interpolation_refresh() { - widget_interpolation->set_value(sinfgapp::Main::get_interpolation()); + widget_interpolation->set_value(synfigapp::Main::get_interpolation()); } void Widget_Defaults::opacity_refresh() { - widget_opacity->set_value(sinfgapp::Main::get_opacity()); + widget_opacity->set_value(synfigapp::Main::get_opacity()); } void Widget_Defaults::on_opacity_changed() { - sinfgapp::Main::set_opacity(widget_opacity->get_value()); + synfigapp::Main::set_opacity(widget_opacity->get_value()); } void Widget_Defaults::on_blend_method_changed() { - sinfgapp::Main::set_blend_method(Color::BlendMethod(widget_blend_method->get_value())); + synfigapp::Main::set_blend_method(Color::BlendMethod(widget_blend_method->get_value())); } void Widget_Defaults::on_interpolation_changed() { - sinfgapp::Main::set_interpolation(Waypoint::Interpolation(widget_interpolation->get_value())); + synfigapp::Main::set_interpolation(Waypoint::Interpolation(widget_interpolation->get_value())); } void Widget_Defaults::on_bline_width_changed() { - sinfgapp::Main::set_bline_width(widget_bline_width->get_value()); + synfigapp::Main::set_bline_width(widget_bline_width->get_value()); } void -Widget_Defaults::on_fg_color_clicked() +Widget_Defaults::on_otln_color_clicked() { - // Left click on foreground - App::dialog_color->set_color(sinfgapp::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(sinfgapp::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(sinfgapp::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(sinfgapp::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_swap_color_clicked() { - sinfgapp::Main::color_swap(); + synfigapp::Main::color_swap(); } void Widget_Defaults::on_reset_color_clicked() { - sinfgapp::Main::set_background_color(Color::white()); - sinfgapp::Main::set_foreground_color(Color::black()); + synfigapp::Main::set_fill_color(Color::white()); + synfigapp::Main::set_outline_color(Color::black()); } void Widget_Defaults::on_gradient_clicked() { - App::dialog_gradient->set_gradient(sinfgapp::Main::get_gradient()); + App::dialog_gradient->set_gradient(synfigapp::Main::get_gradient()); App::dialog_gradient->reset(); - App::dialog_gradient->signal_edited().connect(sigc::ptr_fun(sinfgapp::Main::set_gradient)); + 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(); } @@ -463,21 +475,21 @@ Widget_Defaults::redraw(GdkEventExpose*bleh) Glib::RefPtr gc(Gdk::GC::create(get_window())); const int h(get_height()); - const int w(get_width()); + 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),sinfgapp::Main::get_background_color()); - render_color_to_window(get_window(),Gdk::Rectangle(0,0,size/4*3-1,size/4*3-1),sinfgapp::Main::get_foreground_color()); - render_gradient_to_window(get_window(),Gdk::Rectangle(0,h-GRADIENT_HEIGHT,w,GRADIENT_HEIGHT-1),sinfgapp::Main::get_gradient()); - + 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()); + + Glib::RefPtr layout(Pango::Layout::create(get_pango_context())); - + gc->set_rgb_fg_color(Gdk::Color("#FF0000")); - layout->set_text(sinfgapp::Main::get_bline_width().get_string(2)); + layout->set_text(synfigapp::Main::get_bline_width().get_string(2)); layout->set_alignment(Pango::ALIGN_CENTER); layout->set_width(w/2); get_window()->draw_layout(gc, w*3/4, (h-GRADIENT_HEIGHT)-16, layout); @@ -492,7 +504,7 @@ Widget_Defaults::on_event(GdkEvent *event) const int y(static_cast(event->button.y)); const int h(get_height()); - const int w(get_width()); + const int w(get_width()); const int size=std::min(h-GRADIENT_HEIGHT,w); switch(event->type) @@ -508,9 +520,9 @@ Widget_Defaults::on_event(GdkEvent *event) if(y>size) { // Left click on gradient - App::dialog_gradient->set_gradient(sinfgapp::Main::get_gradient()); + App::dialog_gradient->set_gradient(synfigapp::Main::get_gradient()); App::dialog_gradient->reset(); - App::dialog_gradient->signal_edited().connect(sigc::mem_fun(sinfgapp::Main::set_gradient)); + App::dialog_gradient->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_gradient)); App::dialog_gradient->present(); return true; } @@ -518,27 +530,27 @@ Widget_Defaults::on_event(GdkEvent *event) { if(xset_color(sinfgapp::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(sinfgapp::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(sinfgapp::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(sinfgapp::Main::set_background_color)); + App::dialog_color->signal_edited().connect(sigc::mem_fun(synfigapp::Main::set_fill_color)); App::dialog_color->present(); return true; } } if(x>size) // Left click on BLine Width { - Distance dist(sinfgapp::Main::get_bline_width()); - + Distance dist(synfigapp::Main::get_bline_width()); + if(ybutton.button==3) @@ -555,7 +567,7 @@ Widget_Defaults::on_event(GdkEvent *event) if(y>size) { // right click on gradient - sinfgapp::Main::set_gradient_default_colors(); + synfigapp::Main::set_gradient_default_colors(); return true; } else @@ -563,23 +575,23 @@ Widget_Defaults::on_event(GdkEvent *event) if(xw/2) { // right click on bline width - sinfgapp::Main::set_bline_width(DEFAULT_WIDTH); + synfigapp::Main::set_bline_width(DEFAULT_WIDTH); } - + } } break; case GDK_SCROLL: { - Distance dist(sinfgapp::Main::get_bline_width()); - + Distance dist(synfigapp::Main::get_bline_width()); + if(event->scroll.direction==GDK_SCROLL_UP) { dist+=DEFAULT_INCREMENT; @@ -588,12 +600,12 @@ Widget_Defaults::on_event(GdkEvent *event) { dist-=DEFAULT_INCREMENT; } - sinfgapp::Main::set_bline_width(dist); + synfigapp::Main::set_bline_width(dist); } default: break; } - + return false; } */