New API: Animation/Timeline improvement

2023-12-15 Thread John Hendrikx
Hi list, I've noticed that Animations and Timelines are often a source of leaks, and their clean-up is often either non-existent or incorrect.  The reason they cause leaks easily is because a running animation or timeline is globally referred from a singleton PrimaryTimer.  The animation or t

Mocking library

2023-12-15 Thread John Hendrikx
Hi, Would it be a good idea to include a mocking library like Mockito to FX's test tools? I often find myself wanting to test components in isolation, to avoid having to spin up large parts of FX to even get something as simple as a Control testable.  So far I've avoided the issue as I've be

Re: The crisp fonts saga

2023-12-15 Thread John Neffenger
On 12/15/23 2:21 PM, Mark Raynsford wrote: 2. Add an -fx-font-hinting CSS attribute that, by default, will be set to false. Setting this value to true will enable hinting using whatever is the default (in other words, not setting FT_LOAD_NO_HINTING). Have you thought of a '

Re: The crisp fonts saga

2023-12-15 Thread John Neffenger
On 12/15/23 1:40 PM, Philip Race wrote: I will expand on it a bit but a number of the salient points have already been made by others. Thank you, Phil, for taking the time to write down the history. I truly appreciate it, and it's very helpful. Those of us outside of Oracle know the "what" a

Re: The crisp fonts saga

2023-12-15 Thread Michael Strauß
Hi Mark, maybe you should start a new thread with your proposed API and a quick summary of the problems that it solves. OpenJFX is a community effort after all, so let’s see whether we can get your proposal accepted. Mark Raynsford schrieb am Fr. 15. Dez. 2023 um 23:21: > On Fri, 2023-12-15 a

Re: The crisp fonts saga

2023-12-15 Thread Mark Raynsford
On Fri, 2023-12-15 at 13:40 -0800, Philip Race wrote: > I already gave a brief explanation of why FX text rendering is what > it is. > I will expand on it a bit but a number of the salient points have > already been made by others. > It is unlikely we will make anything other than carefully consid

Re: The crisp fonts saga

2023-12-15 Thread Philip Race
I already gave a brief explanation of why FX text rendering is what it is. I will expand on it a bit but a number of the salient points have already been made by others. It is unlikely we will make anything other than carefully considered tweaks, so this is by way of explanation. I'm not going

Re: Issues running SwingNodeJDialogTest on Linux

2023-12-15 Thread Kevin Rushforth
Hmm. That's odd. you could pass "-Djdk.gtk.verbose=true" and see what's happening on the GTK loading side. Both AWT and JavaFX will print some info if that system property it set. To find out where the test process is hung you can use "jstack PID". If the test itself is hung, then that test wo

Re: RFR: 8301219: JavaFX crash when closing with the escape key [v2]

2023-12-15 Thread Martin Fox
> While processing a key down event the Glass GTK code sends out PRESSED and > TYPED KeyEvents back to back. If the stage is closed during the PRESSED event > the code will end up referencing freed memory while sending out the TYPED > event. This can lead to intermittent crashes. > > In GlassAp

Issues running SwingNodeJDialogTest on Linux

2023-12-15 Thread Martin Fox
I’m having an issue with one of the robot tests on my Linux machine. Before I dig any further I could use some guidance on where to look. I’m running Ubuntu 22.04 on ARM64 (in a Parallels VM). The command line I’m using is: bash ./gradlew -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test --te

Re: RFR: 8301219: JavaFX crash when closing with the escape key

2023-12-15 Thread Kevin Rushforth
On Thu, 14 Dec 2023 00:58:56 GMT, Martin Fox wrote: > While processing a key down event the Glass GTK code sends out PRESSED and > TYPED KeyEvents back to back. If the stage is closed during the PRESSED event > the code will end up referencing freed memory while sending out the TYPED > event.

Re: RFR: 8320965: Scrolling on a touch enabled display fails on Wayland [v2]

2023-12-15 Thread Kevin Rushforth
On Thu, 14 Dec 2023 20:13:36 GMT, Jose Pereda wrote: >> modules/javafx.graphics/src/main/native-glass/gtk/glass_general.cpp line 599: >> >>> 597: return TRUE; >>> 598: } >>> 599: #if GTK_CHECK_VERSION(3, 20, 0) >> >> I wouldn't have expected any compile-time `#if` checks as part of

Re: RFR: 8320965: Scrolling on a touch enabled display fails on Wayland [v2]

2023-12-15 Thread Kevin Rushforth
On Thu, 14 Dec 2023 20:19:12 GMT, Jose Pereda wrote: >> This PR replaces the deprecated `gdk_pointer_grab` with `gdk_seat_grab`, and >> `gdk_pointer_ungrab ` with `gdk_seat_ungrab`, using runtime checks and >> wrapped functions for GTK 3.20+ (so systems without it still run with GTK >> 3.8+),

Re: The crisp fonts saga

2023-12-15 Thread John Hendrikx
I've done this for FX, but also for Windows globally.  Even on 4K screens (with the correct LCD pixel order) I notice color fringing, so I've forced Windows to use grayscale anti aliasing everywhere.  I just can't stand glyphs looking like they come from a circus poster. --John On 15/12/2023

Re: The crisp fonts saga

2023-12-15 Thread Mark Raynsford
On Thu, 2023-12-14 at 23:38 +, Pedro Duque Vieira wrote: > > System.setProperty("prism.lcdtext", "false"); > > > Javafx font rendering on Mac OS is better than on Windows. Yeah, I've had a go with this as well. On Windows 10, at least, the choice is between blurry text, or blurry text with

Re: The crisp fonts saga

2023-12-15 Thread Mark Raynsford
On Thu, 2023-12-14 at 15:02 -0800, John Neffenger wrote: > On 12/14/23 4:39 AM, Mark Raynsford wrote: > > The key point is "keep text aligned to the pixel grid". The thing > > is: > > This isn't affected by hinting or the lack of it whatsoever, at > > least > > with the way text is implemented in P