On Sun, 16 Nov 2025 23:25:35 GMT, John Hendrikx <[email protected]> wrote:
> I think the `invalidateWidthHeight` and `NodeHelper.geomChanged` lines need
> to be removed as part of this PR.
This explains why my Canvas-based table cell implementation resulted in a
continuous layout.
This looks like a bug to me, and I think we should fix it separately.
> modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java
> line 1510:
>
>> 1508: public PlatformImage createPlatformImage(int w, int h) {
>> 1509: IntBuffer buf = IntBuffer.allocate(w * h);
>> 1510: return com.sun.prism.Image.fromIntArgbPreData(buf, w, h);
>
> This seems to be no problem to change (an image heavy application still runs
> absolutely fine), but it is kind of a global change. If there are issues
> with this, we could make a specific method for writable images to use so we
> always get an `int[]` buffer that the software renderer expects.
>
> As it is now, the renderer is writing directly into the underlying image
> storage, without any copies being made (which is nice and efficient).
I am curious why the byte buffer was chosen initially.
Will `IntBuffer` be better on every platform?
Also, `w * h` might be negative if the product is greater than ~2B, though it
will result in an `IllegalArgumentException` with a cryptic "capacity expected
to be negative" message.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1969#issuecomment-3542760586
PR Review Comment: https://git.openjdk.org/jfx/pull/1969#discussion_r2511862262