diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-02-16 10:40:12 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-02-16 10:40:12 +0100 |
| commit | bb949ec65adf95f4a2c7dd5ee7e97b9daaaf3d3f (patch) | |
| tree | 09153b297f7cebd3f13ab58188982366185298f6 /src/wx | |
| parent | 39d51cddeeea82e602ab1925430b0dfb5752ac79 (diff) | |
C++11 tidying.
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/content_widget.h | 5 | ||||
| -rw-r--r-- | src/wx/timeline_view.cc | 16 | ||||
| -rw-r--r-- | src/wx/timeline_view.h | 16 | ||||
| -rw-r--r-- | src/wx/video_view.cc | 16 | ||||
| -rw-r--r-- | src/wx/video_view.h | 25 |
5 files changed, 52 insertions, 26 deletions
diff --git a/src/wx/content_widget.h b/src/wx/content_widget.h index 1a9c85dde..2a2bc9cf7 100644 --- a/src/wx/content_widget.h +++ b/src/wx/content_widget.h @@ -43,7 +43,7 @@ * @param V Data type of state as used by the view. */ template <class S, class T, typename U, typename V> -class ContentWidget : public boost::noncopyable +class ContentWidget { public: /** @param parent Parent window. @@ -84,6 +84,9 @@ public: _button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&ContentWidget::button_clicked, this)); } + ContentWidget (ContentWidget const&) = delete; + ContentWidget& operator= (ContentWidget const&) = delete; + /** @return the widget that we are wrapping */ T* wrapped () const { diff --git a/src/wx/timeline_view.cc b/src/wx/timeline_view.cc index fb23fa7b1..10d6dc5be 100644 --- a/src/wx/timeline_view.cc +++ b/src/wx/timeline_view.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net> + Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,12 +18,15 @@ */ + #include "timeline_view.h" #include "timeline.h" + using std::list; using namespace dcpomatic; + /** @class TimelineView * @brief Parent class for components of the timeline (e.g. a piece of content or an axis). */ @@ -33,22 +36,25 @@ TimelineView::TimelineView (Timeline& t) } + void -TimelineView::paint (wxGraphicsContext* g, list<dcpomatic::Rect<int> > overlaps) +TimelineView::paint (wxGraphicsContext* g, list<dcpomatic::Rect<int>> overlaps) { _last_paint_bbox = bbox (); do_paint (g, overlaps); } + void TimelineView::force_redraw () { - _timeline.force_redraw (_last_paint_bbox.extended (4)); - _timeline.force_redraw (bbox().extended (4)); + _timeline.force_redraw (_last_paint_bbox.extended(4)); + _timeline.force_redraw (bbox().extended(4)); } + int TimelineView::time_x (DCPTime t) const { - return t.seconds() * _timeline.pixels_per_second().get_value_or (0); + return t.seconds() * _timeline.pixels_per_second().get_value_or(0); } diff --git a/src/wx/timeline_view.h b/src/wx/timeline_view.h index bfd1de8b7..c40cf78ff 100644 --- a/src/wx/timeline_view.h +++ b/src/wx/timeline_view.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net> + Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,25 +18,31 @@ */ + #ifndef DCPOMATIC_TIMELINE_VIEW_H #define DCPOMATIC_TIMELINE_VIEW_H + #include "lib/rect.h" #include "lib/dcpomatic_time.h" -#include <boost/noncopyable.hpp> + class wxGraphicsContext; class Timeline; + /** @class TimelineView * @brief Parent class for components of the timeline (e.g. a piece of content or an axis). */ -class TimelineView : public boost::noncopyable +class TimelineView { public: explicit TimelineView (Timeline& t); virtual ~TimelineView () {} + TimelineView (TimelineView const&) = delete; + TimelineView& operator= (TimelineView const&) = delete; + void paint (wxGraphicsContext* g, std::list<dcpomatic::Rect<int> > overlaps); void force_redraw (); @@ -53,6 +59,8 @@ private: dcpomatic::Rect<int> _last_paint_bbox; }; -typedef std::vector<std::shared_ptr<TimelineView> > TimelineViewList; + +typedef std::vector<std::shared_ptr<TimelineView>> TimelineViewList; + #endif diff --git a/src/wx/video_view.cc b/src/wx/video_view.cc index 68a15e2e0..5f44c37d6 100644 --- a/src/wx/video_view.cc +++ b/src/wx/video_view.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2019-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "video_view.h" #include "wx_util.h" #include "film_viewer.h" @@ -29,19 +30,15 @@ using std::pair; using std::shared_ptr; using boost::optional; + VideoView::VideoView (FilmViewer* viewer) : _viewer (viewer) , _state_timer ("viewer") - , _video_frame_rate (0) - , _eyes (Eyes::LEFT) - , _three_d (false) - , _dropped (0) - , _errored (0) - , _gets (0) { } + void VideoView::clear () { @@ -50,6 +47,7 @@ VideoView::clear () _player_video.second = dcpomatic::DCPTime (); } + /** Could be called from any thread. * @param non_blocking true to return false quickly if no video is available quickly. * @return FAIL if there's no frame, AGAIN if the method should be called again, or SUCCESS @@ -94,12 +92,14 @@ VideoView::get_next_frame (bool non_blocking) return SUCCESS; } + dcpomatic::DCPTime VideoView::one_video_frame () const { return dcpomatic::DCPTime::from_frames (1, video_frame_rate()); } + /** @return Time in ms until the next frame is due, or empty if nothing is due */ optional<int> VideoView::time_until_next_frame () const @@ -117,6 +117,7 @@ VideoView::time_until_next_frame () const return (next.seconds() - time.seconds()) * 1000; } + void VideoView::start () { @@ -125,6 +126,7 @@ VideoView::start () _errored = 0; } + bool VideoView::reset_metadata (shared_ptr<const Film> film, dcp::Size player_video_container_size) { diff --git a/src/wx/video_view.h b/src/wx/video_view.h index 3b596197e..d3a15d38c 100644 --- a/src/wx/video_view.h +++ b/src/wx/video_view.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2019-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,16 +18,18 @@ */ + #ifndef DCPOMATIC_VIDEO_VIEW_H #define DCPOMATIC_VIDEO_VIEW_H + #include "lib/dcpomatic_time.h" #include "lib/timer.h" #include "lib/types.h" #include "lib/exception_store.h" #include <boost/signals2.hpp> #include <boost/thread.hpp> -#include <boost/noncopyable.hpp> + class Image; class wxWindow; @@ -35,12 +37,16 @@ class FilmViewer; class Player; class PlayerVideo; -class VideoView : public ExceptionStore, public boost::noncopyable + +class VideoView : public ExceptionStore { public: VideoView (FilmViewer* viewer); virtual ~VideoView () {} + VideoView (VideoView const&) = delete; + VideoView& operator= (VideoView const&) = delete; + /** @return the thing displaying the image */ virtual wxWindow* get () const = 0; /** Re-make and display the image from the current _player_video */ @@ -156,15 +162,16 @@ private: mutable boost::mutex _mutex; std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> _player_video; - int _video_frame_rate; + int _video_frame_rate = 0; /** length of the film we are playing, or 0 if there is none */ dcpomatic::DCPTime _length; - Eyes _eyes; - bool _three_d; + Eyes _eyes = Eyes::LEFT; + bool _three_d = false; - int _dropped; - int _errored; - int _gets; + int _dropped = 0; + int _errored = 0; + int _gets = 0; }; + #endif |
