RFR: 8255415: Nested calls to snap methods in Region give different results [v2]
Jose Pereda
jpereda at openjdk.java.net
Tue Oct 27 10:38:34 UTC 2020
> As discussed in the [JBS issue](https://bugs.openjdk.java.net/browse/JDK-8199592), when snapping an already snapped value (either intentionally or by mistake), the result should be the same, otherwise we'll be jumping unnecessary from a valid pixel to another pixel.
>
> This PR provides a fix to `snapSizeXX` methods used in `Region`, which ultimately use `Math.ceil`, by subtracting an epsilon value to scaled value before ceiling, to ensure snapping a snapped value gives the same value.
>
> A test to verify `snapSizeX` and `snapSizeY` with 1000 random values, and 6 different UI scales is provided.
> For the 1.0, 1.25, 1.5 and 2.0 UI scales, the current approach works fine. Only for 1.75 and the random 1.374562997 value fails (the test fails for around 2% of the values with 1.75 and around 10% with 1.374562997).
> With the proposed fix, it doesn't fail at all.
Jose Pereda has updated the pull request incrementally with one additional commit since the last revision:
Update JBS reference in RegionTest
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/336/files
- new: https://git.openjdk.java.net/jfx/pull/336/files/ee0dafc7..5ff5fcce
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=336&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=336&range=00-01
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jfx/pull/336.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/336/head:pull/336
PR: https://git.openjdk.java.net/jfx/pull/336
More information about the openjfx-dev
mailing list