When specifying a custom window pointer with Window.setPointerIcon() the pointer image is correct on HiDPI displays in Windows 10 (at 200% scale) and Linux but its size is doubled on MacOS X when using a retina display.
This does not happen on MacOS X on a standard, non HiDPI, display.
The pointer is created like this :
win.setPointerIcon(win.getScreen().getDisplay().createPointerIcon(new PixelRectangle.GenericPixelRect(format, new Dimension(width, height), width*4, true, buffer, hotx, hoty))
Thanks a lot for your help.
I assume this is a NEWT Window.
Set for version 2.5.0
tested w/ v2.4.0-rc-20200104
java -jar fat/jogamp-fat-test.jar
pressing 'c' to change pointer to custom pointer/arrow icon and
when I move the pointer out of the window (OSX icong)
and back in (custom icon) I see the same size.
NEWT MacOS native code shows the pointer bitmaps are defined by pixelSize:
NSBitmapImageRep initWithBitmapDataPlanes(..,pixelsWide, pixelsHigh, ..)
-> NSImage initWithCGImage(..)
-> [[NSCursor alloc] initWithImage: nsImage hotSpot: hotP];
Demo in comment 2 uses
so: 16x24 and then all 64x64 sized bitmaps.
If at all, the pointer bitmap should be presented smaller in high-dpi mode
than expected, but this doesn't seem to be the case here.
Therefor the NSCursor seems to be upscaled by OSX to be same size.
some other discussions https://stackoverflow.com/questions/12021812/nscursor-images-on-a-retina-display
Please reopen this bug if you can reproduce and provide a unit test for me to reproduce this issue.