X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline_reels_view.cc;h=cf1abb34f6b961f21fd6552ab66c6a4911e562d9;hb=23aa3071850761144798112a5aaea61304de8586;hp=6c3da465e93dc4600f77d03e7c0b38f25bdbc036;hpb=d2e8a683eed6fb82d4d255fffaf571ff27057132;p=dcpomatic.git diff --git a/src/wx/timeline_reels_view.cc b/src/wx/timeline_reels_view.cc index 6c3da465e..cf1abb34f 100644 --- a/src/wx/timeline_reels_view.cc +++ b/src/wx/timeline_reels_view.cc @@ -1,30 +1,34 @@ /* - Copyright (C) 2015-2016 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) @@ -33,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) { @@ -46,8 +52,9 @@ TimelineReelsView::set_y (int y) force_redraw (); } + void -TimelineReelsView::do_paint (wxGraphicsContext* gc, list >) +TimelineReelsView::do_paint (wxGraphicsContext* gc, list>) { if (!_timeline.pixels_per_second()) { return; @@ -57,7 +64,7 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc, list >) 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); @@ -65,10 +72,10 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc, list >) 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); @@ -80,17 +87,17 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc, list >) 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); } } }