RFR: 8087980: Add property to disable Monocle cursor

John Neffenger github.com+1413266+jgneff at openjdk.org
Sat Nov 16 00:32:30 UTC 2019

On Tue, 8 Oct 2019 12:03:42 GMT, Dell Green <12861109+dellgreen at users.noreply.github.com> wrote:

> Often on embedded systems a cursor is not a valid input modality. On some of these systems, when the javafx toolkit initialises the native hardware cursor, it produces artefacts which can be seen on screen (in the framebuffer for example). This change adds a system property "monocle.cursor.enabled" that can disable the creation of a native cursor in each of the Monocle NativePlatform implementations in favour of a NullCursor which is a no-op implementation of the NativeCursor abstract class that all native cursors have to implement.
> NullCursor class already existed and was being returned for some implementations like AndroidPlatform and HeadlessPlatform. This change builds upon that and conditionally returns NullCursor for all platforms.
> A system property "monocle.debugcursor" has also been added to turn on logging of which NativeCursor has been selected when the toolkit initialises.
> ----------------
> Commits:
>  - cfbbc7dd: JDK-8087980: Add property to disable Monocle cursor
> Changes: https://git.openjdk.java.net/jfx/pull/5/files
>  Webrev: https://webrevs.openjdk.java.net/jfx/5/webrev.00
>   Issue: https://bugs.openjdk.java.net/browse/JDK-8087980
>   Stats: 49 lines in 8 files changed: 40 ins; 0 del; 9 mod
>   Patch: https://git.openjdk.java.net/jfx/pull/5.diff
>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/5/head:pull/5

modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/NativePlatform.java line 162:

> 161:             final String name = cursor == null ? null : cursor.getClass().getSimpleName();
> 162:             System.err.println("Using native cursor: " + name);
> 163:         }

Here you would call `PlatformLogger.fine` unconditionally, for example, instead of the conditional call to `System.err.println`.

Changes requested by jgneff at github.com (no OpenJDK username).

PR: https://git.openjdk.java.net/jfx/pull/5

More information about the openjfx-dev mailing list