Monocle properties in glass and prism

Johan Vos johan.vos at gluonhq.com
Wed Dec 15 16:04:51 UTC 2021


On Wed, Dec 15, 2021 at 3:53 PM Kevin Rushforth <kevin.rushforth at oracle.com>
wrote:

>
> > I wonder if there are any known cases where the glass platform is set to
> > Monocle, but where prism is expected to use X11? That sounds like a
> > contradiction
>
> Agreed that this seems like a mismatch.
>
> > I suggest we remove the "embedded" property and the
> > PlatforumUtil.getEmbeddedType() method (note that this is unrelated to
> > PlatformUtil.isEmbedded()), and that we replace the checks on the 2
> places
> > mentioned above with a check on glass.platform being monocle.
>
> I think this seems fine. It does seem a little odd to query glass
> platform in Prism, but I don't see a problem with it as long as Prism
> doesn't call into glass directly, at least not during initialization
> (Prism is necessarily initialized before glass).


Absolutely. There is no call needed into glass at all, it is just the name
of the property that has the word "glass" in it.
Looking deeper into the semantics, the "issue" is more the naming itself.
For other platforms (e.g. Windows, iOS,...) we have checks both in glass
and in prism on the OS name. That is a property that has nothing to do with
either glass or prism.
By using "-Dglass=monocle", we sort of give the (semantic) impression that
monocle is related to glass, but it is also slightly related to prism.

Short-term, I propose to create a JBS issue to change the check and remove
the "-Dembedded=monocle" property. Longer term, I still believe a single
ES2Pipeline and GLFactory might be the better approach.

- Johan


More information about the openjfx-dev mailing list