RFR: 8092439: [Monocle] Refactor monocle SPI to allow support for multiple screens

Johan Vos jvos at openjdk.java.net
Tue Mar 16 14:28:22 UTC 2021


Fix for JDK-8092439 and JDK-8092064
Monocle currently hard-codes a single Screen, and the `staticScreen_getScreens()` method will never return more than 1 Screen.

This PR introduces the possibility to deal with multiple screens, which is not uncommon on embedded systems. By default, the `staticScreen_getScreens()` method will still return a single screen, but the sub-platforms can now return multiple screens.

The EGL subplatform will now query the low-level drivers, and if they detect multiple displays, multiple `Screen` instances will be configured.
The low-level native implementation for getting the number of physical screens and there characteristics is deferred to the real low-level libraries (for example, an X11 based approach can do it in a different way then a DRM based approach).

-------------

Commit messages:
 - Allow Monocle implementations to provide multiple screens.

Changes: https://git.openjdk.java.net/jfx/pull/426/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=426&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8092439
  Stats: 298 lines in 7 files changed: 275 ins; 0 del; 23 mod
  Patch: https://git.openjdk.java.net/jfx/pull/426.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/426/head:pull/426

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


More information about the openjfx-dev mailing list