X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline_reels_view.cc;h=cf1abb34f6b961f21fd6552ab66c6a4911e562d9;hb=d0a85f18ad5b0b2eacaa2c7071a0565ce6eb05d2;hp=cc9d401cf1430bb700ed97d190e2b56429b2fc6d;hpb=9b1aef54c2ad164337a82ac6913ba5a095bf5266;p=dcpomatic.git diff --git a/src/wx/timeline_reels_view.cc b/src/wx/timeline_reels_view.cc index cc9d401cf..cf1abb34f 100644 --- a/src/wx/timeline_reels_view.cc +++ b/src/wx/timeline_reels_view.cc @@ -1,29 +1,34 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + #include "timeline_reels_view.h" #include "timeline.h" #include #include -#include + using std::min; +using std::list; +using namespace dcpomatic; + TimelineReelsView::TimelineReelsView (Timeline& tl, int y) : TimelineView (tl) @@ -32,12 +37,14 @@ TimelineReelsView::TimelineReelsView (Timeline& tl, int y) } + dcpomatic::Rect TimelineReelsView::bbox () const { return dcpomatic::Rect (0, _y - 4, _timeline.width(), 24); } + void TimelineReelsView::set_y (int y) { @@ -45,8 +52,9 @@ TimelineReelsView::set_y (int y) force_redraw (); } + void -TimelineReelsView::do_paint (wxGraphicsContext* gc) +TimelineReelsView::do_paint (wxGraphicsContext* gc, list>) { if (!_timeline.pixels_per_second()) { return; @@ -56,7 +64,7 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc) gc->SetPen (*wxThePenList->FindOrCreatePen (wxColour (0, 0, 255), 1, wxPENSTYLE_SOLID)); - wxGraphicsPath path = gc->CreatePath (); + auto path = gc->CreatePath (); path.MoveToPoint (time_x (DCPTime (0)), _y); path.AddLineToPoint (time_x (_timeline.film()->length()), _y); gc->StrokePath (path); @@ -64,10 +72,10 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc) gc->SetFont (gc->CreateFont (*wxNORMAL_FONT, wxColour (0, 0, 255))); int reel = 1; - BOOST_FOREACH (DCPTimePeriod i, _timeline.film()->reels()) { + for (auto i: _timeline.film()->reels()) { int const size = min (8.0, i.duration().seconds() * pps / 2); - wxGraphicsPath path = gc->CreatePath (); + auto path = gc->CreatePath (); path.MoveToPoint (time_x (i.from) + size, _y + size / 2); path.AddLineToPoint (time_x (i.from), _y); path.AddLineToPoint (time_x (i.from) + size, _y - size / 2); @@ -79,17 +87,17 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc) path.AddLineToPoint (time_x (i.to) - size, _y - size / 2); gc->StrokePath (path); - wxString str = wxString::Format (_("Reel %d"), reel++); + auto str = wxString::Format (_("Reel %d"), reel++); wxDouble str_width; wxDouble str_height; wxDouble str_descent; wxDouble str_leading; gc->GetTextExtent (str, &str_width, &str_height, &str_descent, &str_leading); - int const available_width = time_x (DCPTime (i.to.get() - i.from.get())); + int const available_width = time_x(DCPTime(i.to.get())) - time_x(DCPTime(i.from.get())); if (available_width > str_width) { - gc->DrawText (str, time_x (DCPTime (i.from.get())) + (available_width - str_width) / 2, _y + 4); + gc->DrawText (str, time_x(DCPTime(i.from.get())) + (available_width - str_width) / 2, _y + 4); } } }