basic usage, now that the mackie code is Out There
[ardour.git] / gtk2_ardour / panner.cc
index 49bdf778e43a2253f560aed7a490b6a4e5e76004..d54d6b89ac9bc540c068127fade1d7d25f8210fe 100644 (file)
@@ -4,7 +4,7 @@
 
 using namespace std;
 
-static const int triangle_size = 7;
+static const int triangle_size = 5;
 
 static void
 null_label_callback (char* buf, unsigned int bufsize)
@@ -52,20 +52,20 @@ PannerBar::expose (GdkEventExpose* ev)
 
        // center
 
-       points[0].x = darea.get_width()/2 - (triangle_size - 2);
+       points[0].x = (darea.get_width()/2 - triangle_size);
        points[0].y = 0;
 
-       points[1].x = darea.get_width()/2 + (triangle_size - 2);
+       points[1].x = (darea.get_width()/2 + triangle_size);
        points[1].y = 0;
        
-       points[2].x = darea.get_width()/2 - 1;
-       points[2].y = triangle_size - 3;
+       points[2].x = darea.get_width()/2;
+       points[2].y = triangle_size - 1;
 
        gdk_draw_polygon (win->gobj(), gc->gobj(), true, points, 3); 
 
        // right
 
-       points[0].x = darea.get_width() - triangle_size;
+       points[0].x = (darea.get_width() - triangle_size);
        points[0].y = 0;
 
        points[1].x = darea.get_width();
@@ -84,12 +84,12 @@ PannerBar::button_press (GdkEventButton* ev)
 {
        if (ev->button == 1 && ev->type == GDK_BUTTON_PRESS && ev->y < 10) {
                if (ev->x < triangle_size) {
-                       return true;
+                       adjustment.set_value (adjustment.get_lower());
                } else if (ev->x > (darea.get_width() - triangle_size)) {
-                       return true;
+                       adjustment.set_value (adjustment.get_upper());
                } else if (ev->x > (darea.get_width()/2 - triangle_size) &&
                           ev->x < (darea.get_width()/2 + triangle_size)) {
-                       return true;
+                       adjustment.set_value (adjustment.get_lower() + ((adjustment.get_upper() - adjustment.get_lower()) / 2.0));
                }
        }
 
@@ -99,26 +99,6 @@ PannerBar::button_press (GdkEventButton* ev)
 bool
 PannerBar::button_release (GdkEventButton* ev)
 {
-       if (ev->button == 1 && ev->type == GDK_BUTTON_RELEASE && ev->y < 10) {
-               if (ev->x < triangle_size) {
-                       adjustment.set_value (adjustment.get_lower());
-                       return true;
-               } else if (ev->x > (darea.get_width() - triangle_size)) {
-                       adjustment.set_value (adjustment.get_upper());
-                       return true;
-               } else if (ev->x > (darea.get_width()/2 - triangle_size) &&
-                          ev->x < (darea.get_width()/2 + triangle_size)) {
-                       adjustment.set_value (adjustment.get_lower() + ((adjustment.get_upper() - adjustment.get_lower()) / 2.0));
-                       return true;
-               }
-       }
-
        return BarController::button_release (ev);
 }
 
-void
-PannerBar::on_size_request (Gtk::Requisition* req)
-{
-       req->width = -1;
-       req->height = 50;
-}