substantive changes to pixfaders and derived classes. now fully dynamically sizable and have an added texture that currently just emulates the ardour2 belt pattern. mild color changes, not finalized yet.
git-svn-id: svn://localhost/ardour2/branches/3.0@13830 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
7922ec1e9a
commit
9fcf40c94b
@ -68,8 +68,13 @@ style "small_red_active_and_selected_button" = "small_button"
|
||||
|
||||
style "gain_fader"
|
||||
{
|
||||
bg[NORMAL] = shade (0.7, @@COLPREFIX@_lightest)
|
||||
bg[ACTIVE] = shade (0.705, @@COLPREFIX@_lightest)
|
||||
bg[NORMAL] = shade (0.7, @@COLPREFIX@_bg)
|
||||
bg[ACTIVE] = shade (0.705, @@COLPREFIX@_bg)
|
||||
bg[INSENSITIVE] = shade (0.705, @@COLPREFIX@_bg)
|
||||
|
||||
fg[INSENSITIVE] = shade (0.7, @@COLPREFIX@_bright_color)
|
||||
fg[NORMAL] = shade (0.7, @@COLPREFIX@_bright_color)
|
||||
fg[ACTIVE] = shade (0.705, @@COLPREFIX@_bright_color)
|
||||
}
|
||||
|
||||
#MSR and related buttons
|
||||
|
@ -177,9 +177,10 @@ widget "*TimeAxisViewControlsBaseUnselected" style:highest "audio_track_base"
|
||||
widget "*AudioTrackControlsBaseUnselected" style:highest "audio_track_base"
|
||||
widget "*MidiTrackControlsBaseUnselected" style:highest "midi_track_base"
|
||||
widget "*AudioTrackFader" style:highest "gain_fader"
|
||||
widget "*MidiTrackFader" style:highest "gain_fader"
|
||||
widget "*AudioBusFader" style:highest "gain_fader"
|
||||
|
||||
widget "*BusControlsBaseUnselected" style:highest "audio_bus_base"
|
||||
widget "*AudioBusFader" style:highest "gain_fader"
|
||||
widget "*TrackSeparator" style:highest "track_separator"
|
||||
widget "*TrackEditIndicator0*" style:highest "edit_group_0"
|
||||
widget "*TrackEditIndicator1*" style:highest "edit_group_1"
|
||||
|
@ -62,7 +62,7 @@ sigc::signal<void,RouteGroup*> GainMeterBase::ResetGroupPeakDisplays;
|
||||
|
||||
GainMeter::MetricPatterns GainMeter::metric_patterns;
|
||||
|
||||
GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length)
|
||||
GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int fader_girth)
|
||||
: gain_adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0.0, 1.0, 0.01, 0.1)
|
||||
, gain_automation_style_button ("")
|
||||
, gain_automation_state_button ("")
|
||||
@ -81,9 +81,9 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length)
|
||||
_width = Wide;
|
||||
|
||||
if (horizontal) {
|
||||
gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, false));
|
||||
gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, fader_girth, false));
|
||||
} else {
|
||||
gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, false));
|
||||
gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, fader_girth, false));
|
||||
}
|
||||
|
||||
level_meter = new LevelMeter(_session);
|
||||
@ -500,10 +500,7 @@ GainMeterBase::set_meter_strip_name (const char * name)
|
||||
void
|
||||
GainMeterBase::set_fader_name (const char * 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);
|
||||
gain_slider->set_name (name);
|
||||
}
|
||||
|
||||
void
|
||||
@ -511,7 +508,6 @@ GainMeterBase::update_gain_sensitive ()
|
||||
{
|
||||
bool x = !(_amp->gain_control()->alist()->automation_state() & Play);
|
||||
static_cast<Gtkmm2ext::SliderController*>(gain_slider)->set_sensitive (x);
|
||||
gain_slider->create_patterns();
|
||||
}
|
||||
|
||||
static MeterPoint
|
||||
@ -854,7 +850,7 @@ GainMeterBase::on_theme_changed()
|
||||
}
|
||||
|
||||
GainMeter::GainMeter (Session* s, int fader_length)
|
||||
: GainMeterBase (s, false, fader_length)
|
||||
: GainMeterBase (s, false, fader_length, 24)
|
||||
, gain_display_box(true, 0)
|
||||
, hbox(true, 2)
|
||||
{
|
||||
|
@ -67,7 +67,7 @@ namespace Gtk {
|
||||
class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
|
||||
{
|
||||
public:
|
||||
GainMeterBase (ARDOUR::Session*, bool horizontal, int);
|
||||
GainMeterBase (ARDOUR::Session*, bool horizontal, int, int);
|
||||
virtual ~GainMeterBase ();
|
||||
|
||||
virtual void set_controls (boost::shared_ptr<ARDOUR::Route> route,
|
||||
@ -200,7 +200,7 @@ private:
|
||||
class GainMeter : public GainMeterBase, public Gtk::VBox
|
||||
{
|
||||
public:
|
||||
GainMeter (ARDOUR::Session*, int);
|
||||
GainMeter (ARDOUR::Session*, int);
|
||||
~GainMeter () {}
|
||||
|
||||
virtual void set_controls (boost::shared_ptr<ARDOUR::Route> route,
|
||||
|
@ -394,7 +394,7 @@ ProcessorEntry::toggle_control_visibility (Control* c)
|
||||
ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string const & n)
|
||||
: _control (c)
|
||||
, _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
|
||||
, _slider (&_adjustment, 0, false)
|
||||
, _slider (&_adjustment, 0, 13, false)
|
||||
, _slider_persistant_tooltip (&_slider)
|
||||
, _button (ArdourButton::Element (ArdourButton::Text | ArdourButton::Indicator))
|
||||
, _ignore_ui_adjustment (false)
|
||||
@ -417,7 +417,6 @@ ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string
|
||||
} else {
|
||||
|
||||
_slider.set_name ("PluginSlider");
|
||||
_slider.set_size_request (-1, 13);
|
||||
_slider.set_text (_name);
|
||||
|
||||
// box.pack_start (_label);
|
||||
|
@ -102,7 +102,7 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, Canvas& c
|
||||
, playlist_action_menu (0)
|
||||
, mode_menu (0)
|
||||
, color_mode_menu (0)
|
||||
, gm (sess, true, 125)
|
||||
, gm (sess, true, 125, 18)
|
||||
, _ignore_set_layer_display (false)
|
||||
{
|
||||
}
|
||||
@ -194,7 +194,7 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
|
||||
// pad->pack_start (gm.get_gain_slider(), false, false);
|
||||
// pad->pack_start (*manage (new Gtk::Label), true, true);
|
||||
// pad->show_all ();
|
||||
controls_table.attach (gm.get_gain_slider(), 0, 5, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 3, 0);
|
||||
controls_table.attach (gm.get_gain_slider(), 0, 5, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::AttachOptions (0), 3, 0);
|
||||
|
||||
ARDOUR_UI::instance()->set_tip(*solo_button,_("Solo"));
|
||||
ARDOUR_UI::instance()->set_tip(*mute_button,_("Mute"));
|
||||
|
@ -32,16 +32,11 @@ namespace Gtkmm2ext {
|
||||
class PixFader : public Gtk::DrawingArea
|
||||
{
|
||||
public:
|
||||
PixFader (Gtk::Adjustment& adjustment, int orientation, int);
|
||||
PixFader (Gtk::Adjustment& adjustment, int orientation, int span, int girth);
|
||||
virtual ~PixFader ();
|
||||
|
||||
void set_fader_length (int);
|
||||
void set_border_colors (uint32_t rgba_left, uint32_t rgba_right);
|
||||
|
||||
void create_patterns();
|
||||
|
||||
void set_default_value (float);
|
||||
|
||||
void set_text (const std::string&);
|
||||
|
||||
protected:
|
||||
@ -65,31 +60,19 @@ class PixFader : public Gtk::DrawingArea
|
||||
bool on_scroll_event (GdkEventScroll* ev);
|
||||
bool on_enter_notify_event (GdkEventCrossing* ev);
|
||||
bool on_leave_notify_event (GdkEventCrossing* ev);
|
||||
void on_state_changed (Gtk::StateType);
|
||||
|
||||
enum Orientation {
|
||||
VERT=1,
|
||||
HORIZ=2,
|
||||
VERT,
|
||||
HORIZ,
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
enum State {
|
||||
NORMAL,
|
||||
DESENSITISED,
|
||||
STATES
|
||||
};
|
||||
|
||||
int span, girth;
|
||||
int _orien;
|
||||
float left_r;
|
||||
float left_g;
|
||||
float left_b;
|
||||
float right_r;
|
||||
float right_g;
|
||||
float right_b;
|
||||
|
||||
cairo_pattern_t* pattern;
|
||||
cairo_pattern_t* shine_pattern;
|
||||
cairo_pattern_t* texture_pattern;
|
||||
|
||||
bool _hovering;
|
||||
|
||||
@ -105,6 +88,8 @@ class PixFader : public Gtk::DrawingArea
|
||||
int display_span ();
|
||||
void set_adjustment_from_event (GdkEventButton *);
|
||||
void update_unity_position ();
|
||||
void free_patterns ();
|
||||
void create_patterns();
|
||||
};
|
||||
|
||||
|
||||
|
@ -39,7 +39,7 @@ namespace Gtkmm2ext {
|
||||
class SliderController : public Gtkmm2ext::PixFader
|
||||
{
|
||||
public:
|
||||
SliderController (Gtk::Adjustment* adj, int orientation, int);
|
||||
SliderController (Gtk::Adjustment* adj, int orientation, int, int);
|
||||
|
||||
virtual ~SliderController () {}
|
||||
|
||||
@ -63,13 +63,13 @@ class SliderController : public Gtkmm2ext::PixFader
|
||||
class VSliderController : public SliderController
|
||||
{
|
||||
public:
|
||||
VSliderController (Gtk::Adjustment *adj, int, bool with_numeric = true);
|
||||
VSliderController (Gtk::Adjustment *adj, int, int, bool with_numeric = true);
|
||||
};
|
||||
|
||||
class HSliderController : public SliderController
|
||||
{
|
||||
public:
|
||||
HSliderController (Gtk::Adjustment *adj, int, bool with_numeric = true);
|
||||
HSliderController (Gtk::Adjustment *adj, int, int, bool with_numeric = true);
|
||||
};
|
||||
|
||||
|
||||
|
@ -32,51 +32,42 @@ using namespace std;
|
||||
#define CORNER_RADIUS 4
|
||||
#define FADER_RESERVE (2*CORNER_RADIUS)
|
||||
|
||||
PixFader::PixFader (Gtk::Adjustment& adj, int orientation, int fader_length)
|
||||
PixFader::PixFader (Gtk::Adjustment& adj, int orientation, int fader_length, int fader_girth)
|
||||
: adjustment (adj)
|
||||
, span (fader_length)
|
||||
, girth (fader_girth)
|
||||
, _orien (orientation)
|
||||
, pattern (0)
|
||||
, texture_pattern (0)
|
||||
, _hovering (false)
|
||||
, last_drawn (-1)
|
||||
, dragging (false)
|
||||
{
|
||||
pattern = 0;
|
||||
shine_pattern = 0;
|
||||
|
||||
_hovering = false;
|
||||
dragging = false;
|
||||
default_value = adjustment.get_value();
|
||||
last_drawn = -1;
|
||||
girth = 23;
|
||||
|
||||
set_fader_length (fader_length);
|
||||
update_unity_position ();
|
||||
|
||||
add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK|Gdk::SCROLL_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
|
||||
|
||||
adjustment.signal_value_changed().connect (mem_fun (*this, &PixFader::adjustment_changed));
|
||||
adjustment.signal_changed().connect (mem_fun (*this, &PixFader::adjustment_changed));
|
||||
|
||||
left_r = 0;
|
||||
left_g = 0;
|
||||
left_b = 0;
|
||||
|
||||
right_r = 0;
|
||||
right_g = 0;
|
||||
right_b = 0;
|
||||
}
|
||||
|
||||
PixFader::~PixFader ()
|
||||
{
|
||||
free_patterns ();
|
||||
}
|
||||
|
||||
void
|
||||
PixFader::set_border_colors (uint32_t left, uint32_t right)
|
||||
PixFader::free_patterns ()
|
||||
{
|
||||
int r, g, b;
|
||||
UINT_TO_RGB(left, &r, &g, &b);
|
||||
left_r = r/255.0;
|
||||
left_g = g/255.0;
|
||||
left_b = b/255.0;
|
||||
UINT_TO_RGB(right, &r, &g, &b);
|
||||
right_r = r/255.0;
|
||||
right_g = g/255.0;
|
||||
right_b = b/255.0;
|
||||
if (pattern) {
|
||||
cairo_pattern_destroy (pattern);
|
||||
pattern = 0;
|
||||
}
|
||||
if (texture_pattern) {
|
||||
cairo_pattern_destroy (texture_pattern);
|
||||
texture_pattern = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@ -85,41 +76,63 @@ PixFader::create_patterns ()
|
||||
Gdk::Color c = get_style()->get_fg (get_state());
|
||||
float r, g, b;
|
||||
|
||||
if (pattern) {
|
||||
cairo_pattern_destroy (pattern);
|
||||
}
|
||||
|
||||
if (shine_pattern) {
|
||||
cairo_pattern_destroy (shine_pattern);
|
||||
}
|
||||
free_patterns ();
|
||||
|
||||
r = c.get_red_p ();
|
||||
g = c.get_green_p ();
|
||||
b = c.get_blue_p ();
|
||||
|
||||
cairo_surface_t* texture_surface;
|
||||
cairo_t* tc = 0;
|
||||
const double texture_margin = 3.0;
|
||||
|
||||
if (_orien == VERT) {
|
||||
|
||||
pattern = cairo_pattern_create_linear (0.0, 0.0, get_width(), 0);
|
||||
cairo_pattern_add_color_stop_rgba (pattern, 0, r*0.8,g*0.8,b*0.8, 1.0);
|
||||
cairo_pattern_add_color_stop_rgba (pattern, 1, r*0.6,g*0.6,b*0.6, 1.0);
|
||||
|
||||
shine_pattern = cairo_pattern_create_linear (0.0, 0.0, 15, 0);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 0, 1,1,1,0.0);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 0.2, 1,1,1,0.3);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 0.5, 1,1,1,0.0);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 1, 1,1,1,0.0);
|
||||
if (girth > 10) {
|
||||
texture_surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, girth, 6);
|
||||
tc = cairo_create (texture_surface);
|
||||
|
||||
for (double x = texture_margin; x < girth - texture_margin; x += 3.0) {
|
||||
cairo_set_source_rgba (tc, 0.533, 0.533, 0.580, 1.0);
|
||||
cairo_rectangle (tc, x, 2, 2, 2);
|
||||
cairo_fill (tc);
|
||||
cairo_set_source_rgba (tc, 0.337, 0.345, 0.349, 1.0);
|
||||
cairo_rectangle (tc, x, 2, 1, 1);
|
||||
cairo_fill (tc);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
texture_surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 6, girth);
|
||||
tc = cairo_create (texture_surface);
|
||||
|
||||
pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, get_height());
|
||||
cairo_pattern_add_color_stop_rgba (pattern, 0, r*0.8,g*0.8,b*0.8, 1.0);
|
||||
cairo_pattern_add_color_stop_rgba (pattern, 1, r*0.6,g*0.6,b*0.6, 1.0);
|
||||
|
||||
shine_pattern = cairo_pattern_create_linear (0.0, 0.0, 0.0, get_height());
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 0, 1,1,1,0.0);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 0.2, 1,1,1,0.3);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 0.5, 1,1,1,0.0);
|
||||
cairo_pattern_add_color_stop_rgba (shine_pattern, 1, 1,1,1,0.0);
|
||||
if (girth > 10) {
|
||||
for (double y = texture_margin; y < girth - texture_margin; y += 3) {
|
||||
cairo_set_source_rgba (tc, 0.533, 0.533, 0.580, 1.0);
|
||||
cairo_rectangle (tc, 0, y, 2, 2);
|
||||
cairo_fill (tc);
|
||||
cairo_set_source_rgba (tc, 0.337, 0.345, 0.349, 1.0);
|
||||
cairo_rectangle (tc, 0, y, 1, 1);
|
||||
cairo_fill (tc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (texture_surface) {
|
||||
texture_pattern = cairo_pattern_create_for_surface (texture_surface);
|
||||
cairo_pattern_set_extend (texture_pattern, CAIRO_EXTEND_REPEAT);
|
||||
|
||||
cairo_destroy (tc);
|
||||
cairo_surface_destroy (texture_surface);
|
||||
}
|
||||
|
||||
if ( !_text.empty()) {
|
||||
@ -137,11 +150,14 @@ PixFader::create_patterns ()
|
||||
}
|
||||
|
||||
bool
|
||||
PixFader::on_expose_event (GdkEventExpose*)
|
||||
PixFader::on_expose_event (GdkEventExpose* ev)
|
||||
{
|
||||
Cairo::RefPtr<Cairo::Context> context = get_window()->create_cairo_context();
|
||||
cairo_t* cr = context->cobj();
|
||||
|
||||
cairo_rectangle (cr, ev->area.x, ev->area.y, ev->area.width, ev->area.height);
|
||||
cairo_clip (cr);
|
||||
|
||||
if (!pattern) {
|
||||
create_patterns();
|
||||
}
|
||||
@ -154,34 +170,58 @@ PixFader::on_expose_event (GdkEventExpose*)
|
||||
float h = get_height();
|
||||
float radius = CORNER_RADIUS;
|
||||
|
||||
/* black border */
|
||||
|
||||
cairo_set_source_rgb (cr, 0,0,0);
|
||||
/* background/ border */
|
||||
cairo_set_source_rgb (cr, 0.290, 0.286, 0.337);
|
||||
cairo_rectangle (cr, 0, 0, w, h);
|
||||
cairo_fill (cr);
|
||||
|
||||
/* draw active box */
|
||||
|
||||
cairo_matrix_t matrix;
|
||||
|
||||
if (_orien == VERT) {
|
||||
|
||||
if (ds > h - FADER_RESERVE)
|
||||
if (ds > h - FADER_RESERVE) {
|
||||
ds = h - FADER_RESERVE;
|
||||
}
|
||||
|
||||
cairo_set_source (cr, pattern);
|
||||
Gtkmm2ext::rounded_top_half_rectangle (cr, 1, 1+ds, w-1, h-(1+ds)-1, radius-1.5);
|
||||
cairo_fill (cr);
|
||||
|
||||
if (texture_pattern) {
|
||||
cairo_save (cr);
|
||||
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
|
||||
cairo_set_source (cr, texture_pattern);
|
||||
cairo_matrix_init_translate (&matrix, -1, -(1+ds));
|
||||
cairo_pattern_set_matrix (texture_pattern, &matrix);
|
||||
cairo_rectangle (cr, 1, 1+ds, w-1, h-(1+ds)-1);
|
||||
cairo_fill (cr);
|
||||
cairo_restore (cr);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (ds < FADER_RESERVE)
|
||||
if (ds < FADER_RESERVE) {
|
||||
ds = FADER_RESERVE;
|
||||
}
|
||||
|
||||
cairo_set_source (cr, pattern);
|
||||
Gtkmm2ext::rounded_right_half_rectangle (cr, 1, 1, ds-1, h-1, radius-1.5);
|
||||
cairo_fill (cr);
|
||||
|
||||
|
||||
if (texture_pattern) {
|
||||
cairo_save (cr);
|
||||
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
|
||||
cairo_set_source (cr, texture_pattern);
|
||||
cairo_matrix_init_translate (&matrix, -1, -1);
|
||||
cairo_pattern_set_matrix (texture_pattern, &matrix);
|
||||
cairo_rectangle (cr, 1, 1, ds-1, h-1);
|
||||
cairo_fill (cr);
|
||||
cairo_restore (cr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* draw the unity-position line if it's not at either end*/
|
||||
if (unity_loc > 0) {
|
||||
if ( _orien == VERT) {
|
||||
@ -246,14 +286,18 @@ PixFader::on_size_allocate (Gtk::Allocation& alloc)
|
||||
|
||||
if (_orien == VERT) {
|
||||
span = alloc.get_height();
|
||||
girth = alloc.get_width ();
|
||||
} else {
|
||||
span = alloc.get_width();
|
||||
girth = alloc.get_height ();
|
||||
}
|
||||
|
||||
update_unity_position ();
|
||||
create_patterns();
|
||||
|
||||
queue_draw ();
|
||||
|
||||
if (is_realized()) {
|
||||
create_patterns();
|
||||
queue_draw ();
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
@ -460,14 +504,8 @@ PixFader::display_span ()
|
||||
void
|
||||
PixFader::set_fader_length (int l)
|
||||
{
|
||||
if (_orien == VERT) {
|
||||
span = l;
|
||||
} else {
|
||||
span = l;
|
||||
}
|
||||
|
||||
span = l;
|
||||
update_unity_position ();
|
||||
|
||||
queue_draw ();
|
||||
}
|
||||
|
||||
@ -537,3 +575,9 @@ PixFader::set_text (const std::string& str)
|
||||
queue_resize ();
|
||||
}
|
||||
|
||||
void
|
||||
PixFader::on_state_changed (Gtk::StateType old_state)
|
||||
{
|
||||
Widget::on_state_changed (old_state);
|
||||
create_patterns ();
|
||||
}
|
||||
|
@ -28,8 +28,8 @@
|
||||
using namespace Gtkmm2ext;
|
||||
using namespace PBD;
|
||||
|
||||
SliderController::SliderController (Gtk::Adjustment *adj, int orientation, int fader_length)
|
||||
: PixFader (*adj, orientation, fader_length)
|
||||
SliderController::SliderController (Gtk::Adjustment *adj, int orientation, int fader_length, int fader_girth)
|
||||
: PixFader (*adj, orientation, fader_length, fader_girth)
|
||||
, spin (*adj, 0, 2)
|
||||
{
|
||||
spin.set_name ("SliderControllerValue");
|
||||
@ -54,9 +54,9 @@ SliderController::on_button_press_event (GdkEventButton *ev)
|
||||
return PixFader::on_button_press_event (ev);
|
||||
}
|
||||
|
||||
VSliderController::VSliderController (Gtk::Adjustment *adj, int fader_length, bool with_numeric)
|
||||
VSliderController::VSliderController (Gtk::Adjustment *adj, int fader_length, int fader_girth, bool with_numeric)
|
||||
|
||||
: SliderController (adj, VERT, fader_length)
|
||||
: SliderController (adj, VERT, fader_length, fader_girth)
|
||||
{
|
||||
if (with_numeric) {
|
||||
spin_frame.add (spin);
|
||||
@ -67,10 +67,10 @@ VSliderController::VSliderController (Gtk::Adjustment *adj, int fader_length, bo
|
||||
}
|
||||
}
|
||||
|
||||
HSliderController::HSliderController (Gtk::Adjustment *adj, int fader_length,
|
||||
HSliderController::HSliderController (Gtk::Adjustment *adj, int fader_length, int fader_girth,
|
||||
bool with_numeric)
|
||||
|
||||
: SliderController (adj, HORIZ, fader_length)
|
||||
: SliderController (adj, HORIZ, fader_length, fader_girth)
|
||||
{
|
||||
if (with_numeric) {
|
||||
spin_frame.add (spin);
|
||||
|
Loading…
Reference in New Issue
Block a user