diff options
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/pixfader.h | 10 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/slider_controller.h | 14 | ||||
-rw-r--r-- | libs/gtkmm2ext/pixfader.cc | 69 | ||||
-rw-r--r-- | libs/gtkmm2ext/slider_controller.cc | 23 |
4 files changed, 31 insertions, 85 deletions
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<Gdk::Pixbuf>, Glib::RefPtr<Gdk::Pixbuf>, 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<Cairo::Context> belt_context[STATES]; - Cairo::RefPtr<Cairo::ImageSurface> belt_surface[STATES]; - Glib::RefPtr<Gdk::Pixbuf> 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<Gdk::Pixbuf>, Glib::RefPtr<Gdk::Pixbuf>, 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<Gdk::Pixbuf> slider; - Glib::RefPtr<Gdk::Pixbuf> 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<Gdk::Pixbuf> image, - Glib::RefPtr<Gdk::Pixbuf> 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<Gdk::Pixbuf> image, - Glib::RefPtr<Gdk::Pixbuf> 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<Gdk::Pixbuf> belt, - Glib::RefPtr<Gdk::Pixbuf> 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<Cairo::Context> 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<Gdk::Pixbuf> image, - Glib::RefPtr<Gdk::Pixbuf> 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<Gdk::Pixbuf> image, Glib::RefPtr<Gdk::Pixbuf> 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<Gdk::Pixbuf> image, Glib::Ref } } -HSliderController::HSliderController (Glib::RefPtr<Gdk::Pixbuf> image, Glib::RefPtr<Gdk::Pixbuf> 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); |