Basic stress-test function for player.
[dcpomatic.git] / src / wx / audio_mapping_view.h
index c1d8ba3874ae64316f1a3c41803078f04be988ba..aab6f64a61f7513f9dbf6d110b48711cd24014f9 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 #include <boost/signals2.hpp>
-#include <wx/scrolwin.h>
+#include <wx/wx.h>
 #include "lib/audio_mapping.h"
 
 /** @class AudioMappingView
  *  might be.
  */
 
-class AudioMappingView : public wxScrolledWindow
+class AudioMappingView : public wxPanel
 {
 public:
-       explicit AudioMappingView (wxWindow *);
+       explicit AudioMappingView (wxWindow *, wxString left_label, wxString from, wxString top_label, wxString to);
 
        void set (AudioMapping);
        void set_input_channels (std::vector<std::string> const & names);
@@ -75,11 +75,23 @@ private:
        void map_values_changed ();
        void setup_sizes ();
        void paint ();
+       void paint_static (wxDC& dc, wxGraphicsContext* gc);
+       void paint_column_labels (wxDC& dc, wxGraphicsContext* gc);
+       void paint_column_lines (wxGraphicsContext* gc);
+       void paint_row_labels (wxDC& dc, wxGraphicsContext* gc);
+       void paint_row_lines (wxGraphicsContext* gc);
+       void paint_indicators (wxDC& dc);
+       void size (wxSizeEvent &);
+       void scroll ();
        void left_down (wxMouseEvent &);
        void right_down (wxMouseEvent &);
        void motion (wxMouseEvent &);
+       void mouse_wheel (wxMouseEvent &);
        boost::optional<std::pair<int, int> > mouse_event_to_channels (wxMouseEvent& ev) const;
-       void set_virtual_size ();
+       boost::optional<std::string> mouse_event_to_input_group_name (wxMouseEvent& ev) const;
+       void setup ();
+       wxString safe_input_channel_name (int n) const;
+       wxString safe_output_channel_name (int n) const;
 
        void off ();
        void full ();
@@ -89,9 +101,17 @@ private:
        AudioMapping _map;
 
        wxMenu* _menu;
+       wxPanel* _body;
+       wxScrollBar* _vertical_scroll;
+       wxScrollBar* _horizontal_scroll;
        int _menu_input;
        int _menu_output;
 
+       wxString _left_label;
+       wxString _from;
+       wxString _top_label;
+       wxString _to;
+
        std::vector<std::string> _input_channels;
        std::vector<std::string> _output_channels;
        std::vector<Group> _input_groups;