summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-02-16 10:40:12 +0100
committerCarl Hetherington <cth@carlh.net>2021-02-16 10:40:12 +0100
commitbb949ec65adf95f4a2c7dd5ee7e97b9daaaf3d3f (patch)
tree09153b297f7cebd3f13ab58188982366185298f6 /src/wx
parent39d51cddeeea82e602ab1925430b0dfb5752ac79 (diff)
C++11 tidying.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/content_widget.h5
-rw-r--r--src/wx/timeline_view.cc16
-rw-r--r--src/wx/timeline_view.h16
-rw-r--r--src/wx/video_view.cc16
-rw-r--r--src/wx/video_view.h25
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