ardour
Classes | Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Gtkmm2ext::PixFader Class Reference

#include <pixfader.h>

Inheritance diagram for Gtkmm2ext::PixFader:
CairoWidget Gtkmm2ext::SliderController Gtkmm2ext::HSliderController Gtkmm2ext::VSliderController

Classes

struct  FaderImage
 

Public Types

enum  Tweaks { NoShowUnityLine = 0x1, NoButtonForward = 0x2, NoVerticalScroll = 0x4 }
 

Public Member Functions

 PixFader (Gtk::Adjustment &adjustment, int orientation, int span, int girth)
 
virtual ~PixFader ()
 
void set_default_value (float)
 
void set_text (const std::string &, bool centered=true, bool expose=true)
 
Tweaks tweaks () const
 
void set_tweaks (Tweaks)
 
- Public Member Functions inherited from CairoWidget
 CairoWidget ()
 
virtual ~CairoWidget ()
 
void set_dirty ()
 
Gtkmm2ext::ActiveState active_state () const
 
Gtkmm2ext::VisualState visual_state () const
 
virtual void set_active_state (Gtkmm2ext::ActiveState)
 
virtual void set_visual_state (Gtkmm2ext::VisualState)
 
void unset_active_state ()
 
void unset_visual_state ()
 
void set_active (bool)
 
bool get_active ()
 
void set_draw_background (bool yn)
 

Public Attributes

sigc::signal< void > StartGesture
 
sigc::signal< void > StopGesture
 
sigc::signal< void > OnExpose
 
- Public Attributes inherited from CairoWidget
sigc::signal< void > StateChanged
 

Protected Types

enum  Orientation { VERT, HORIZ }
 

Protected Member Functions

void on_size_request (GtkRequisition *)
 
void on_size_allocate (Gtk::Allocation &alloc)
 
void render (cairo_t *, cairo_rectangle_t *)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_motion_notify_event (GdkEventMotion *)
 
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)
 
void on_style_changed (const Glib::RefPtr< Gtk::Style > &)
 
- Protected Member Functions inherited from CairoWidget
virtual bool on_expose_event (GdkEventExpose *)
 
void on_size_allocate (Gtk::Allocation &)
 
void on_state_changed (Gtk::StateType)
 
void on_style_changed (const Glib::RefPtr< Gtk::Style > &)
 
bool on_button_press_event (GdkEventButton *)
 
Gdk::Color get_parent_bg ()
 
virtual void on_name_changed ()
 

Private Member Functions

Gdk::Color get_parent_bg ()
 
void create_patterns ()
 
void adjustment_changed ()
 
void set_adjustment_from_event (GdkEventButton *)
 
void update_unity_position ()
 
int display_span ()
 

Static Private Member Functions

static cairo_pattern_t * find_pattern (double afr, double afg, double afb, double abr, double abg, double abb, int w, int h)
 

Private Attributes

Glib::RefPtr< Pango::Layout > _layout
 
std::string _text
 
Tweaks _tweaks
 
Gtk::Adjustment & _adjustment
 
int _text_width
 
int _text_height
 
int _span
 
int _girth
 
int _min_span
 
int _min_girth
 
int _orien
 
cairo_pattern_t * _pattern
 
bool _hovering
 
GdkWindow * _grab_window
 
double _grab_loc
 
double _grab_start
 
bool _dragging
 
float _default_value
 
int _unity_loc
 
bool _centered_text
 
sigc::connection _parent_style_change
 
Widget * _current_parent
 

Static Private Attributes

static std::list< FaderImage * > _patterns
 

Additional Inherited Members

- Static Public Member Functions inherited from CairoWidget
static void provide_background_for_cairo_widget (Gtk::Widget &w, const Gdk::Color &bg)
 
static void set_flat_buttons (bool yn)
 
static bool flat_buttons ()
 
static void set_widget_prelight (bool yn)
 
static bool widget_prelight ()
 
static void set_source_rgb_a (cairo_t *cr, Gdk::Color, float a=1.0)
 
static void set_focus_handler (sigc::slot< void >)
 
- Protected Attributes inherited from CairoWidget
Gtkmm2ext::ActiveState _active_state
 
Gtkmm2ext::VisualState _visual_state
 
bool _need_bg
 
bool _grabbed
 
- Static Protected Attributes inherited from CairoWidget
static bool _flat_buttons = false
 
static bool _widget_prelight = true
 
static sigc::slot< void > focus_handler
 

Detailed Description

Definition at line 34 of file pixfader.h.

Member Enumeration Documentation

Enumerator
VERT 
HORIZ 

Definition at line 71 of file pixfader.h.

Enumerator
NoShowUnityLine 
NoButtonForward 
NoVerticalScroll 

Definition at line 47 of file pixfader.h.

Constructor & Destructor Documentation

PixFader::PixFader ( Gtk::Adjustment &  adjustment,
int  orientation,
int  span,
int  girth 
)

Definition at line 43 of file pixfader.cc.

PixFader::~PixFader ( )
virtual

Definition at line 82 of file pixfader.cc.

Member Function Documentation

void PixFader::adjustment_changed ( )
private

Definition at line 559 of file pixfader.cc.

void PixFader::create_patterns ( )
private

Definition at line 102 of file pixfader.cc.

int PixFader::display_span ( )
private
Returns
pixel offset of the current value from the right or bottom of the fader

Definition at line 566 of file pixfader.cc.

cairo_pattern_t * PixFader::find_pattern ( double  afr,
double  afg,
double  afb,
double  abr,
double  abg,
double  abb,
int  w,
int  h 
)
staticprivate

Definition at line 89 of file pixfader.cc.

Gdk::Color PixFader::get_parent_bg ( )
private

Definition at line 698 of file pixfader.cc.

bool PixFader::on_button_press_event ( GdkEventButton *  ev)
protected

Definition at line 369 of file pixfader.cc.

bool PixFader::on_button_release_event ( GdkEventButton *  ev)
protected

Definition at line 403 of file pixfader.cc.

bool PixFader::on_enter_notify_event ( GdkEventCrossing *  ev)
protected

Definition at line 598 of file pixfader.cc.

bool PixFader::on_leave_notify_event ( GdkEventCrossing *  ev)
protected

Definition at line 609 of file pixfader.cc.

bool PixFader::on_motion_notify_event ( GdkEventMotion *  ev)
protected

Definition at line 516 of file pixfader.cc.

bool PixFader::on_scroll_event ( GdkEventScroll *  ev)
protected

Definition at line 463 of file pixfader.cc.

void PixFader::on_size_allocate ( Gtk::Allocation &  alloc)
protected

Definition at line 348 of file pixfader.cc.

void PixFader::on_size_request ( GtkRequisition *  req)
protected

Definition at line 336 of file pixfader.cc.

void PixFader::on_state_changed ( Gtk::StateType  old_state)
protected

Definition at line 675 of file pixfader.cc.

void PixFader::on_style_changed ( const Glib::RefPtr< Gtk::Style > &  )
protected

Definition at line 683 of file pixfader.cc.

void PixFader::render ( cairo_t *  cr,
cairo_rectangle_t *  area 
)
protectedvirtual

Implements CairoWidget.

Definition at line 199 of file pixfader.cc.

void PixFader::set_adjustment_from_event ( GdkEventButton *  ev)
private

Definition at line 622 of file pixfader.cc.

void PixFader::set_default_value ( float  d)

Definition at line 635 of file pixfader.cc.

void PixFader::set_text ( const std::string &  str,
bool  centered = true,
bool  expose = true 
)

Definition at line 655 of file pixfader.cc.

void PixFader::set_tweaks ( Tweaks  t)

Definition at line 642 of file pixfader.cc.

Tweaks Gtkmm2ext::PixFader::tweaks ( ) const
inline

Definition at line 53 of file pixfader.h.

void PixFader::update_unity_position ( )
private

Definition at line 584 of file pixfader.cc.

Member Data Documentation

Gtk::Adjustment& Gtkmm2ext::PixFader::_adjustment
private

Definition at line 81 of file pixfader.h.

bool Gtkmm2ext::PixFader::_centered_text
private

Definition at line 96 of file pixfader.h.

Widget* Gtkmm2ext::PixFader::_current_parent
private

Definition at line 99 of file pixfader.h.

float Gtkmm2ext::PixFader::_default_value
private

Definition at line 94 of file pixfader.h.

bool Gtkmm2ext::PixFader::_dragging
private

Definition at line 93 of file pixfader.h.

int Gtkmm2ext::PixFader::_girth
private

Definition at line 85 of file pixfader.h.

double Gtkmm2ext::PixFader::_grab_loc
private

Definition at line 91 of file pixfader.h.

double Gtkmm2ext::PixFader::_grab_start
private

Definition at line 92 of file pixfader.h.

GdkWindow* Gtkmm2ext::PixFader::_grab_window
private

Definition at line 90 of file pixfader.h.

bool Gtkmm2ext::PixFader::_hovering
private

Definition at line 89 of file pixfader.h.

Glib::RefPtr<Pango::Layout> Gtkmm2ext::PixFader::_layout
private

Definition at line 78 of file pixfader.h.

int Gtkmm2ext::PixFader::_min_girth
private

Definition at line 86 of file pixfader.h.

int Gtkmm2ext::PixFader::_min_span
private

Definition at line 86 of file pixfader.h.

int Gtkmm2ext::PixFader::_orien
private

Definition at line 87 of file pixfader.h.

sigc::connection Gtkmm2ext::PixFader::_parent_style_change
private

Definition at line 98 of file pixfader.h.

cairo_pattern_t* Gtkmm2ext::PixFader::_pattern
private

Definition at line 88 of file pixfader.h.

std::list< PixFader::FaderImage * > PixFader::_patterns
staticprivate

Definition at line 148 of file pixfader.h.

int Gtkmm2ext::PixFader::_span
private

Definition at line 85 of file pixfader.h.

std::string Gtkmm2ext::PixFader::_text
private

Definition at line 79 of file pixfader.h.

int Gtkmm2ext::PixFader::_text_height
private

Definition at line 83 of file pixfader.h.

int Gtkmm2ext::PixFader::_text_width
private

Definition at line 82 of file pixfader.h.

Tweaks Gtkmm2ext::PixFader::_tweaks
private

Definition at line 80 of file pixfader.h.

int Gtkmm2ext::PixFader::_unity_loc
private

Definition at line 95 of file pixfader.h.

sigc::signal<void> Gtkmm2ext::PixFader::OnExpose

Definition at line 42 of file pixfader.h.

sigc::signal<void> Gtkmm2ext::PixFader::StartGesture

Definition at line 40 of file pixfader.h.

sigc::signal<void> Gtkmm2ext::PixFader::StopGesture

Definition at line 41 of file pixfader.h.


The documentation for this class was generated from the following files: