From b1029a3caf4153835b7faa8e1a689f4f4a05622b Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 10 Jan 2013 15:25:11 +0000 Subject: goodbye pixmaps and pixbufs (no longer) used by Gtkmm2ext::PixFader git-svn-id: svn://localhost/ardour2/branches/3.0@13827 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour_ui.cc | 3 -- gtk2_ardour/gain_meter.cc | 35 ++------------ gtk2_ardour/gain_meter.h | 8 +--- gtk2_ardour/option_editor.cc | 16 +------ gtk2_ardour/option_editor.h | 2 - gtk2_ardour/processor_box.cc | 22 ++------- gtk2_ardour/processor_box.h | 7 +-- gtk2_ardour/route_time_axis.cc | 17 +------ gtk2_ardour/route_time_axis.h | 5 -- libs/gtkmm2ext/gtkmm2ext/pixfader.h | 10 +--- libs/gtkmm2ext/gtkmm2ext/slider_controller.h | 14 ++---- libs/gtkmm2ext/pixfader.cc | 69 ++++++++-------------------- libs/gtkmm2ext/slider_controller.cc | 23 +++------- 13 files changed, 42 insertions(+), 189 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index f2123e2e31..cb8d57b1be 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -273,9 +273,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) setup_gtk_ardour_enums (); setup_profile (); - GainMeter::setup_slider_pix (); - RouteTimeAxisView::setup_slider_pix (); - ProcessorEntry::setup_slider_pix (); SessionEvent::create_per_thread_pool ("GUI", 512); } catch (failed_constructor& err) { diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 5fe3847e6f..9436596afa 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -61,27 +61,8 @@ sigc::signal GainMeterBase::ResetAllPeakDisplays; sigc::signal GainMeterBase::ResetGroupPeakDisplays; GainMeter::MetricPatterns GainMeter::metric_patterns; -Glib::RefPtr GainMeter::slider; -Glib::RefPtr GainMeter::slider_desensitised; - -void -GainMeter::setup_slider_pix () -{ - if ((slider = ::get_icon ("fader_belt")) == 0) { - throw failed_constructor(); - } - - if ((slider_desensitised = ::get_icon ("fader_belt_desensitised")) == 0) { - throw failed_constructor(); - } -} - -GainMeterBase::GainMeterBase (Session* s, - const Glib::RefPtr& pix, - const Glib::RefPtr& pix_desensitised, - bool horizontal, - int fader_length) +GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length) : gain_adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0.0, 1.0, 0.01, 0.1) , gain_automation_style_button ("") , gain_automation_state_button ("") @@ -100,17 +81,9 @@ GainMeterBase::GainMeterBase (Session* s, _width = Wide; if (horizontal) { - gain_slider = manage (new HSliderController (pix, - pix_desensitised, - &gain_adjustment, - fader_length, - false)); + gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, false)); } else { - gain_slider = manage (new VSliderController (pix, - pix_desensitised, - &gain_adjustment, - fader_length, - false)); + gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, false)); } level_meter = new LevelMeter(_session); @@ -881,7 +854,7 @@ GainMeterBase::on_theme_changed() } GainMeter::GainMeter (Session* s, int fader_length) - : GainMeterBase (s, slider, slider_desensitised, false, fader_length) + : GainMeterBase (s, false, fader_length) , gain_display_box(true, 0) , hbox(true, 2) { diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index 73144380dd..116a0e7dfe 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -67,8 +67,7 @@ namespace Gtk { class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr { public: - GainMeterBase (ARDOUR::Session*, const Glib::RefPtr&, const Glib::RefPtr &, - bool horizontal, int); + GainMeterBase (ARDOUR::Session*, bool horizontal, int); virtual ~GainMeterBase (); virtual void set_controls (boost::shared_ptr route, @@ -211,8 +210,6 @@ class GainMeter : public GainMeterBase, public Gtk::VBox int get_gm_width (); void setup_meters (int len=0); - static void setup_slider_pix (); - protected: void hide_all_meters (); @@ -233,9 +230,6 @@ class GainMeter : public GainMeterBase, public Gtk::VBox Gtk::Alignment fader_alignment; Gtk::Alignment meter_alignment; std::vector _types; - - static Glib::RefPtr slider; - static Glib::RefPtr slider_desensitised; }; #endif /* __ardour_gtk_gain_meter_h__ */ diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc index da4594e6da..c59762b70d 100644 --- a/gtk2_ardour/option_editor.cc +++ b/gtk2_ardour/option_editor.cc @@ -224,21 +224,7 @@ FaderOption::FaderOption (string const & i, string const & n, sigc::slot , _get (g) , _set (s) { - _pix = ::get_icon (X_("fader_belt_h")); - if (_pix == 0) { - throw failed_constructor (); - } - - _pix_desensitised = ::get_icon (X_("fader_belt_h_desensitised")); - if (_pix_desensitised == 0) { - throw failed_constructor (); - } - - _db_slider = manage (new HSliderController (_pix, - _pix_desensitised, - &_db_adjustment, - 115, - false)); + _db_slider = manage (new HSliderController (&_db_adjustment, 115, false)); _label.set_text (n + ":"); _label.set_name (X_("OptionsLabel")); diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h index 5fbed4ea32..d09be0a904 100644 --- a/gtk2_ardour/option_editor.h +++ b/gtk2_ardour/option_editor.h @@ -522,8 +522,6 @@ private: Gtk::Adjustment _db_adjustment; Gtkmm2ext::HSliderController* _db_slider; - Glib::RefPtr _pix; - Glib::RefPtr _pix_desensitised; Gtk::Entry _db_display; Gtk::Label _label; Gtk::HBox _box; diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 016379493c..2cf051baf2 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -90,8 +90,6 @@ RefPtr ProcessorBox::cut_action; RefPtr ProcessorBox::rename_action; RefPtr ProcessorBox::edit_action; RefPtr ProcessorBox::edit_generic_action; -Glib::RefPtr ProcessorEntry::_slider_pixbuf; -Glib::RefPtr ProcessorEntry::_slider_pixbuf_desensitised; ProcessorEntry::ProcessorEntry (ProcessorBox* parent, boost::shared_ptr p, Width w) : _button (ArdourButton::led_default_elements) @@ -122,12 +120,7 @@ ProcessorEntry::ProcessorEntry (ProcessorBox* parent, boost::shared_ptr p = _processor->what_can_be_automated (); for (set::iterator i = p.begin(); i != p.end(); ++i) { - Control* c = new Control ( - _slider_pixbuf, - _slider_pixbuf_desensitised, - _processor->automation_control (*i), - _processor->describe_parameter (*i) - ); + Control* c = new Control (_processor->automation_control (*i), _processor->describe_parameter (*i)); _controls.push_back (c); @@ -303,15 +296,6 @@ ProcessorEntry::name (Width w) const return name_display; } -void -ProcessorEntry::setup_slider_pix () -{ - _slider_pixbuf = ::get_icon ("fader_belt_h_thin"); - assert (_slider_pixbuf); - _slider_pixbuf_desensitised = ::get_icon ("fader_belt_h_thin_desensitised"); - assert (_slider_pixbuf_desensitised); -} - void ProcessorEntry::set_pixel_width (int p) { @@ -407,10 +391,10 @@ ProcessorEntry::toggle_control_visibility (Control* c) _parent->update_gui_object_state (this); } -ProcessorEntry::Control::Control (Glib::RefPtr s, Glib::RefPtr sd, boost::shared_ptr c, string const & n) +ProcessorEntry::Control::Control (boost::shared_ptr c, string const & n) : _control (c) , _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1) - , _slider (s, sd, &_adjustment, 0, false) + , _slider (&_adjustment, 0, false) , _slider_persistant_tooltip (&_slider) , _button (ArdourButton::Element (ArdourButton::Text | ArdourButton::Indicator)) , _ignore_ui_adjustment (false) diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index d300f70d5a..268241a4e6 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -131,8 +131,6 @@ public: std::string state_id () const; Gtk::Menu* build_controls_menu (); - static void setup_slider_pix (); - protected: ArdourButton _button; Gtk::VBox _vbox; @@ -140,9 +138,6 @@ protected: virtual void setup_visuals (); - static Glib::RefPtr _slider_pixbuf; - static Glib::RefPtr _slider_pixbuf_desensitised; - private: void led_clicked(); void processor_active_changed (); @@ -159,7 +154,7 @@ private: class Control : public sigc::trackable { public: - Control (Glib::RefPtr, Glib::RefPtr, boost::shared_ptr, std::string const &); + Control (boost::shared_ptr, std::string const &); void set_pixel_width (int); void set_visible (bool); diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index f818686df2..a882dd0965 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -85,21 +85,6 @@ using namespace Editing; using namespace std; using std::list; -Glib::RefPtr RouteTimeAxisView::slider; -Glib::RefPtr RouteTimeAxisView::slider_desensitised; - -void -RouteTimeAxisView::setup_slider_pix () -{ - if ((slider = ::get_icon ("fader_belt_h_medium")) == 0) { - throw failed_constructor (); - } - - if ((slider_desensitised = ::get_icon ("fader_belt_h_medium_desensitised")) == 0) { - throw failed_constructor (); - } -} - RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, Canvas& canvas) : AxisView(sess) , RouteUI(sess) @@ -117,7 +102,7 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, Canvas& c , playlist_action_menu (0) , mode_menu (0) , color_mode_menu (0) - , gm (sess, slider, slider_desensitised, true, 125) + , gm (sess, true, 125) , _ignore_set_layer_display (false) { } diff --git a/gtk2_ardour/route_time_axis.h b/gtk2_ardour/route_time_axis.h index 541b070558..3a5bc34250 100644 --- a/gtk2_ardour/route_time_axis.h +++ b/gtk2_ardour/route_time_axis.h @@ -142,8 +142,6 @@ public: std::string state_id() const; - static void setup_slider_pix (); - protected: friend class StreamView; @@ -289,9 +287,6 @@ protected: GainMeterBase gm; - static Glib::RefPtr slider; - static Glib::RefPtr slider_desensitised; - XMLNode* underlay_xml_node; bool set_underlay_state(); diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h index 40f214f087..3d53a0d121 100644 --- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h +++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h @@ -32,7 +32,7 @@ namespace Gtkmm2ext { class PixFader : public Gtk::DrawingArea { public: - PixFader (Glib::RefPtr, Glib::RefPtr, Gtk::Adjustment& adjustment, int orientation, int); + PixFader (Gtk::Adjustment& adjustment, int orientation, int); virtual ~PixFader (); void set_fader_length (int); @@ -79,12 +79,6 @@ class PixFader : public Gtk::DrawingArea STATES }; -#if 0 - Cairo::RefPtr belt_context[STATES]; - Cairo::RefPtr belt_surface[STATES]; - Glib::RefPtr pixbuf[STATES]; -#endif - int span, girth; int _orien; float left_r; @@ -94,8 +88,6 @@ class PixFader : public Gtk::DrawingArea float right_g; float right_b; - GdkRectangle view; - cairo_pattern_t* pattern; cairo_pattern_t* shine_pattern; diff --git a/libs/gtkmm2ext/gtkmm2ext/slider_controller.h b/libs/gtkmm2ext/gtkmm2ext/slider_controller.h index 64dd977e9b..8fe788aa37 100644 --- a/libs/gtkmm2ext/gtkmm2ext/slider_controller.h +++ b/libs/gtkmm2ext/gtkmm2ext/slider_controller.h @@ -39,7 +39,7 @@ namespace Gtkmm2ext { class SliderController : public Gtkmm2ext::PixFader { public: - SliderController (Glib::RefPtr, Glib::RefPtr, Gtk::Adjustment* adj, int orientation, int); + SliderController (Gtk::Adjustment* adj, int orientation, int); virtual ~SliderController () {} @@ -53,8 +53,6 @@ class SliderController : public Gtkmm2ext::PixFader protected: BindingProxy binding_proxy; - Glib::RefPtr slider; - Glib::RefPtr rail; Gtk::SpinButton spin; Gtk::Frame spin_frame; Gtk::HBox spin_hbox; @@ -65,19 +63,13 @@ class SliderController : public Gtkmm2ext::PixFader class VSliderController : public SliderController { public: - VSliderController (Glib::RefPtr image, - Glib::RefPtr image_desensitised, - Gtk::Adjustment *adj, int, - bool with_numeric = true); + VSliderController (Gtk::Adjustment *adj, int, bool with_numeric = true); }; class HSliderController : public SliderController { public: - HSliderController (Glib::RefPtr image, - Glib::RefPtr image_desensitised, - Gtk::Adjustment *adj, int, - bool with_numeric = true); + HSliderController (Gtk::Adjustment *adj, int, bool with_numeric = true); }; diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc index 9d15a55932..a4ea3456ab 100644 --- a/libs/gtkmm2ext/pixfader.cc +++ b/libs/gtkmm2ext/pixfader.cc @@ -32,21 +32,10 @@ using namespace std; #define CORNER_RADIUS 4 #define FADER_RESERVE (2*CORNER_RADIUS) -PixFader::PixFader ( - Glib::RefPtr belt, - Glib::RefPtr belt_desensitised, - Gtk::Adjustment& adj, - int orientation, - int fader_length - ) - : adjustment (adj), - _orien(orientation) +PixFader::PixFader (Gtk::Adjustment& adj, int orientation, int fader_length) + : adjustment (adj) + , _orien (orientation) { -#if 0 - pixbuf[NORMAL] = belt; - pixbuf[DESENSITISED] = belt_desensitised; -#endif - pattern = 0; shine_pattern = 0; @@ -55,14 +44,7 @@ PixFader::PixFader ( default_value = adjustment.get_value(); last_drawn = -1; - view.x = 0; - view.y = 0; - - if (orientation == VERT) { - view.width = girth = 24; - } else { - view.height = girth = 24; - } + girth = 24; set_fader_length (fader_length); @@ -70,23 +52,6 @@ PixFader::PixFader ( adjustment.signal_value_changed().connect (mem_fun (*this, &PixFader::adjustment_changed)); adjustment.signal_changed().connect (mem_fun (*this, &PixFader::adjustment_changed)); - -#if 0 - for (int i = 0; i < STATES; ++i) { - Cairo::Format format; - - if (pixbuf[i]->get_has_alpha()) { - format = Cairo::FORMAT_ARGB32; - } else { - format = Cairo::FORMAT_RGB24; - } - - belt_surface[i] = Cairo::ImageSurface::create (format, pixbuf[i]->get_width(), pixbuf[i]->get_height()); - belt_context[i] = Cairo::Context::create (belt_surface[i]); - Gdk::Cairo::set_source_pixbuf (belt_context[i], pixbuf[i], 0.0, 0.0); - belt_context[i]->paint(); - } -#endif left_r = 0; left_g = 0; @@ -119,7 +84,7 @@ void PixFader::create_patterns () { Gdk::Color c = get_style()->get_fg (get_state()); - float r, g, b; + float r, g, b; r = c.get_red_p (); g = c.get_green_p (); b = c.get_blue_p (); @@ -161,7 +126,7 @@ PixFader::create_patterns () } bool -PixFader::on_expose_event (GdkEventExpose* ev) +PixFader::on_expose_event (GdkEventExpose*) { Cairo::RefPtr context = get_window()->create_cairo_context(); cairo_t* cr = context->cobj(); @@ -254,18 +219,24 @@ PixFader::on_expose_event (GdkEventExpose* ev) void PixFader::on_size_request (GtkRequisition* req) { - req->width = view.width; - req->height = view.height; + if (_orien == VERT) { + req->width = girth; + req->height = span; + } else { + req->height = girth; + req->width = span; + } } void PixFader::on_size_allocate (Gtk::Allocation& alloc) { DrawingArea::on_size_allocate(alloc); + if (_orien == VERT) { - view.height = span = alloc.get_height(); + span = alloc.get_height(); } else { - view.width = span = alloc.get_width(); + span = alloc.get_width(); } update_unity_position (); @@ -479,9 +450,9 @@ void PixFader::set_fader_length (int l) { if (_orien == VERT) { - view.height = span = l; + span = l; } else { - view.width = span = l; + span = l; } update_unity_position (); @@ -493,9 +464,9 @@ void PixFader::update_unity_position () { if (_orien == VERT) { - unity_loc = (int) rint (view.height * (1 - (default_value / (adjustment.get_upper() - adjustment.get_lower())))) - 1; + unity_loc = (int) rint (span * (1 - (default_value / (adjustment.get_upper() - adjustment.get_lower())))) - 1; } else { - unity_loc = (int) rint (default_value * view.width); + unity_loc = (int) rint (default_value * span); } queue_draw (); diff --git a/libs/gtkmm2ext/slider_controller.cc b/libs/gtkmm2ext/slider_controller.cc index c55697a2ee..76e28a7beb 100644 --- a/libs/gtkmm2ext/slider_controller.cc +++ b/libs/gtkmm2ext/slider_controller.cc @@ -28,15 +28,9 @@ using namespace Gtkmm2ext; using namespace PBD; -SliderController::SliderController ( - Glib::RefPtr image, - Glib::RefPtr image_desensitised, - Gtk::Adjustment *adj, - int orientation, - int fader_length - ) - : PixFader (image, image_desensitised, *adj, orientation, fader_length), - spin (*adj, 0, 2) +SliderController::SliderController (Gtk::Adjustment *adj, int orientation, int fader_length) + : PixFader (*adj, orientation, fader_length) + , spin (*adj, 0, 2) { spin.set_name ("SliderControllerValue"); spin.set_size_request (70,-1); // should be based on font size somehow @@ -60,11 +54,9 @@ SliderController::on_button_press_event (GdkEventButton *ev) return PixFader::on_button_press_event (ev); } -VSliderController::VSliderController (Glib::RefPtr image, Glib::RefPtr image_desensitised, - Gtk::Adjustment *adj, int fader_length, - bool with_numeric) +VSliderController::VSliderController (Gtk::Adjustment *adj, int fader_length, bool with_numeric) - : SliderController (image, image_desensitised, adj, VERT, fader_length) + : SliderController (adj, VERT, fader_length) { if (with_numeric) { spin_frame.add (spin); @@ -75,11 +67,10 @@ VSliderController::VSliderController (Glib::RefPtr image, Glib::Ref } } -HSliderController::HSliderController (Glib::RefPtr image, Glib::RefPtr image_desensitised, - Gtk::Adjustment *adj, int fader_length, +HSliderController::HSliderController (Gtk::Adjustment *adj, int fader_length, bool with_numeric) - : SliderController (image, image_desensitised, adj, HORIZ, fader_length) + : SliderController (adj, HORIZ, fader_length) { if (with_numeric) { spin_frame.add (spin); -- cgit v1.2.3