On Tue, 5 Nov 2024 16:19:50 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> It links directly to `StageStyle.EXTENDED`, which contains lots of >> information. I don't think we need it here. >> >> By the way, there are no support levels. The feature is supported in its >> entirety, as specified, on all desktop platforms. The table in the JEP is >> just informational to help OpenJFX developers understand what we're talking >> about. It's not a specification, and it can't be a specification because we >> either don't control things (for example, we have no influence on rounded >> corners, this could be changed with any future OS version) or because we'd >> be specifying us into a corner. There's no point prescribing every minute >> detail, and then being responsible to keep it working _exactly_ as >> described, even though the semantics are unchanged. >> >> The relevant parts are specified in `StageStyle.EXTENDED` and `HeaderBar`, >> and I wouldn't go further than this. We don't specify the details of >> `StageStyle.DECORATED` for each OS; why should we do it for >> `StageStyle.EXTENDED`? > > I guess you are right here: from the app dev perspective, there is no > difference between the supported platforms. All good. > > I do suggest to bring a condensed version of the table in the JEP (or a > simple <ul> here to show what's being painted by the platform and what is > not. In other words, instead of reading 1k of text, I want to see a short > list indicating that, for example, close button is painted by the platform, > and the title bar is not painted. > > Can you do something like this? (Alternatively, there might be a better > place to do that, but where?) I don't want to do this, not because I don't want to write documentation, but because I see a very real risk of over-specifying these kinds of things. For app developers, it shouldn't matter if a close button is drawn by the OS or by JavaFX, the only thing that matters is that they _are_ drawn, and it is not the responsibility of the application developer to do it. The specification of `StageStyle.EXTENDED` says: * An extended window has the default window buttons (minimize, maximize, close), but no system-provided * draggable header bar. That's what is important in my opinion: if you choose this stage style, you will get window buttons (however this is done is of no interest), but you will not get a header bar. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1605#discussion_r1831999128