summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-10-27 20:10:49 +0000
committerDavid Robillard <d@drobilla.net>2011-10-27 20:10:49 +0000
commit743f0ea0ecaa44204abed163187f3335894dcda1 (patch)
tree63fa0982b04bae65ff2ec07e2075cff4d7a237d3 /gtk2_ardour
parent5005ba060ec93b08cb9cc4beabcfc7a5f7ef2f84 (diff)
Ever so slightly less memory and better field alignment per CairoWidget.
Fix indentation. git-svn-id: svn://localhost/ardour2/branches/3.0@10316 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_button.cc51
-rw-r--r--gtk2_ardour/ardour_button.h26
-rw-r--r--gtk2_ardour/cairo_widget.cc3
-rw-r--r--gtk2_ardour/cairo_widget.h2
-rw-r--r--gtk2_ardour/led.cc115
-rw-r--r--gtk2_ardour/led.h18
6 files changed, 107 insertions, 108 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index 08d28a1aea..d72e9549c0 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -42,19 +42,18 @@ ArdourButton::Element ArdourButton::default_elements = ArdourButton::Element (Ar
ArdourButton::Element ArdourButton::led_default_elements = ArdourButton::Element (ArdourButton::default_elements|ArdourButton::Indicator);
ArdourButton::ArdourButton (Element e)
- : _elements (e)
+ : _elements (e)
, _text_width (0)
, _text_height (0)
- , _led_left (false)
- , _diameter (0.0)
- , _fixed_diameter (false)
- , _distinct_led_click (true)
+ , _diameter (0.0)
, _corner_radius (9)
, edge_pattern (0)
, fill_pattern (0)
, led_inset_pattern (0)
, reflection_pattern (0)
-
+ , _led_left (false)
+ , _fixed_diameter (false)
+ , _distinct_led_click (true)
{
ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler));
StateChanged.connect (sigc::mem_fun (*this, &ArdourButton::state_handler));
@@ -94,19 +93,19 @@ ArdourButton::set_markup (const std::string& str)
void
ArdourButton::render (cairo_t* cr)
{
- if (!_fixed_diameter) {
- _diameter = std::min (_width, _height);
- }
+ if (!_fixed_diameter) {
+ _diameter = std::min (_width, _height);
+ }
/* background fill. use parent window style, so that we fit in nicely.
*/
Color c = get_parent_bg ();
-
- cairo_rectangle (cr, 0, 0, _width, _height);
- cairo_stroke_preserve (cr);
- cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
- cairo_fill (cr);
+
+ cairo_rectangle (cr, 0, 0, _width, _height);
+ cairo_stroke_preserve (cr);
+ cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
+ cairo_fill (cr);
if (_elements & Edge) {
Gtkmm2ext::rounded_rectangle (cr, 0, 0, _width, _height, _corner_radius);
@@ -185,11 +184,11 @@ ArdourButton::state_handler ()
void
ArdourButton::set_diameter (float d)
{
- _diameter = (d*2) + 5.0;
+ _diameter = (d*2) + 5.0;
- if (_diameter != 0.0) {
- _fixed_diameter = true;
- }
+ if (_diameter != 0.0) {
+ _fixed_diameter = true;
+ }
set_colors ();
}
@@ -211,13 +210,13 @@ ArdourButton::on_size_request (Gtk::Requisition* req)
_layout->get_pixel_size (_text_width, _text_height);
xpad += 6;
}
-
- if (_fixed_diameter) {
- req->width = _text_width + (int) _diameter + xpad;
- req->height = max (_text_height, (int) _diameter) + ypad;
- } else {
- CairoWidget::on_size_request (req);
- }
+
+ if (_fixed_diameter) {
+ req->width = _text_width + (int) _diameter + xpad;
+ req->height = max (_text_height, (int) _diameter) + ypad;
+ } else {
+ CairoWidget::on_size_request (req);
+ }
}
void
@@ -322,7 +321,7 @@ ArdourButton::set_colors ()
led_b = b/255.0;
led_a = a/255.0;
- set_dirty ();
+ set_dirty ();
}
void
diff --git a/gtk2_ardour/ardour_button.h b/gtk2_ardour/ardour_button.h
index b7e073af05..1bf5aaac19 100644
--- a/gtk2_ardour/ardour_button.h
+++ b/gtk2_ardour/ardour_button.h
@@ -47,7 +47,7 @@ class ArdourButton : public CairoWidget, Gtk::Activatable
Element elements() const { return _elements; }
void set_corner_radius (float);
- void set_diameter (float);
+ void set_diameter (float);
void set_text (const std::string&);
void set_markup (const std::string&);
@@ -59,22 +59,20 @@ class ArdourButton : public CairoWidget, Gtk::Activatable
protected:
void render (cairo_t *);
- void on_size_request (Gtk::Requisition* req);
+ void on_size_request (Gtk::Requisition* req);
void on_size_allocate (Gtk::Allocation&);
bool on_button_press_event (GdkEventButton*);
bool on_button_release_event (GdkEventButton*);
private:
- Element _elements;
Glib::RefPtr<Pango::Layout> _layout;
- std::string _text;
- int _text_width;
- int _text_height;
- bool _led_left;
- float _diameter;
- bool _fixed_diameter;
- bool _distinct_led_click;
- float _corner_radius;
+ std::string _text;
+ Element _elements;
+
+ int _text_width;
+ int _text_height;
+ float _diameter;
+ float _corner_radius;
cairo_pattern_t* edge_pattern;
cairo_pattern_t* fill_pattern;
@@ -91,7 +89,11 @@ class ArdourButton : public CairoWidget, Gtk::Activatable
double led_b;
double led_a;
- void set_colors ();
+ bool _led_left;
+ bool _fixed_diameter;
+ bool _distinct_led_click;
+
+ void set_colors ();
void color_handler ();
void state_handler ();
};
diff --git a/gtk2_ardour/cairo_widget.cc b/gtk2_ardour/cairo_widget.cc
index 025bb16ea6..d5dc846ee4 100644
--- a/gtk2_ardour/cairo_widget.cc
+++ b/gtk2_ardour/cairo_widget.cc
@@ -25,9 +25,8 @@ CairoWidget::CairoWidget ()
, _height (1)
, _active_state (CairoWidget::ActiveState (0))
, _visual_state (CairoWidget::VisualState (0))
- , _dirty (true)
, _pixmap (0)
-
+ , _dirty (true)
{
}
diff --git a/gtk2_ardour/cairo_widget.h b/gtk2_ardour/cairo_widget.h
index 61708e19cd..ff0533643b 100644
--- a/gtk2_ardour/cairo_widget.h
+++ b/gtk2_ardour/cairo_widget.h
@@ -73,8 +73,8 @@ protected:
VisualState _visual_state;
private:
- bool _dirty; ///< true if the pixmap requires re-rendering
GdkPixmap* _pixmap; ///< our pixmap
+ bool _dirty; ///< true if the pixmap requires re-rendering
};
#endif
diff --git a/gtk2_ardour/led.cc b/gtk2_ardour/led.cc
index 8a8c5868f3..e2e4b28105 100644
--- a/gtk2_ardour/led.cc
+++ b/gtk2_ardour/led.cc
@@ -28,12 +28,11 @@ using namespace Gtk;
using namespace Glib;
LED::LED()
- : _diameter (0.0)
- , _fixed_diameter (false)
- , _red (0.0)
- , _green (1.0)
- , _blue (0.0)
-
+ : _diameter (0.0)
+ , _red (0.0)
+ , _green (1.0)
+ , _blue (0.0)
+ , _fixed_diameter (false)
{
}
@@ -44,35 +43,35 @@ LED::~LED()
void
LED::render (cairo_t* cr)
{
- if (!_fixed_diameter) {
- _diameter = std::min (_width, _height);
- }
+ if (!_fixed_diameter) {
+ _diameter = std::min (_width, _height);
+ }
- //background
+ //background
- Widget* parent;
- RefPtr<Style> style;
- Color c;
+ Widget* parent;
+ RefPtr<Style> style;
+ Color c;
- parent = get_parent ();
+ parent = get_parent ();
- while (parent && !parent->get_has_window()) {
- parent = parent->get_parent();
- }
+ while (parent && !parent->get_has_window()) {
+ parent = parent->get_parent();
+ }
- if (parent && parent->get_has_window()) {
- style = parent->get_style ();
- c = style->get_bg (parent->get_state());
- } else {
- style = get_style ();
- c = style->get_bg (get_state());
- }
+ if (parent && parent->get_has_window()) {
+ style = parent->get_style ();
+ c = style->get_bg (parent->get_state());
+ } else {
+ style = get_style ();
+ c = style->get_bg (get_state());
+ }
#if 0
- cairo_rectangle(cr, 0, 0, _width, _height);
- cairo_stroke_preserve(cr);
- cairo_set_source_rgb(cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
- cairo_fill(cr);
+ cairo_rectangle(cr, 0, 0, _width, _height);
+ cairo_stroke_preserve(cr);
+ cairo_set_source_rgb(cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
+ cairo_fill(cr);
#endif
cairo_translate(cr, _width/2, _height/2);
@@ -112,51 +111,51 @@ LED::render (cairo_t* cr)
void
LED::set_diameter (float d)
{
- _diameter = (d*2) + 5.0;
+ _diameter = (d*2) + 5.0;
- if (_diameter != 0.0) {
- _fixed_diameter = true;
- }
+ if (_diameter != 0.0) {
+ _fixed_diameter = true;
+ }
- set_dirty ();
+ set_dirty ();
}
void
LED::on_realize ()
{
- set_colors_from_style ();
- CairoWidget::on_realize ();
+ set_colors_from_style ();
+ CairoWidget::on_realize ();
}
void
LED::on_size_request (Gtk::Requisition* req)
{
- if (_fixed_diameter) {
- req->width = _diameter;
- req->height = _diameter;
- } else {
- CairoWidget::on_size_request (req);
- }
+ if (_fixed_diameter) {
+ req->width = _diameter;
+ req->height = _diameter;
+ } else {
+ CairoWidget::on_size_request (req);
+ }
}
void
LED::set_colors_from_style ()
{
- RefPtr<Style> style = get_style();
- Color c;
-
- switch (_visual_state) {
- case 0:
- c = style->get_fg (STATE_NORMAL);
- break;
- default:
- c = style->get_fg (STATE_ACTIVE);
- break;
- }
-
- _red = c.get_red_p ();
- _green = c.get_green_p ();
- _blue = c.get_blue_p ();
-
- set_dirty ();
+ RefPtr<Style> style = get_style();
+ Color c;
+
+ switch (_visual_state) {
+ case 0:
+ c = style->get_fg (STATE_NORMAL);
+ break;
+ default:
+ c = style->get_fg (STATE_ACTIVE);
+ break;
+ }
+
+ _red = c.get_red_p ();
+ _green = c.get_green_p ();
+ _blue = c.get_blue_p ();
+
+ set_dirty ();
}
diff --git a/gtk2_ardour/led.h b/gtk2_ardour/led.h
index c60e0761cf..edb08818b3 100644
--- a/gtk2_ardour/led.h
+++ b/gtk2_ardour/led.h
@@ -30,21 +30,21 @@ class LED : public CairoWidget
LED ();
virtual ~LED ();
- void set_diameter (float);
+ void set_diameter (float);
protected:
void render (cairo_t *);
- void on_size_request (Gtk::Requisition* req);
- void on_realize ();
+ void on_size_request (Gtk::Requisition* req);
+ void on_realize ();
private:
- float _diameter;
- bool _fixed_diameter;
- float _red;
- float _green;
- float _blue;
+ float _diameter;
+ float _red;
+ float _green;
+ float _blue;
+ bool _fixed_diameter;
- void set_colors_from_style ();
+ void set_colors_from_style ();
};
#endif /* __gtk2_ardour_led_h__ */