mp4chaps Lua script: don't clutter global environment
[ardour.git] / gtk2_ardour / port_matrix_component.h
index 3d9e5488b4885b23eec83d0894ae0edee16381e2..0b472e157ddc48fb57efa111de14260455aa34da 100644 (file)
@@ -31,6 +31,7 @@ class PortGroup;
 class PortGroupList;
 
 namespace ARDOUR {
+       class Bundle;
        class BundleChannel;
 }
 
@@ -47,8 +48,11 @@ public:
        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 ();
@@ -134,7 +138,7 @@ protected:
        }
 
        /** @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");
        }
 
@@ -151,9 +155,9 @@ protected:
        /* XXX */
        static Gdk::Color get_a_bundle_colour (int x) {
                if ((x % 2) == 0) {
-                       return Gdk::Color ("#547027");
+                       return Gdk::Color ("#555555");
                } else {
-                       return Gdk::Color ("#3552a6");
+                       return Gdk::Color ("#666666");
                }
        }
 
@@ -169,8 +173,8 @@ protected:
        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;