/*
- Copyright (C) 2002-2009 Paul Davis
+ Copyright (C) 2002-2009 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
class PortGroupList;
namespace ARDOUR {
+ class Bundle;
class BundleChannel;
}
virtual double parent_to_component_x (double x) const = 0;
virtual double component_to_parent_y (double y) const = 0;
virtual double parent_to_component_y (double y) const = 0;
- virtual void mouseover_changed (PortMatrixNode const &) = 0;
+ virtual void mouseover_changed (std::list<PortMatrixNode> const &) = 0;
virtual void draw_extra (cairo_t *) = 0;
+ virtual void button_press (double, double, GdkEventButton *) {}
+ virtual void button_release (double, double, GdkEventButton *) {}
+ virtual void motion (double, double) {}
void set_show_ports (bool);
void setup ();
void require_render () {
_render_required = true;
}
-
+
void require_rebuild () {
_dimension_computation_required = true;
_render_required = true;
/** @return grid spacing */
static uint32_t grid_spacing () {
- return 32;
+ return 24;
}
protected:
/** @return space around the connection indicator */
static uint32_t connection_indicator_pad () {
- return 8;
+ return 6;
}
static uint32_t mouseover_line_width () {
}
/** @return colour to paint grid squares when they can't be associated */
- static Gdk::Color unknown_colour () {
+ static Gdk::Color non_connectable_colour () {
return Gdk::Color ("#cccccc");
}
return Gdk::Color ("#444444");
}
}
-
+
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, PortGroupList const *) const;
- std::pair<boost::shared_ptr<PortGroup>, ARDOUR::BundleChannel> position_to_group_and_channel (uint32_t, PortGroupList const *) const;
+ uint32_t channel_to_position (ARDOUR::BundleChannel, boost::shared_ptr<const PortGroup>) const;
+ virtual ARDOUR::BundleChannel position_to_channel (double, double, boost::shared_ptr<const PortGroup>) const;
/** Render the complete component to a cairo context. */
virtual void render (cairo_t *) = 0;
uint32_t _height; ///< full height of the contents
Gdk::Rectangle _parent_rectangle;
-private:
+private:
GdkPixmap* _pixmap; ///< pixmap
bool _render_required; ///< true if the rendered pixmap is out of date
bool _dimension_computation_required; ///< true if the dimensions are out of date