> Implementation of [viewport characteristics media 
> features](https://www.w3.org/TR/mediaqueries-5/#mf-viewport-characteristics):
> * `width`
> * `height`
> * `aspect-ratio`: width / height
> * `orientation`: `portrait`, `landscape`
> * `display-mode`: `fullscreen`, `standalone` (note: `browser` and 
> `minimal-ui` are not supported in JavaFX)
> 
> Here's a small example how the new media features can be used:
> 
>     @Override
>     public void start(Stage stage) {
>         var button = new Button("Toggle full-screen");
>         button.setOnAction(_ -> stage.setFullScreen(!stage.isFullScreen()));
>         var label = new Label();
>         var root = new BorderPane(button, null, null, label, null);
>         var scene = new Scene(root, 650, 200);
>         BorderPane.setAlignment(label, Pos.CENTER);
>         label.textProperty().bind(scene.widthProperty().map(v -> 
> String.format("Width: %.2f", v.doubleValue())));
>         scene.getStylesheets().add("data:text/css;base64," + 
> Base64.getEncoder().encodeToString("""
>             @media (max-width: 500) {
>                 .button {
>                     -fx-background-color: red;
>                 }
>             }
> 
>             @media (600 < width <= 700) {
>                 .button {
>                     -fx-background-color: green;
>                 }
>             }
> 
>             @media (min-width: 800) {
>                 .button {
>                     -fx-background-color: yellow;
>                 }
>             }
> 
>             @media (display-mode: fullscreen) {
>                 .button {
>                     -fx-background-color: black !important;
>                 }
>             }
>             """.getBytes(StandardCharsets.UTF_8)));
> 
>         stage.initStyle(StageStyle.DECORATED);
>         stage.setScene(scene);
>         stage.show();
>     }

Michael Strauß has updated the pull request incrementally with one additional 
commit since the last revision:

  separate range-based expressions into number/size variants

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1844/files
  - new: https://git.openjdk.org/jfx/pull/1844/files/19cdaeaa..dc22aa43

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1844&range=10
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1844&range=09-10

  Stats: 481 lines in 17 files changed: 299 ins; 67 del; 115 mod
  Patch: https://git.openjdk.org/jfx/pull/1844.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1844/head:pull/1844

PR: https://git.openjdk.org/jfx/pull/1844

Reply via email to