summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-12-21 02:52:27 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-12-21 02:52:27 +0000
commit02f714b8c9052e5ada0431df0be00f684294739d (patch)
tree8461e4f1417d243a701da2b325faa11dc13c55f6 /gtk2_ardour
parent4d6bfa3d473560153bddd21ff750da48a2bf4891 (diff)
more panner tweaking
git-svn-id: svn://localhost/ardour2/trunk@1239 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour2_ui.rc8
-rw-r--r--gtk2_ardour/panner.cc21
-rw-r--r--gtk2_ardour/panner.h2
-rw-r--r--gtk2_ardour/panner_ui.cc12
-rw-r--r--gtk2_ardour/panner_ui.h2
5 files changed, 30 insertions, 15 deletions
diff --git a/gtk2_ardour/ardour2_ui.rc b/gtk2_ardour/ardour2_ui.rc
index c5da7dd2bc..074e75c0bc 100644
--- a/gtk2_ardour/ardour2_ui.rc
+++ b/gtk2_ardour/ardour2_ui.rc
@@ -971,11 +971,11 @@ style "pan_slider"
# used to draw the triangular indicators
- base[NORMAL] = { 0.93, 0.94, 0.71 }
- base[ACTIVE] = {0.93, 0.94, 0.71 }
+ base[NORMAL] = { 0.803, 0.792, 0.619 }
+ base[ACTIVE] = { 0.803, 0.792, 0.619 }
base[INSENSITIVE] = {0.32, 0.39, 0.45 } # matches default_base
- base[SELECTED] = { 0.93, 0.94, 0.71 }
- base[PRELIGHT] = { 0.93, 0.94, 0.71 }
+ base[SELECTED] = { 0.803, 0.792, 0.619 }
+ base[PRELIGHT] = { 0.803, 0.792, 0.619 }
}
diff --git a/gtk2_ardour/panner.cc b/gtk2_ardour/panner.cc
index acf06c4b07..49bdf778e4 100644
--- a/gtk2_ardour/panner.cc
+++ b/gtk2_ardour/panner.cc
@@ -4,7 +4,7 @@
using namespace std;
-static const int triangle_size = 9;
+static const int triangle_size = 7;
static void
null_label_callback (char* buf, unsigned int bufsize)
@@ -37,8 +37,8 @@ PannerBar::expose (GdkEventExpose* ev)
GdkPoint points[3];
+ // left
-
points[0].x = 0;
points[0].y = 0;
@@ -50,16 +50,20 @@ PannerBar::expose (GdkEventExpose* ev)
gdk_draw_polygon (win->gobj(), gc->gobj(), true, points, 3);
+ // center
+
points[0].x = darea.get_width()/2 - (triangle_size - 2);
points[0].y = 0;
points[1].x = darea.get_width()/2 + (triangle_size - 2);
points[1].y = 0;
- points[2].x = darea.get_width()/2;
- points[2].y = triangle_size - 2;
+ points[2].x = darea.get_width()/2 - 1;
+ points[2].y = triangle_size - 3;
- gdk_draw_polygon (win->gobj(), gc->gobj(), true, points, 3);
+ gdk_draw_polygon (win->gobj(), gc->gobj(), true, points, 3);
+
+ // right
points[0].x = darea.get_width() - triangle_size;
points[0].y = 0;
@@ -111,3 +115,10 @@ PannerBar::button_release (GdkEventButton* ev)
return BarController::button_release (ev);
}
+
+void
+PannerBar::on_size_request (Gtk::Requisition* req)
+{
+ req->width = -1;
+ req->height = 50;
+}
diff --git a/gtk2_ardour/panner.h b/gtk2_ardour/panner.h
index d06a4c21e3..580d8e9c67 100644
--- a/gtk2_ardour/panner.h
+++ b/gtk2_ardour/panner.h
@@ -9,6 +9,8 @@ class PannerBar : public Gtkmm2ext::BarController
PannerBar (Gtk::Adjustment& adj, PBD::Controllable&);
~PannerBar ();
+ void on_size_request (Gtk::Requisition*);
+
protected:
bool expose (GdkEventExpose*);
bool button_press (GdkEventButton*);
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index b12013e9ee..46d69b7a79 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -45,6 +45,7 @@ using namespace Gtkmm2ext;
using namespace Gtk;
using namespace sigc;
+const int PannerUI::pan_bar_height = 30;
PannerUI::PannerUI (boost::shared_ptr<IO> io, Session& s)
: _io (io),
@@ -219,7 +220,7 @@ PannerUI::set_width (Width w)
panner->set_size_request (61, 61);
}
for (vector<PannerBar*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) {
- (*i)->set_size_request (61, 15);
+ (*i)->set_size_request (61, pan_bar_height);
}
panning_link_button.set_label (_("link"));
break;
@@ -229,7 +230,7 @@ PannerUI::set_width (Width w)
panner->set_size_request (31, 61);
}
for (vector<PannerBar*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) {
- (*i)->set_size_request (31, 15);
+ (*i)->set_size_request (31, pan_bar_height);
}
panning_link_button.set_label (_("L"));
break;
@@ -318,7 +319,6 @@ PannerUI::setup_pan ()
bc->set_name ("PanSlider");
bc->set_shadow_type (Gtk::SHADOW_NONE);
- bc->set_style (BarController::Line);
bc->StartGesture.connect (bind (mem_fun (*_io, &IO::start_pan_touch), (uint32_t) asz));
bc->StopGesture.connect (bind (mem_fun (*_io, &IO::end_pan_touch), (uint32_t) asz));
@@ -333,14 +333,14 @@ PannerUI::setup_pan ()
pan_bars.push_back (bc);
switch (_width) {
case Wide:
- pan_bars.back()->set_size_request (61, 15);
+ bc->set_size_request (61, pan_bar_height);
break;
case Narrow:
- pan_bars.back()->set_size_request (31, 15);
+ bc->set_size_request (31, pan_bar_height);
break;
}
- pan_bar_packer.pack_start (*pan_bars.back(), true, true);
+ pan_bar_packer.pack_start (*bc, false, false);
}
/* now that we actually have the pan bars,
diff --git a/gtk2_ardour/panner_ui.h b/gtk2_ardour/panner_ui.h
index b4547a4a0e..79a8085488 100644
--- a/gtk2_ardour/panner_ui.h
+++ b/gtk2_ardour/panner_ui.h
@@ -78,6 +78,8 @@ class PannerUI : public Gtk::HBox
bool ignore_toggle;
bool in_pan_update;
+ static const int pan_bar_height;
+
Panner2d* panner;
Gtk::VBox pan_bar_packer;