summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/gtkmm2ext/pixfader.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-01-11 18:33:57 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2013-01-11 18:33:57 +0000
commit9fcf40c94bb136711a34e14ad729862ca3cd0812 (patch)
treea53fdd3b4ed4c7f1082ff9c12d4d4d2a357ab9d1 /libs/gtkmm2ext/gtkmm2ext/pixfader.h
parent7922ec1e9a8db2cf23b286f1dd39bca942d5122d (diff)
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
Diffstat (limited to 'libs/gtkmm2ext/gtkmm2ext/pixfader.h')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pixfader.h29
1 files changed, 7 insertions, 22 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
index 3d53a0d121..039a822bcd 100644
--- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h
+++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
@@ -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();
};