RFR: 8307132: Cleanup the code of sun.java2d.cmm.lcms package
Sergey Bylokhov
serb at openjdk.org
Tue May 2 02:14:11 UTC 2023
The description from big to small:
- Our code to handle the image types we support is too generic, the LCMSImageLayout class can handle, byte, short, int, and double types, and many various properties of the image layout. As a result, we pass a couple of good parameters to the LCMSImageLayout and have to use safeXX methods in it to calculate the final layout, and then validate it.
This patch moves the layout properties calculation to one place - the constructor of LCMSImageLayout, and from the outside of the class, we now pass only the data array and the number of components per pixel:
- The usage of Double type is removed, we do not use that type currently, and do not plan to support it in the future. Note that we support the float type, and I tried to implement it, but unfortunately, it is [intentionally ](https://github.com/mm2/Little-CMS/issues/356)slow. So will continue to use short type instead of float.
- Discussed a few times the `do { } while (false);` block is removed.
-------------
Commit messages:
- add a comment
- Merge branch 'master' into cms_cleanup_v3
- Merge branch 'master' into cms_cleanup_v3
- 8307132: Cleanup the code of sun.java2d.cmm.lcms package
Changes: https://git.openjdk.org/jdk/pull/13732/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13732&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8307132
Stats: 211 lines in 3 files changed: 10 ins; 124 del; 77 mod
Patch: https://git.openjdk.org/jdk/pull/13732.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13732/head:pull/13732
PR: https://git.openjdk.org/jdk/pull/13732
More information about the client-libs-dev
mailing list