RFR: 8303904: [macos]Transparent Windows Paint Wrong (Opaque, Pixelated) w/o Volatile Buffering [v5]

Jeremy Wood jwood at openjdk.org
Fri Jan 2 02:43:39 UTC 2026


> When "swing.volatileImageBufferEnabled" is false: we were mistakenly using an opaque image at 100% resolution.
> 
> In hindsight the original ticket probably should be split up into two distinct issues:
> 1. The window is opaque, so pixels that should be transparent are black.
> 2. The window is the wrong resolution. On a 200% resolution monitor it renders as if it were 100% (so it looks pixelated).
> 
> This PR started 2 years ago. I got stuck and abandoned it, and @anass-baya picked it back up again this year: https://github.com/openjdk/jdk/pull/23430/
> 
> In that PR @mrserb suggested we try to fix this problem in RepaintManager (see https://github.com/openjdk/jdk/pull/23430#discussion_r2089555453 ), so that's what this PR does.
> 
> Also this refactors some existing code (the BackingStoreMultiResolutionImage) from JViewport to wrap a BufferedImage in a smaller (transformed) MultiResolutionImage.

Jeremy Wood has updated the pull request incrementally with one additional commit since the last revision:

  8303904: Updating copyright year

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13196/files
  - new: https://git.openjdk.org/jdk/pull/13196/files/a3eb2d62..547b121e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13196&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13196&range=03-04

  Stats: 7 lines in 7 files changed: 0 ins; 0 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/13196.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13196/head:pull/13196

PR: https://git.openjdk.org/jdk/pull/13196


More information about the client-libs-dev mailing list