X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Ftimeline_time_axis_view.cc;h=d055bda7d54bfb310e338f1fcd2b2112cc64ad51;hp=c8808a62f5c6b35a0553f825918410171231988f;hb=28c36cd838edf5ae81d2f340c157576aa2b57e42;hpb=220518a7bf41bfd9e9da852b4d5ac1461fdd0e1a diff --git a/src/wx/timeline_time_axis_view.cc b/src/wx/timeline_time_axis_view.cc index c8808a62f..d055bda7d 100644 --- a/src/wx/timeline_time_axis_view.cc +++ b/src/wx/timeline_time_axis_view.cc @@ -18,13 +18,21 @@ */ -#include "timeline_time_axis_view.h" + #include "timeline.h" +#include "timeline_time_axis_view.h" #include "wx_util.h" -#include +#include +LIBDCP_DISABLE_WARNINGS #include +#include +LIBDCP_ENABLE_WARNINGS + +using std::cout; using std::list; +using namespace dcpomatic; + TimelineTimeAxisView::TimelineTimeAxisView (Timeline& tl, int y) : TimelineView (tl) @@ -33,12 +41,15 @@ TimelineTimeAxisView::TimelineTimeAxisView (Timeline& tl, int y) } + dcpomatic::Rect TimelineTimeAxisView::bbox () const { - return dcpomatic::Rect (0, _y - 4, _timeline.width(), 24); + return dcpomatic::Rect(0, y_pos(_y), _timeline.width(), 48); } + +/** @param y y position in tracks (not pixels) */ void TimelineTimeAxisView::set_y (int y) { @@ -46,6 +57,7 @@ TimelineTimeAxisView::set_y (int y) force_redraw (); } + void TimelineTimeAxisView::do_paint (wxGraphicsContext* gc, list >) { @@ -55,23 +67,26 @@ TimelineTimeAxisView::do_paint (wxGraphicsContext* gc, list double const pps = _timeline.pixels_per_second().get (); - gc->SetPen (*wxThePenList->FindOrCreatePen (wxColour (0, 0, 0), 1, wxPENSTYLE_SOLID)); + wxColour const colour = gui_is_dark() ? *wxWHITE : *wxBLACK; + gc->SetPen(*wxThePenList->FindOrCreatePen(colour, 1, wxPENSTYLE_SOLID)); double const mark_interval = calculate_mark_interval (rint (128 / pps)); + int y = _y * _timeline.pixels_per_track() + 32; + wxGraphicsPath path = gc->CreatePath (); - path.MoveToPoint (0, _y); - path.AddLineToPoint (_timeline.width(), _y); + path.MoveToPoint (0, y); + path.AddLineToPoint (_timeline.width(), y); gc->StrokePath (path); - gc->SetFont (gc->CreateFont (*wxNORMAL_FONT)); + gc->SetFont(gc->CreateFont(*wxNORMAL_FONT, colour)); /* Time in seconds */ DCPTime t; while ((t.seconds() * pps) < _timeline.width()) { wxGraphicsPath path = gc->CreatePath (); - path.MoveToPoint (time_x (t), _y - 4); - path.AddLineToPoint (time_x (t), _y + 4); + path.MoveToPoint (time_x (t), y - 4); + path.AddLineToPoint (time_x (t), y + 4); gc->StrokePath (path); double tc = t.seconds (); @@ -90,7 +105,7 @@ TimelineTimeAxisView::do_paint (wxGraphicsContext* gc, list int const tx = t.seconds() * pps; if ((tx + str_width) < _timeline.width()) { - gc->DrawText (str, time_x (t), _y + 16); + gc->DrawText (str, time_x (t), y + 16); } t += DCPTime::from_seconds (mark_interval);