From 45537095187cb5b985713e7558a230651b599589 Mon Sep 17 00:00:00 2001
From: Simon Judd <sirjuddington@gmail.com>
Date: Thu, 14 Apr 2022 21:52:16 -0700
Subject: [PATCH] Keep up wx3.0 compatibility

I'd like to drop it ideally, but for now it'll stay

Fix #1336
---
 src/Graphics/Icons.cpp | 15 +++++++++++++++
 src/UI/SAuiTabArt.cpp  |  5 ++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/Graphics/Icons.cpp b/src/Graphics/Icons.cpp
index 61d5475c..67147f7e 100644
--- a/src/Graphics/Icons.cpp
+++ b/src/Graphics/Icons.cpp
@@ -373,7 +373,22 @@ wxBitmap loadPNGIcon(const IconDef& icon, int size, Point2i padding)
 bool icons::loadIcons()
 {
 	// Check for dark mode
+#if wxMAJOR_VERSION >= 3 && wxMINOR_VERSION >= 1
 	ui_icons_dark = wxSystemSettings::GetAppearance().IsDark();
+#else
+	auto fg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
+	auto fg_r = fg.Red();
+	auto fg_g = fg.Green();
+	auto fg_b = fg.Blue();
+	auto bg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
+	auto bg_r = bg.Red();
+	auto bg_g = bg.Green();
+	auto bg_b = bg.Blue();
+	wxColour::MakeGrey(&fg_r, &fg_g, &fg_b);
+	wxColour::MakeGrey(&bg_r, &bg_g, &bg_b);
+	log::info("DARK MODE CHECK: FG {} BG {}", fg_r, bg_r);
+	ui_icons_dark = fg_r > bg_r;
+#endif
 
 	// Get slade.pk3
 	auto* res_archive = app::archiveManager().programResourceArchive();
diff --git a/src/UI/SAuiTabArt.cpp b/src/UI/SAuiTabArt.cpp
index 15aad09e..240de8b9 100644
--- a/src/UI/SAuiTabArt.cpp
+++ b/src/UI/SAuiTabArt.cpp
@@ -542,6 +542,7 @@ void SAuiDockArt::DrawCaption(wxDC& dc, wxWindow* window, const wxString& text,
 	int caption_offset = 0;
 	if (pane.icon.IsOk())
 	{
+#if wxMAJOR_VERSION >= 3 && wxMINOR_VERSION >= 1
 	    // Ensure the icon fits into the title bar.
 	    wxSize iconSize = pane.icon.GetSize();
 	    if (iconSize.y > rect.height)
@@ -554,7 +555,9 @@ void SAuiDockArt::DrawCaption(wxDC& dc, wxWindow* window, const wxString& text,
 	    dc.DrawBitmap(pane.icon,
 	                  rect.x+xOffset, rect.y+(rect.height-pane.icon.GetHeight())/2,
 	                  true);
-
+#else
+		DrawIcon(dc, rect, pane);
+#endif
 		caption_offset += pane.icon.GetWidth() + px3;
 	}
 
-- 
2.34.1

