X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fport_matrix_body.h;h=23d07c6ff3f9c083e0f73f333278df9f0260a4e1;hb=a8f11b6004bfd247dd192ef642bffa0a0b46f80f;hp=341957a38a66e80a6e950a558aa0882cc7e975c3;hpb=d77911a7748d179748accd28325c08b12f9388d9;p=ardour.git diff --git a/gtk2_ardour/port_matrix_body.h b/gtk2_ardour/port_matrix_body.h index 341957a38a..23d07c6ff3 100644 --- a/gtk2_ardour/port_matrix_body.h +++ b/gtk2_ardour/port_matrix_body.h @@ -28,6 +28,7 @@ class PortMatrix; class PortMatrixColumnLabels; class PortMatrixRowLabels; class PortMatrixGrid; +class PortMatrixComponent; /** The main body of the port matrix. It is made up of three parts: * column labels, grid and row labels, each drawn using cairo. @@ -57,7 +58,8 @@ public: void rebuild_and_draw_grid (); void set_mouseover (PortMatrixNode const &); - PortMatrixNode mouseover () const { + void set_mouseover (std::list const &); + std::list mouseover () const { return _mouseover; } @@ -65,6 +67,11 @@ public: void component_size_changed (); std::pair max_size () const; + uint32_t column_labels_border_x () const; + uint32_t column_labels_height () const; + + sigc::signal DimensionsChanged; + protected: bool on_expose_event (GdkEventExpose *); void on_size_request (Gtk::Requisition *); @@ -85,20 +92,19 @@ private: PortMatrixColumnLabels* _column_labels; PortMatrixRowLabels* _row_labels; PortMatrixGrid* _grid; + std::list _components; uint32_t _alloc_width; ///< allocated width uint32_t _alloc_height; ///< allocated height - Gdk::Rectangle _column_labels_rect; - Gdk::Rectangle _row_labels_rect; - Gdk::Rectangle _grid_rect; uint32_t _xoffset; uint32_t _yoffset; + uint32_t _column_labels_border_x; + uint32_t _column_labels_height; - PortMatrixNode _mouseover; - bool _mouse_over_grid; + std::list _mouseover; bool _ignore_component_size_changed; - std::list _bundle_connections; + PBD::ScopedConnectionList _bundle_connections; }; #endif