> BorderPane's measurement and layout calculations are not correct when 
> pixel-snapping is enabled. Here is what's wrong with BorderPane, and what 
> consequently needs to be fixed:
> 
> 1. Insets are not snapped:
>    * all measurement methods use raw insets
>    * `layoutChildren()` also uses raw insets
> 3. Content-biased children use the wrong dependent dimension:
>    * top and bottom children call `prefHeight(adjustedWidth)` before their 
> final width is established; left and right have the same problem with height
>    * measurement and layout can disagree because
>        - constrained measurement passes the pane's total width/height without 
> first removing its snapped insets
>        - `getAreaWidth` uses `fillHeight=false`, while left/right/center 
> layout uses `fillHeight=true`
> 5. Arithmetic results are not re-snapped.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

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

  enable test, extract method calls

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/2262/files
  - new: https://git.openjdk.org/jfx/pull/2262/files/3c4d3f70..1b8b84f3

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=2262&range=03
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2262&range=02-03

  Stats: 12 lines in 2 files changed: 5 ins; 0 del; 7 mod
  Patch: https://git.openjdk.org/jfx/pull/2262.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2262/head:pull/2262

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

Reply via email to