20 #ifndef __gtk_ardour_port_matrix_component_h__
21 #define __gtk_ardour_port_matrix_component_h__
24 #include <gtkmm/eventbox.h>
25 #include <boost/shared_ptr.hpp>
55 virtual void motion (
double,
double) {}
127 return Gdk::Color (
"#ffffff");
132 return Gdk::Color (
"#000000");
137 return Gdk::Color (
"#00ff00");
142 return Gdk::Color (
"#cccccc");
147 return Gdk::Color (
"#ff0000");
152 return Gdk::Color (
"#777777");
158 return Gdk::Color (
"#555555");
160 return Gdk::Color (
"#666666");
167 return Gdk::Color (
"#222222");
169 return Gdk::Color (
"#444444");
180 virtual void render (cairo_t *) = 0;
static Gdk::Color text_colour()
void set_source_rgb(cairo_t *, Gdk::Color const &)
virtual void button_press(double, double, GdkEventButton *)
static uint32_t name_pad()
virtual double parent_to_component_y(double y) const =0
virtual void compute_dimensions()=0
virtual void render(cairo_t *)=0
bool _render_required
true if the rendered pixmap is out of date
static Gdk::Color association_colour()
static uint32_t grid_spacing()
GdkPixmap * _pixmap
pixmap
static Gdk::Color get_a_bundle_colour(int x)
static Gdk::Color grid_colour()
bool _dimension_computation_required
true if the dimensions are out of date
virtual void mouseover_changed(std::list< PortMatrixNode > const &)=0
static Gdk::Color highlighted_channel_colour()
uint32_t _height
full height of the contents
static uint32_t connection_indicator_pad()
Gdk::Rectangle parent_rectangle() const
virtual void motion(double, double)
uint32_t group_size(boost::shared_ptr< const PortGroup >) const
virtual void draw_extra(cairo_t *)=0
GdkPixmap * get_pixmap(GdkDrawable *)
virtual ARDOUR::BundleChannel position_to_channel(double, double, boost::shared_ptr< const PortGroup >) const
uint32_t channel_to_position(ARDOUR::BundleChannel, boost::shared_ptr< const PortGroup >) const
Gdk::Color background_colour()
Gdk::Rectangle _parent_rectangle
std::pair< uint32_t, uint32_t > dimensions()
virtual double component_to_parent_x(double x) const =0
static uint32_t label_border_width()
static Gdk::Color non_connectable_colour()
PortMatrixBody * _body
the PortMatrixBody that we're in
void set_show_ports(bool)
void set_source_rgba(cairo_t *, Gdk::Color const &, double)
static Gdk::Color mouseover_line_colour()
static uint32_t mouseover_line_width()
void set_parent_rectangle(Gdk::Rectangle const &r)
uint32_t _width
full width of the contents
virtual void button_release(double, double, GdkEventButton *)
static Gdk::Color get_a_group_colour(int x)
static double thick_grid_line_width()
virtual double parent_to_component_x(double x) const =0
PortMatrixComponent(PortMatrix *, PortMatrixBody *)
virtual double component_to_parent_y(double y) const =0
static double thin_grid_line_width()
virtual ~PortMatrixComponent()