summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-11-30 04:14:51 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-11-30 04:14:51 +0000
commit503d1b5306717f06101b10b384c623ba0a879401 (patch)
tree2106e8784989f4982b9ce6be38cdbe3403c45300 /libs
parent6b29e87fe4dcb93a5eacad8de93db8f38d88804c (diff)
start of Blob-style for bar controller and use in panner GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@8133 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/barcontroller.cc28
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/barcontroller.h1
2 files changed, 28 insertions, 1 deletions
diff --git a/libs/gtkmm2ext/barcontroller.cc b/libs/gtkmm2ext/barcontroller.cc
index 5c0d444be7..8db8116ed6 100644
--- a/libs/gtkmm2ext/barcontroller.cc
+++ b/libs/gtkmm2ext/barcontroller.cc
@@ -244,9 +244,10 @@ BarController::mouse_control (double x, GdkWindow* window, double scaling)
delta = x - grab_x;
grab_x = x;
-
+
switch (_style) {
case Line:
+ case Blob:
case LeftToRight:
case CenterOut:
fract = scaling * (delta / (darea.get_width() - 2));
@@ -302,6 +303,31 @@ BarController::expose (GdkEventExpose* /*event*/)
win->draw_line (get_style()->get_fg_gc (get_state()), x1, 0, x1, h);
break;
+ case Blob:
+ w = darea.get_width() - 1;
+ h = darea.get_height();
+ x1 = (gint) floor (w * fract);
+ x2 = min (w-2,h-2);
+
+ if (use_parent) {
+ parent = get_parent();
+
+ if (parent) {
+ win->draw_rectangle (parent->get_style()->get_fg_gc (parent->get_state()),
+ true,
+ 0, 0, darea.get_width(), darea.get_height());
+ }
+
+ } else {
+
+ win->draw_rectangle (get_style()->get_bg_gc (get_state()),
+ true,
+ 0, 0, darea.get_width() - ((darea.get_width()+1) % 2), darea.get_height());
+ }
+
+ win->draw_arc (get_style()->get_fg_gc (get_state()), true, x1, ((h-2)/2)-1, x2, x2, 0, 360 * 64);
+ break;
+
case CenterOut:
w = darea.get_width();
h = darea.get_height()-2;
diff --git a/libs/gtkmm2ext/gtkmm2ext/barcontroller.h b/libs/gtkmm2ext/gtkmm2ext/barcontroller.h
index 1a0b78dabe..e0e14f1c26 100644
--- a/libs/gtkmm2ext/gtkmm2ext/barcontroller.h
+++ b/libs/gtkmm2ext/gtkmm2ext/barcontroller.h
@@ -37,6 +37,7 @@ class BarController : public Gtk::Frame
LeftToRight,
RightToLeft,
Line,
+ Blob,
CenterOut,
TopToBottom,