Fix hidden reels view and time axis not moving under zoom.
[dcpomatic.git] / src / wx / timeline.h
index 375a837a808ed1a7c586aed9efb5ae6590c6ab7b..503025f3ce3e6f0006a237505db422ae9d386a33 100644 (file)
@@ -35,7 +35,7 @@ class TimelineTimeAxisView;
 class TimelineReelsView;
 class TimelineLabelsView;
 
-class Timeline : public wxScrolledCanvas
+class Timeline : public wxPanel
 {
 public:
        Timeline (wxWindow *, ContentPanel *, boost::shared_ptr<Film>);
@@ -49,17 +49,13 @@ public:
        }
 
        int track_height () const {
-               return 48;
+               return _track_height;
        }
 
        boost::optional<double> pixels_per_second () const {
                return _pixels_per_second;
        }
 
-       Position<int> tracks_position () const {
-               return _tracks_position;
-       }
-
        int tracks () const;
 
        void set_snap (bool s) {
@@ -81,8 +77,11 @@ public:
                _tool = t;
        }
 
+       int tracks_y_offset () const;
+
 private:
-       void paint ();
+       void paint_labels ();
+       void paint_main ();
        void left_down (wxMouseEvent &);
        void left_down_select (wxMouseEvent &);
        void left_up (wxMouseEvent &);
@@ -107,6 +106,8 @@ private:
        ContentList selected_content () const;
        void maybe_snap (DCPTime a, DCPTime b, boost::optional<DCPTime>& nearest_distance) const;
 
+       wxScrolledCanvas* _labels_canvas;
+       wxScrolledCanvas* _main_canvas;
        ContentPanel* _content_panel;
        boost::weak_ptr<Film> _film;
        TimelineViewList _views;
@@ -125,10 +126,10 @@ private:
        bool _snap;
        std::list<DCPTime> _start_snaps;
        std::list<DCPTime> _end_snaps;
-       Position<int> _tracks_position;
        Tool _tool;
        int _x_scroll_rate;
        int _y_scroll_rate;
+       int _track_height;
 
        boost::signals2::scoped_connection _film_changed_connection;
        boost::signals2::scoped_connection _film_content_changed_connection;