It confuses SDL which automatically restores window when it is being
activated, and changes display mode on fullscreen window restore.
The extra window restore will try to restore the window again to its
normal rectangle, but this time translated to the new display mode,
ending up with a larger than monitor window resize. This confuses SDL,
which then decides to restore the native display mode.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9411
This largely applies to the variables and functions declared in `macdrv_cocoa.h`, which (currently) cannot use Win32 types.
Note that for ObjC method signatures, I'm following the advice of Google's [Objective-C Style Guide](https://google.github.io/styleguide/objcguide.html#bool-pitfalls) and sticking with ObjC `BOOL` in method signatures (like `- (void) setRetinaMode:(BOOL)mode`). I think the motivation behind that is to avoid confusion between `BOOL` and `bool` when overriding methods: on some architectures (ARM64) they're the same, on others (Intel) they aren't, so just stick with ObjC BOOL everywhere.
--
v2: winemac.drv: Use C99 bool instead of int for Boolean values.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9400