MouseCursor::StandardCursorType on macOS

On macOS, some standard cursor types (MouseCursor::StandardCursorType) seem not to be supported even if there are images available on the OS, such as TopEdgeResizeCursor or BottomEdgeResizeCursor. This seems to be due to the way the OS standard cursor images are loaded by JCUE (JUCE/juce_mac_MouseCursor.mm at master · juce-framework/JUCE · GitHub) whereas the cursors are available (for instance: Apple Developer Documentation). Is this intended? if so, is it because the cursor images were not available before a specific macOS version? In this case, do you think this is something that could be fixed? And how?

After looking at the file history, it seems to me that’s a very old code that can be updated. Here are two patches, the first one is important, and the second one is just formatting.
Fix the issue:
JUCE-744b9b1-MouseCursor: Use the other default system cursors when possible on macOS.patch (1.7 KB)
Format switch condition:
JUCE-7092b3b-Format switch in juce_mac_MouseCursor.mm.patch (2.8 KB)

I created a PR on Github. Hopefully, it will facilitate things for integrating the patch. If the problem is solved in another way, feel free to close the PR.

2 Likes