Cleanup: stack-allocated dialogs.
[dcpomatic.git] / src / wx / video_waveform_plot.cc
index 2e45f3493b69e1e0af0f29f95dfb2c9dbe538c40..826e173597d31038ec92cdbd421b2123be430b45 100644 (file)
 #include "lib/player_video.h"
 #include <dcp/locale_convert.h>
 #include <dcp/openjpeg_image.h>
-#include <wx/rawbmp.h>
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
 #include <wx/graphics.h>
+#include <wx/rawbmp.h>
+LIBDCP_ENABLE_WARNINGS
 #include <boost/bind/bind.hpp>
-#include <iostream>
 
 
-using std::cout;
 using std::make_shared;
 using std::max;
 using std::min;
@@ -52,7 +53,7 @@ int const VideoWaveformPlot::_pixel_values = 4096;
 int const VideoWaveformPlot::_x_axis_width = 52;
 
 
-VideoWaveformPlot::VideoWaveformPlot (wxWindow* parent, weak_ptr<const Film> film, weak_ptr<FilmViewer> viewer)
+VideoWaveformPlot::VideoWaveformPlot(wxWindow* parent, weak_ptr<const Film> film, FilmViewer& viewer)
        : wxPanel (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE)
        , _film (film)
 {
@@ -60,10 +61,7 @@ VideoWaveformPlot::VideoWaveformPlot (wxWindow* parent, weak_ptr<const Film> fil
        SetDoubleBuffered (true);
 #endif
 
-       auto fv = viewer.lock ();
-       DCPOMATIC_ASSERT (fv);
-
-       _viewer_connection = fv->ImageChanged.connect (boost::bind(&VideoWaveformPlot::set_image, this, _1));
+       _viewer_connection = viewer.ImageChanged.connect(boost::bind(&VideoWaveformPlot::set_image, this, _1));
 
        Bind (wxEVT_PAINT, boost::bind(&VideoWaveformPlot::paint, this));
        Bind (wxEVT_SIZE,  boost::bind(&VideoWaveformPlot::sized, this, _1));
@@ -155,7 +153,7 @@ VideoWaveformPlot::create_waveform ()
 
        auto const image_size = _image->size();
        int const waveform_height = GetSize().GetHeight() - _vertical_margin * 2;
-       _waveform = make_shared<Image>(AV_PIX_FMT_RGB24, dcp::Size (image_size.width, waveform_height), true);
+       _waveform = make_shared<Image>(AV_PIX_FMT_RGB24, dcp::Size (image_size.width, waveform_height), Image::Alignment::PADDED);
 
        for (int x = 0; x < image_size.width; ++x) {
 
@@ -182,7 +180,7 @@ VideoWaveformPlot::create_waveform ()
 
        _waveform = _waveform->scale (
                dcp::Size (GetSize().GetWidth() - _x_axis_width, waveform_height),
-               dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, false, false
+               dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::COMPACT, false
                );
 }