summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-02-08 19:19:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-02-08 19:19:55 +0000
commitcc074c66fabd3fb28f8387b64f58e6d49206f122 (patch)
tree94df315220a852aae412ddfcc70a0e4579072994 /gtk2_ardour
parentb12beab67c70045269d6ec5dc735c2f4af67c4f9 (diff)
cairo-ify expose handlers for PixFader and PixScroller (latter is not used); tweak UI RC file in response; move rgb macros to gtkmm2ext for easier use there as we go cairo over time
git-svn-id: svn://localhost/ardour2/branches/3.0@8775 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour3_ui_dark.rc.in10
-rw-r--r--gtk2_ardour/gain_meter.cc5
-rw-r--r--gtk2_ardour/rgb_macros.h28
-rw-r--r--gtk2_ardour/utils.cc30
4 files changed, 51 insertions, 22 deletions
diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ardour3_ui_dark.rc.in
index 6763d78bad..3cba4e5fe8 100644
--- a/gtk2_ardour/ardour3_ui_dark.rc.in
+++ b/gtk2_ardour/ardour3_ui_dark.rc.in
@@ -357,12 +357,10 @@ style "small_red_active_and_selected_button" = "small_button"
style "gain_fader"
{
- bg[NORMAL] = { 0.269, 0.269, 0.300}
- bg[ACTIVE] = { 0.152, 0.152, 0.168 }
+ bg[NORMAL] = shade (0.7, @A_lightest)
+ bg[ACTIVE] = shade (0.72, @A_lightest)
}
-
-
#MSR and related buttons
style "track_rec_enable_button" = "small_button"
@@ -1286,9 +1284,9 @@ style "processor_fader"
}
# Fader processor's frame
-style "processor_fader_frame"
+style "processor_fader_frame"
{
- bg[NORMAL] = @A_processor_fader_frame
+bg[NORMAL] = @A_processor_fader_frame
}
# Pre-fader processor's background
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 82b106c9a1..77cdbfe82e 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -449,7 +449,10 @@ GainMeterBase::set_meter_strip_name (const char * name)
void
GainMeterBase::set_fader_name (const char * name)
{
- gain_slider->set_name (name);
+ uint32_t rgb_active = rgba_from_style (name, 0xff, 0, 0xff, 0, "bg", STATE_ACTIVE, false);
+ uint32_t rgb_normal = rgba_from_style (name, 0xff, 0xff, 0, 0, "bg", STATE_NORMAL, false);
+
+ gain_slider->set_border_colors (rgb_normal, rgb_active);
}
void
diff --git a/gtk2_ardour/rgb_macros.h b/gtk2_ardour/rgb_macros.h
new file mode 100644
index 0000000000..ceda85738d
--- /dev/null
+++ b/gtk2_ardour/rgb_macros.h
@@ -0,0 +1,28 @@
+/*
+ Copyright (C) 2000 EMC Capital Management, Inc.
+
+ Developed by Jon Trowbridge <trow@gnu.org> and
+ Havoc Pennington <hp@pobox.com>.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#ifndef __gtk_ardour_rgb_macros_h__
+#define __gtk_ardour_rgb_macros_h__
+
+#include "gtkmm2ext/rgb_macros.h"
+
+#endif /* __gtk_ardour_rgb_macros_h__ */
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index 621cdb0dd9..fe0235f6d5 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -351,31 +351,31 @@ rgba_from_style (string style, uint32_t r, uint32_t g, uint32_t b, uint32_t a, s
foo.set_name (style);
foo.ensure_style ();
- GtkRcStyle* waverc = foo.get_style()->gobj()->rc_style;
+ GtkRcStyle* rc = foo.get_style()->gobj()->rc_style;
- if (waverc) {
+ if (rc) {
if (attr == "fg") {
- r = waverc->fg[state].red / 257;
- g = waverc->fg[state].green / 257;
- b = waverc->fg[state].blue / 257;
+ r = rc->fg[state].red / 257;
+ g = rc->fg[state].green / 257;
+ b = rc->fg[state].blue / 257;
/* what a hack ... "a" is for "active" */
if (state == Gtk::STATE_NORMAL && rgba) {
- a = waverc->fg[GTK_STATE_ACTIVE].red / 257;
+ a = rc->fg[GTK_STATE_ACTIVE].red / 257;
}
} else if (attr == "bg") {
r = g = b = 0;
- r = waverc->bg[state].red / 257;
- g = waverc->bg[state].green / 257;
- b = waverc->bg[state].blue / 257;
+ r = rc->bg[state].red / 257;
+ g = rc->bg[state].green / 257;
+ b = rc->bg[state].blue / 257;
} else if (attr == "base") {
- r = waverc->base[state].red / 257;
- g = waverc->base[state].green / 257;
- b = waverc->base[state].blue / 257;
+ r = rc->base[state].red / 257;
+ g = rc->base[state].green / 257;
+ b = rc->base[state].blue / 257;
} else if (attr == "text") {
- r = waverc->text[state].red / 257;
- g = waverc->text[state].green / 257;
- b = waverc->text[state].blue / 257;
+ r = rc->text[state].red / 257;
+ g = rc->text[state].green / 257;
+ b = rc->text[state].blue / 257;
}
} else {
warning << string_compose (_("missing RGBA style for \"%1\""), style) << endl;