Add dark-mode link icon.
[dcpomatic.git] / src / wx / video_panel.cc
index 8a02dff25b01acc08e958f05717124dce8f96ad0..859c0a886c8be59a76445c01a0640dd3b5c3eb38 100644 (file)
@@ -108,7 +108,7 @@ VideoPanel::create ()
        int const link_height = 32;
 #elif defined(DCPOMATIC_OSX)
        int const crop_width = 56;
-       int const link_width = 23;
+       int const link_width = 8 + 15 / dpi_scale_factor(this);
        int const link_height = 28;
 #else
        int const crop_width = 56;
@@ -127,8 +127,10 @@ VideoPanel::create ()
                boost::bind (&VideoPanel::left_crop_changed, this)
                );
 
+       auto const link_path = bitmap_path(gui_is_dark() ? "link_white.png" : "link_black.png");
+
        _left_right_link = new wxToggleButton (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(link_width, link_height));
-       _left_right_link->SetBitmap (wxBitmap(bitmap_path("link.png"), wxBITMAP_TYPE_PNG));
+       _left_right_link->SetBitmap(wxBitmap(link_path, wxBITMAP_TYPE_PNG));
 
        _right_crop_label = create_label (this, _("Right"), true);
        _right_crop = new ContentSpinCtrl<VideoContent> (
@@ -153,7 +155,7 @@ VideoPanel::create ()
                );
 
        _top_bottom_link = new wxToggleButton (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(link_width, link_height));
-       _top_bottom_link->SetBitmap (wxBitmap(bitmap_path("link.png"), wxBITMAP_TYPE_PNG));
+       _top_bottom_link->SetBitmap(wxBitmap(link_path, wxBITMAP_TYPE_PNG));
 
        _bottom_crop_label = create_label (this, _("Bottom"), true);
        _bottom_crop = new ContentSpinCtrl<VideoContent> (
@@ -725,7 +727,10 @@ bool
 VideoPanel::scale_custom_edit_clicked ()
 {
        auto vc = _parent->selected_video().front()->video;
-       CustomScaleDialog dialog(this, vc->size(), _parent->film()->frame_size(), vc->custom_ratio(), vc->custom_size());
+       auto size = vc->size();
+       DCPOMATIC_ASSERT(size);
+
+       CustomScaleDialog dialog(this, *size, _parent->film()->frame_size(), vc->custom_ratio(), vc->custom_size());
        if (dialog.ShowModal() != wxID_OK) {
                return false;
        }