X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline_view.cc;h=10d6dc5beb9d1e4f4d9cf9e1d584ca5c629ce7e5;hb=31de5b1272d928557a7272977584f5dcc9876c75;hp=dbcbe025911bb902dc00d1edc87bdae833fd7cfa;hpb=688fa9d705a6b23f216f380ac701c6a60e934f70;p=dcpomatic.git diff --git a/src/wx/timeline_view.cc b/src/wx/timeline_view.cc index dbcbe0259..10d6dc5be 100644 --- a/src/wx/timeline_view.cc +++ b/src/wx/timeline_view.cc @@ -1,51 +1,60 @@ /* - Copyright (C) 2013-2015 Carl Hetherington + Copyright (C) 2013-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_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). */ TimelineView::TimelineView (Timeline& t) : _timeline (t) { - + } + void -TimelineView::paint (wxGraphicsContext* g) +TimelineView::paint (wxGraphicsContext* g, list> overlaps) { _last_paint_bbox = bbox (); - do_paint (g); + do_paint (g, overlaps); } + void TimelineView::force_redraw () { - _timeline.force_redraw (_last_paint_bbox); - _timeline.force_redraw (bbox ()); + _timeline.force_redraw (_last_paint_bbox.extended(4)); + _timeline.force_redraw (bbox().extended(4)); } + int TimelineView::time_x (DCPTime t) const { - return _timeline.tracks_position().x + t.seconds() * _timeline.pixels_per_second().get_value_or (0); + return t.seconds() * _timeline.pixels_per_second().get_value_or(0); } -