First cut at mouseovers for the port matrix.
[ardour.git] / gtk2_ardour / port_matrix_row_labels.h
index dff6b71d26ad5d034401967ab1924a8b47ed148d..ce77dc82948f774d2a063a8d5a2453dd5c1f2685 100644 (file)
 #define __port_matrix_row_labels_h__
 
 #include <boost/shared_ptr.hpp>
+#include <gdkmm/color.h>
 #include "port_matrix_component.h"
 
 class PortMatrix;
 class PortMatrixBody;
+class PortMatrixNode;
+class PortMatrixBundleChannel;
 
 namespace ARDOUR {
        class Bundle;
@@ -47,11 +50,22 @@ public:
 
        void button_press (double, double, int, uint32_t);
   
+       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 (PortMatrixNode const &);
+       void draw_extra (cairo_t* cr);
+
 private:
        void render (cairo_t *);
        void compute_dimensions ();
        void remove_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>, uint32_t);
        void rename_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>, uint32_t);
+       void render_port_name (cairo_t *, Gdk::Color, double, double, PortMatrixBundleChannel const &);
+       double channel_y (PortMatrixBundleChannel const &) const;
+       void queue_draw_for (PortMatrixNode const &);
+       double port_name_x () const;
 
        PortMatrix* _port_matrix;
        double _longest_port_name;