ardour
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PortMatrixColumnLabels Class Reference

#include <port_matrix_column_labels.h>

Inheritance diagram for PortMatrixColumnLabels:
PortMatrixLabels PortMatrixComponent

Public Member Functions

 PortMatrixColumnLabels (PortMatrix *, PortMatrixBody *)
 
void button_press (double, double, GdkEventButton *)
 
double component_to_parent_x (double x) const
 
double parent_to_component_x (double x) const
 
double component_to_parent_y (double y) const
 
double parent_to_component_y (double y) const
 
void mouseover_changed (std::list< PortMatrixNode > const &)
 
void motion (double, double)
 
uint32_t overhang () const
 
- Public Member Functions inherited from PortMatrixLabels
 PortMatrixLabels (PortMatrix *m, PortMatrixBody *b)
 
virtual ~PortMatrixLabels ()
 
void draw_extra (cairo_t *)
 
void clear_channel_highlights ()
 
void add_channel_highlight (ARDOUR::BundleChannel const &)
 
- Public Member Functions inherited from PortMatrixComponent
 PortMatrixComponent (PortMatrix *, PortMatrixBody *)
 
virtual ~PortMatrixComponent ()
 
virtual void button_release (double, double, GdkEventButton *)
 
void set_show_ports (bool)
 
void setup ()
 
GdkPixmap * get_pixmap (GdkDrawable *)
 
std::pair< uint32_t, uint32_t > dimensions ()
 
void require_render ()
 
void require_rebuild ()
 
void set_parent_rectangle (Gdk::Rectangle const &r)
 
Gdk::Rectangle parent_rectangle () const
 

Private Member Functions

void render_bundle_name (cairo_t *, Gdk::Color, Gdk::Color, double, double, boost::shared_ptr< ARDOUR::Bundle >)
 
void render_channel_name (cairo_t *, Gdk::Color, Gdk::Color, double, double, ARDOUR::BundleChannel const &)
 
double channel_x (ARDOUR::BundleChannel const &) const
 
double channel_y (ARDOUR::BundleChannel const &) const
 
void queue_draw_for (ARDOUR::BundleChannel const &)
 
ARDOUR::BundleChannel position_to_channel (double, double, boost::shared_ptr< const PortGroup >) const
 
void render (cairo_t *)
 
void compute_dimensions ()
 
double basic_text_x_pos (int) const
 
std::vector< std::pair< double,
double > > 
port_name_shape (double, double) const
 

Private Attributes

double _longest_bundle_name
 
double _longest_channel_name
 
double _text_height
 
double _descender_height
 
uint32_t _overhang
 

Additional Inherited Members

- Static Public Member Functions inherited from PortMatrixComponent
static uint32_t grid_spacing ()
 
- Protected Member Functions inherited from PortMatrixComponent
Gdk::Color background_colour ()
 
void set_source_rgb (cairo_t *, Gdk::Color const &)
 
void set_source_rgba (cairo_t *, Gdk::Color const &, double)
 
uint32_t group_size (boost::shared_ptr< const PortGroup >) const
 
uint32_t channel_to_position (ARDOUR::BundleChannel, boost::shared_ptr< const PortGroup >) const
 
- Static Protected Member Functions inherited from PortMatrixComponent
static uint32_t label_border_width ()
 
static uint32_t name_pad ()
 
static double thin_grid_line_width ()
 
static double thick_grid_line_width ()
 
static uint32_t connection_indicator_pad ()
 
static uint32_t mouseover_line_width ()
 
static double angle ()
 
static Gdk::Color text_colour ()
 
static Gdk::Color grid_colour ()
 
static Gdk::Color association_colour ()
 
static Gdk::Color non_connectable_colour ()
 
static Gdk::Color mouseover_line_colour ()
 
static Gdk::Color highlighted_channel_colour ()
 
static Gdk::Color get_a_bundle_colour (int x)
 
static Gdk::Color get_a_group_colour (int x)
 
- Protected Attributes inherited from PortMatrixComponent
PortMatrix_matrix
 
PortMatrixBody_body
 the PortMatrixBody that we're in More...
 
uint32_t _width
 full width of the contents More...
 
uint32_t _height
 full height of the contents More...
 
Gdk::Rectangle _parent_rectangle
 

Detailed Description

The column labels part of the port matrix

Definition at line 34 of file port_matrix_column_labels.h.

Constructor & Destructor Documentation

PortMatrixColumnLabels::PortMatrixColumnLabels ( PortMatrix m,
PortMatrixBody b 
)

Definition at line 33 of file port_matrix_column_labels.cc.

Member Function Documentation

double PortMatrixColumnLabels::basic_text_x_pos ( int  ) const
private

Definition at line 113 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::button_press ( double  x,
double  y,
GdkEventButton *  ev 
)
virtual

Reimplemented from PortMatrixComponent.

Definition at line 459 of file port_matrix_column_labels.cc.

double PortMatrixColumnLabels::channel_x ( ARDOUR::BundleChannel const &  bc) const
privatevirtual

Implements PortMatrixLabels.

Definition at line 393 of file port_matrix_column_labels.cc.

double PortMatrixColumnLabels::channel_y ( ARDOUR::BundleChannel const &  ) const
privatevirtual

Implements PortMatrixLabels.

Definition at line 399 of file port_matrix_column_labels.cc.

double PortMatrixColumnLabels::component_to_parent_x ( double  x) const
virtual

Implements PortMatrixComponent.

Definition at line 180 of file port_matrix_column_labels.cc.

double PortMatrixColumnLabels::component_to_parent_y ( double  y) const
virtual

Implements PortMatrixComponent.

Definition at line 192 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::compute_dimensions ( )
privatevirtual

Compute any required dimensions. This must set up _width and _height.

Implements PortMatrixComponent.

Definition at line 41 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::motion ( double  x,
double  y 
)
virtual

Reimplemented from PortMatrixComponent.

Definition at line 483 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::mouseover_changed ( std::list< PortMatrixNode > const &  )
virtual

Implements PortMatrixComponent.

Definition at line 206 of file port_matrix_column_labels.cc.

uint32_t PortMatrixColumnLabels::overhang ( ) const
inline

Definition at line 48 of file port_matrix_column_labels.h.

double PortMatrixColumnLabels::parent_to_component_x ( double  x) const
virtual

Implements PortMatrixComponent.

Definition at line 186 of file port_matrix_column_labels.cc.

double PortMatrixColumnLabels::parent_to_component_y ( double  y) const
virtual

Implements PortMatrixComponent.

Definition at line 199 of file port_matrix_column_labels.cc.

vector< pair< double, double > > PortMatrixColumnLabels::port_name_shape ( double  xoff,
double  yoff 
) const
private

Definition at line 223 of file port_matrix_column_labels.cc.

ARDOUR::BundleChannel PortMatrixColumnLabels::position_to_channel ( double  p,
double  o,
boost::shared_ptr< const PortGroup group 
) const
privatevirtual

Reimplemented from PortMatrixComponent.

Definition at line 452 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::queue_draw_for ( ARDOUR::BundleChannel const &  bc)
privatevirtual

Implements PortMatrixLabels.

Definition at line 405 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::render ( cairo_t *  )
privatevirtual

Render the complete component to a cairo context.

Implements PortMatrixComponent.

Definition at line 120 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::render_bundle_name ( cairo_t *  cr,
Gdk::Color  fg_colour,
Gdk::Color  bg_colour,
double  xoff,
double  yoff,
boost::shared_ptr< ARDOUR::Bundle b 
)
privatevirtual

Implements PortMatrixLabels.

Definition at line 263 of file port_matrix_column_labels.cc.

void PortMatrixColumnLabels::render_channel_name ( cairo_t *  cr,
Gdk::Color  fg_colour,
Gdk::Color  bg_colour,
double  xoff,
double  yoff,
ARDOUR::BundleChannel const &  bc 
)
privatevirtual

Implements PortMatrixLabels.

Definition at line 332 of file port_matrix_column_labels.cc.

Member Data Documentation

double PortMatrixColumnLabels::_descender_height
private

Definition at line 68 of file port_matrix_column_labels.h.

double PortMatrixColumnLabels::_longest_bundle_name
private

Definition at line 65 of file port_matrix_column_labels.h.

double PortMatrixColumnLabels::_longest_channel_name
private

Definition at line 66 of file port_matrix_column_labels.h.

uint32_t PortMatrixColumnLabels::_overhang
private

Definition at line 69 of file port_matrix_column_labels.h.

double PortMatrixColumnLabels::_text_height
private

Definition at line 67 of file port_matrix_column_labels.h.


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