On Tue, 15 Oct 2024 21:35:14 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:
>> Michael Strauß has updated the pull request incrementally with one >> additional commit since the last revision: >> >> review changes > > modules/javafx.graphics/src/main/java/com/sun/javafx/iio/ImageStorage.java > line 201: > >> 199: return null; >> 200: } >> 201: } > > Can we document why this is done? If I had to guess: loading > `XImageLoaderFactory`, even though it is present in this module, may fail > loading dependent classes (`ImageIO`). I've added a javadoc paragraph with more details. > modules/javafx.graphics/src/main/java/com/sun/javafx/iio/javax/XImageLoader.java > line 217: > >> 215: } >> 216: >> 217: return ByteBuffer.wrap(Arrays.copyOf(data, size - offset)); > > This doesn't look correct. If `offset` isn't zero, then dropping the last > few bytes seems incorrect. It should start the copy from `offset`? > > I would think this should be: `ByteBuffer.wrap(data, offset, size - offset)` > (avoids copy but may waste some space). > > Or if you still want to make a copy, then `Arrays.copyOfRange(data, offset, > size)`. > > Note: I have the impression that calling `getData` means the bank won't be > modified anymore, so there may not be a need to copy it. Good catch, I think it is sufficient to use `ByteBuffer.wrap(data, offset, size - offset)` in all cases. > modules/javafx.graphics/src/main/java/com/sun/javafx/image/PixelUtils.java > line 215: > >> 213: getB2BConverter(PixelGetter<ByteBuffer> src, >> PixelSetter<ByteBuffer> dst) >> 214: { >> 215: if (src == ByteRgba.getter) { > > minor: I'd be in favor of fixing this formatting. I know it means well, but > it really isn't improving readability. Perhaps it is more of a job for a > `switch` or `Map` lookup. The code style in this area is very... special. However, I'm hesitant to do a wholesale reformatting here. This will pollute the Git change log with not all that much benefits. > modules/javafx.graphics/src/main/java/javafx/scene/image/Image.java line 75: > >> 73: * <li><a href="http://www.libpng.org/pub/png/spec/">PNG</a></li> >> 74: * </ul> >> 75: * For all other formats, JavaFX uses the {@link javax.imageio Java >> Image I/O API} on supported platforms. > > This doesn't look like a valid javadoc link; in Eclipse at least it doesn't > do anything. Perhaps: > > Suggestion: > > * For all other formats, JavaFX uses the {@link javax.imageio.ImageIO Java > Image I/O API} on supported platforms. Must be an Eclipse problem. IntelliJ and the generated Javadocs correctly point to the `javax.imageio` package documentation. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1593#discussion_r1803167608 PR Review Comment: https://git.openjdk.org/jfx/pull/1593#discussion_r1803168475 PR Review Comment: https://git.openjdk.org/jfx/pull/1593#discussion_r1803171651 PR Review Comment: https://git.openjdk.org/jfx/pull/1593#discussion_r1803167495