On Wed, 23 Apr 2025 03:36:26 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
>> This removes the constant repainting of the AquaRootPaneUI's default button. >> >> A long time ago (before Mac OS Yosemite, around 2014) this was needed to >> match Aqua's native experience. But the default button no longer pulses, so >> we don't need to repaint ("pulse") the button continually. >> >> Here's a clip from a YouTube video I found demonstrating the pulsing effect >> that this PR removes (you may want to turn your volume off): >> >> https://github.com/user-attachments/assets/496bc003-ccba-4178-81bc-765e96d94316 >> >> This PR includes a test, but this test has never failed. (That is: this PR >> does not resolve a failing test.) This test would fail if the default button >> ever looked the same as a non-default button. >> >> My primary goal here was to remove the AquaButtonUI's AncestorListener, but >> while we're here we might as well remove the AquaRootPaneUI's timer and >> other cleanup. >> >> I tried and failed to rename the `private static final byte _pulsed` >> constant. (More details >> [here](https://github.com/openjdk/jdk/commit/89d0689f226b9e883df464e6f3e8c20074970499).) >> If anyone has suggestions for how to rename that without errors please let >> me know. > > src/java.desktop/macosx/classes/apple/laf/JRSUIConstants.java line 197: > >> 195: public static final State PRESSED = new State(_pressed); >> 196: @Native private static final byte _pulsed = 5; >> 197: public static final State DEFAULTBUTTON = new State(_pulsed); > > Is it still necessary to use the pulse property from JRS, or can we treat > this button like any other and rely on the standard active/inactive state? or default button appearance is different? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24778#discussion_r2055193619