summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pixfader.h10
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/slider_controller.h14
-rw-r--r--libs/gtkmm2ext/pixfader.cc69
-rw-r--r--libs/gtkmm2ext/slider_controller.cc23
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);