summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2019-09-14 17:57:26 +0200
committerCharles Pigott <charlespigott@googlemail.com>2019-09-16 19:11:08 +0100
commited6a427fcc2da79827fdb63d8a9945fcf2cd643e (patch)
treed213c5a910b8a6753f67d9771c14934866745bea
parent994664dec590b7b8f406d3c2ecc153e77630b1db (diff)
downloadopenttd-ed6a427fcc2da79827fdb63d8a9945fcf2cd643e.tar.xz
Change: [OSX] Recreate backing store if the colour profile of the screen (or the screen) the game window is one changes.
This will result in changing colours if moving OpenTTD from one screen to another, but should avoid performance problems if the window is moved.
-rw-r--r--src/video/cocoa/cocoa_v.h1
-rw-r--r--src/video/cocoa/cocoa_v.mm5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/video/cocoa/cocoa_v.h b/src/video/cocoa/cocoa_v.h
index 2614eef53..dc0bbeecc 100644
--- a/src/video/cocoa/cocoa_v.h
+++ b/src/video/cocoa/cocoa_v.h
@@ -271,6 +271,7 @@ uint QZ_ListModes(OTTD_Point *modes, uint max_modes, CGDirectDisplayID display_i
- (BOOL)windowShouldClose:(id)sender;
- (void)windowDidEnterFullScreen:(NSNotification *)aNotification;
+- (void)windowDidChangeScreenProfile:(NSNotification *)aNotification;
@end
diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm
index 17bca028b..afbca6501 100644
--- a/src/video/cocoa/cocoa_v.mm
+++ b/src/video/cocoa/cocoa_v.mm
@@ -1360,6 +1360,11 @@ static const char *Utf8AdvanceByUtf16Units(const char *str, NSUInteger count)
[ e release ];
}
}
+/** The colour profile of the screen the window is on changed. */
+- (void)windowDidChangeScreenProfile:(NSNotification *)aNotification
+{
+ if (!driver->setup) driver->WindowResized();
+}
@end