From 179685ef5cfb81d362282ee2fae526533e6404a3 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 17 Oct 2022 20:36:55 +0200 Subject: [PATCH] Improve timeline view colouring in dark mode. --- src/wx/timeline.cc | 2 +- src/wx/timeline_labels_view.cc | 4 +++- src/wx/timeline_reels_view.cc | 6 ++++-- src/wx/timeline_time_axis_view.cc | 5 +++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/wx/timeline.cc b/src/wx/timeline.cc index 6886daa42..a9372b6bb 100644 --- a/src/wx/timeline.cc +++ b/src/wx/timeline.cc @@ -207,7 +207,7 @@ Timeline::paint_main () if (_zoom_point) { /* Translate back as _down_point and _zoom_point do not take scroll into account */ gc->Translate (vsx * _x_scroll_rate, vsy * _y_scroll_rate); - gc->SetPen (*wxBLACK_PEN); + gc->SetPen(gui_is_dark() ? *wxWHITE_PEN : *wxBLACK_PEN); gc->SetBrush (*wxTRANSPARENT_BRUSH); gc->DrawRectangle ( min (_down_point.x, _zoom_point->x), diff --git a/src/wx/timeline_labels_view.cc b/src/wx/timeline_labels_view.cc index 7075d4b7d..181adc5ca 100644 --- a/src/wx/timeline_labels_view.cc +++ b/src/wx/timeline_labels_view.cc @@ -21,6 +21,7 @@ #include "timeline.h" #include "timeline_labels_view.h" +#include "wx_util.h" #include LIBDCP_DISABLE_WARNINGS #include @@ -64,7 +65,8 @@ void TimelineLabelsView::do_paint (wxGraphicsContext* gc, list>) { int const h = _timeline.pixels_per_track (); - gc->SetFont (gc->CreateFont(wxNORMAL_FONT->Bold(), wxColour(0, 0, 0))); + wxColour const colour = gui_is_dark() ? *wxWHITE : *wxBLACK; + gc->SetFont(gc->CreateFont(wxNORMAL_FONT->Bold(), colour)); int fy = 0; if (_video_tracks) { diff --git a/src/wx/timeline_reels_view.cc b/src/wx/timeline_reels_view.cc index 331f6580d..2ec8f9e82 100644 --- a/src/wx/timeline_reels_view.cc +++ b/src/wx/timeline_reels_view.cc @@ -21,6 +21,7 @@ #include "timeline.h" #include "timeline_reels_view.h" +#include "wx_util.h" #include LIBDCP_DISABLE_WARNINGS #include @@ -65,14 +66,15 @@ TimelineReelsView::do_paint (wxGraphicsContext* gc, list>) double const pps = _timeline.pixels_per_second().get (); - gc->SetPen (*wxThePenList->FindOrCreatePen (wxColour (0, 0, 255), 1, wxPENSTYLE_SOLID)); + wxColour const colour = gui_is_dark() ? wxColour(182, 204, 240) : wxColour(0, 0, 255); + gc->SetPen(*wxThePenList->FindOrCreatePen(colour, 1, wxPENSTYLE_SOLID)); auto path = gc->CreatePath (); path.MoveToPoint (time_x (DCPTime (0)), _y); path.AddLineToPoint (time_x (_timeline.film()->length()), _y); gc->StrokePath (path); - gc->SetFont (gc->CreateFont (*wxNORMAL_FONT, wxColour (0, 0, 255))); + gc->SetFont(gc->CreateFont(*wxNORMAL_FONT, colour)); int reel = 1; for (auto i: _timeline.film()->reels()) { diff --git a/src/wx/timeline_time_axis_view.cc b/src/wx/timeline_time_axis_view.cc index 023b42ec7..3b1b3cd99 100644 --- a/src/wx/timeline_time_axis_view.cc +++ b/src/wx/timeline_time_axis_view.cc @@ -67,7 +67,8 @@ 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)); @@ -78,7 +79,7 @@ TimelineTimeAxisView::do_paint (wxGraphicsContext* gc, list 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; -- 2.30.2