Ardour  9.0-pre0-582-g084a23a80d
PortMatrixColumnLabels Class Reference

#include <port_matrix_column_labels.h>

Inheritance diagram for PortMatrixColumnLabels:
[legend]

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 ()
 
GdkPixmapget_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, std::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, std::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 (std::shared_ptr< const PortGroup >) const
 
uint32_t channel_to_position (ARDOUR::BundleChannel, std::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 33 of file port_matrix_column_labels.h.

Constructor & Destructor Documentation

◆ PortMatrixColumnLabels()

PortMatrixColumnLabels::PortMatrixColumnLabels ( PortMatrix ,
PortMatrixBody  
)

Member Function Documentation

◆ basic_text_x_pos()

double PortMatrixColumnLabels::basic_text_x_pos ( int  ) const
private

◆ button_press()

void PortMatrixColumnLabels::button_press ( double  ,
double  ,
GdkEventButton  
)
virtual

Reimplemented from PortMatrixComponent.

◆ channel_x()

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

Implements PortMatrixLabels.

◆ channel_y()

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

Implements PortMatrixLabels.

◆ component_to_parent_x()

double PortMatrixColumnLabels::component_to_parent_x ( double  x) const
virtual

Implements PortMatrixComponent.

◆ component_to_parent_y()

double PortMatrixColumnLabels::component_to_parent_y ( double  y) const
virtual

Implements PortMatrixComponent.

◆ compute_dimensions()

void PortMatrixColumnLabels::compute_dimensions ( )
privatevirtual

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

Implements PortMatrixComponent.

◆ motion()

void PortMatrixColumnLabels::motion ( double  ,
double   
)
virtual

Reimplemented from PortMatrixComponent.

◆ mouseover_changed()

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

Implements PortMatrixComponent.

◆ overhang()

uint32_t PortMatrixColumnLabels::overhang ( ) const
inline

Definition at line 47 of file port_matrix_column_labels.h.

◆ parent_to_component_x()

double PortMatrixColumnLabels::parent_to_component_x ( double  x) const
virtual

Implements PortMatrixComponent.

◆ parent_to_component_y()

double PortMatrixColumnLabels::parent_to_component_y ( double  y) const
virtual

Implements PortMatrixComponent.

◆ port_name_shape()

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

◆ position_to_channel()

ARDOUR::BundleChannel PortMatrixColumnLabels::position_to_channel ( double  ,
double  ,
std::shared_ptr< const PortGroup  
) const
privatevirtual

Reimplemented from PortMatrixComponent.

◆ queue_draw_for()

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

Implements PortMatrixLabels.

◆ render()

void PortMatrixColumnLabels::render ( cairo_t *  )
privatevirtual

Render the complete component to a cairo context.

Implements PortMatrixComponent.

◆ render_bundle_name()

void PortMatrixColumnLabels::render_bundle_name ( cairo_t *  ,
Gdk::Color  ,
Gdk::Color  ,
double  ,
double  ,
std::shared_ptr< ARDOUR::Bundle  
)
privatevirtual

Implements PortMatrixLabels.

◆ render_channel_name()

void PortMatrixColumnLabels::render_channel_name ( cairo_t *  ,
Gdk::Color  ,
Gdk::Color  ,
double  ,
double  ,
ARDOUR::BundleChannel const &   
)
privatevirtual

Implements PortMatrixLabels.

Member Data Documentation

◆ _descender_height

double PortMatrixColumnLabels::_descender_height
private

Definition at line 67 of file port_matrix_column_labels.h.

◆ _longest_bundle_name

double PortMatrixColumnLabels::_longest_bundle_name
private

Definition at line 64 of file port_matrix_column_labels.h.

◆ _longest_channel_name

double PortMatrixColumnLabels::_longest_channel_name
private

Definition at line 65 of file port_matrix_column_labels.h.

◆ _overhang

uint32_t PortMatrixColumnLabels::_overhang
private

Definition at line 68 of file port_matrix_column_labels.h.

◆ _text_height

double PortMatrixColumnLabels::_text_height
private

Definition at line 66 of file port_matrix_column_labels.h.


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