Ardour  9.0-pre0-822-g12e3bc5c20
PortMatrixBody Class Reference

#include <port_matrix_body.h>

Inheritance diagram for PortMatrixBody:
[legend]

Public Member Functions

 PortMatrixBody (PortMatrix *)
 
 ~PortMatrixBody ()
 
void setup ()
 
uint32_t full_scroll_width ()
 
uint32_t alloc_scroll_width ()
 
uint32_t full_scroll_height ()
 
uint32_t alloc_scroll_height ()
 
uint32_t xoffset () const
 
void set_xoffset (uint32_t)
 
uint32_t yoffset () const
 
void set_yoffset (uint32_t)
 
void rebuild_and_draw_grid ()
 
void set_mouseover (PortMatrixNode const &)
 
void set_mouseover (std::list< PortMatrixNode > const &)
 
std::list< PortMatrixNodemouseover () const
 
void highlight_associated_channels (int, ARDOUR::BundleChannel)
 
void component_size_changed ()
 
std::pair< uint32_t, uint32_t > max_size () const
 
uint32_t column_labels_border_x () const
 
uint32_t column_labels_height () const
 

Public Attributes

sigc::signal< void > DimensionsChanged
 

Protected Member Functions

bool on_expose_event (GdkEventExpose *)
 
void on_size_request (Gtk::Requisition *)
 
void on_size_allocate (Gtk::Allocation &)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_leave_notify_event (GdkEventCrossing *)
 
bool on_motion_notify_event (GdkEventMotion *)
 

Private Member Functions

void compute_rectangles ()
 
void rebuild_and_draw_column_labels ()
 
void rebuild_and_draw_row_labels ()
 
void update_bundles ()
 
void set_cairo_clip (cairo_t *, Gdk::Rectangle const &) const
 

Private Attributes

PortMatrix_matrix
 
PortMatrixColumnLabels_column_labels
 
PortMatrixRowLabels_row_labels
 
PortMatrixGrid_grid
 
std::list< PortMatrixComponent * > _components
 
uint32_t _alloc_width
 allocated width More...
 
uint32_t _alloc_height
 allocated height More...
 
uint32_t _xoffset
 
uint32_t _yoffset
 
uint32_t _column_labels_border_x
 
uint32_t _column_labels_height
 
std::list< PortMatrixNode_mouseover
 
bool _ignore_component_size_changed
 
PBD::ScopedConnectionList _bundle_connections
 

Detailed Description

The main body of the port matrix. It is made up of three parts: column labels, grid and row labels, each drawn using cairo.

Definition at line 34 of file port_matrix_body.h.

Constructor & Destructor Documentation

◆ PortMatrixBody()

PortMatrixBody::PortMatrixBody ( PortMatrix )

◆ ~PortMatrixBody()

PortMatrixBody::~PortMatrixBody ( )

Member Function Documentation

◆ alloc_scroll_height()

uint32_t PortMatrixBody::alloc_scroll_height ( )

◆ alloc_scroll_width()

uint32_t PortMatrixBody::alloc_scroll_width ( )

◆ column_labels_border_x()

uint32_t PortMatrixBody::column_labels_border_x ( ) const

◆ column_labels_height()

uint32_t PortMatrixBody::column_labels_height ( ) const

◆ component_size_changed()

void PortMatrixBody::component_size_changed ( )

◆ compute_rectangles()

void PortMatrixBody::compute_rectangles ( )
private

◆ full_scroll_height()

uint32_t PortMatrixBody::full_scroll_height ( )

◆ full_scroll_width()

uint32_t PortMatrixBody::full_scroll_width ( )

◆ highlight_associated_channels()

void PortMatrixBody::highlight_associated_channels ( int  ,
ARDOUR::BundleChannel   
)

◆ max_size()

std::pair<uint32_t, uint32_t> PortMatrixBody::max_size ( ) const

◆ mouseover()

std::list<PortMatrixNode> PortMatrixBody::mouseover ( ) const
inline

Definition at line 60 of file port_matrix_body.h.

◆ on_button_press_event()

bool PortMatrixBody::on_button_press_event ( GdkEventButton *  )
protected

◆ on_button_release_event()

bool PortMatrixBody::on_button_release_event ( GdkEventButton *  )
protected

◆ on_expose_event()

bool PortMatrixBody::on_expose_event ( GdkEventExpose *  )
protected

◆ on_leave_notify_event()

bool PortMatrixBody::on_leave_notify_event ( GdkEventCrossing *  )
protected

◆ on_motion_notify_event()

bool PortMatrixBody::on_motion_notify_event ( GdkEventMotion *  )
protected

◆ on_size_allocate()

void PortMatrixBody::on_size_allocate ( Gtk::Allocation &  )
protected

◆ on_size_request()

void PortMatrixBody::on_size_request ( Gtk::Requisition *  )
protected

◆ rebuild_and_draw_column_labels()

void PortMatrixBody::rebuild_and_draw_column_labels ( )
private

◆ rebuild_and_draw_grid()

void PortMatrixBody::rebuild_and_draw_grid ( )

◆ rebuild_and_draw_row_labels()

void PortMatrixBody::rebuild_and_draw_row_labels ( )
private

◆ set_cairo_clip()

void PortMatrixBody::set_cairo_clip ( cairo_t *  ,
Gdk::Rectangle const &   
) const
private

◆ set_mouseover() [1/2]

void PortMatrixBody::set_mouseover ( PortMatrixNode const &  )

◆ set_mouseover() [2/2]

void PortMatrixBody::set_mouseover ( std::list< PortMatrixNode > const &  )

◆ set_xoffset()

void PortMatrixBody::set_xoffset ( uint32_t  )

◆ set_yoffset()

void PortMatrixBody::set_yoffset ( uint32_t  )

◆ setup()

void PortMatrixBody::setup ( )

◆ update_bundles()

void PortMatrixBody::update_bundles ( )
private

◆ xoffset()

uint32_t PortMatrixBody::xoffset ( ) const
inline

Definition at line 47 of file port_matrix_body.h.

◆ yoffset()

uint32_t PortMatrixBody::yoffset ( ) const
inline

Definition at line 51 of file port_matrix_body.h.

Member Data Documentation

◆ _alloc_height

uint32_t PortMatrixBody::_alloc_height
private

allocated height

Definition at line 96 of file port_matrix_body.h.

◆ _alloc_width

uint32_t PortMatrixBody::_alloc_width
private

allocated width

Definition at line 95 of file port_matrix_body.h.

◆ _bundle_connections

PBD::ScopedConnectionList PortMatrixBody::_bundle_connections
private

Definition at line 105 of file port_matrix_body.h.

◆ _column_labels

PortMatrixColumnLabels* PortMatrixBody::_column_labels
private

Definition at line 90 of file port_matrix_body.h.

◆ _column_labels_border_x

uint32_t PortMatrixBody::_column_labels_border_x
private

Definition at line 99 of file port_matrix_body.h.

◆ _column_labels_height

uint32_t PortMatrixBody::_column_labels_height
private

Definition at line 100 of file port_matrix_body.h.

◆ _components

std::list<PortMatrixComponent*> PortMatrixBody::_components
private

Definition at line 93 of file port_matrix_body.h.

◆ _grid

PortMatrixGrid* PortMatrixBody::_grid
private

Definition at line 92 of file port_matrix_body.h.

◆ _ignore_component_size_changed

bool PortMatrixBody::_ignore_component_size_changed
private

Definition at line 103 of file port_matrix_body.h.

◆ _matrix

PortMatrix* PortMatrixBody::_matrix
private

Definition at line 89 of file port_matrix_body.h.

◆ _mouseover

std::list<PortMatrixNode> PortMatrixBody::_mouseover
private

Definition at line 102 of file port_matrix_body.h.

◆ _row_labels

PortMatrixRowLabels* PortMatrixBody::_row_labels
private

Definition at line 91 of file port_matrix_body.h.

◆ _xoffset

uint32_t PortMatrixBody::_xoffset
private

Definition at line 97 of file port_matrix_body.h.

◆ _yoffset

uint32_t PortMatrixBody::_yoffset
private

Definition at line 98 of file port_matrix_body.h.

◆ DimensionsChanged

sigc::signal<void> PortMatrixBody::DimensionsChanged

Definition at line 71 of file port_matrix_body.h.


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