Hi Kevin,

> Am 14.06.2016 um 23:00 schrieb Kevin Rushforth <kevin.rushfo...@oracle.com>:
> 
> Hi,
> 
> As far as we know, FXCanvas is now usable in an OSGi context with JDK 9 + 
> Jigsaw, so you should be able to test this with the latest JDK 9 early access 
> build.

I will contact Tom Schindl w.r.t. this as he maintains the OSGi-integration we 
use at Eclipse. I have seen on this list that he was already active (but don’t 
know the results yet).
> 
> You mentioned that the following bugs are critical for you:
> 
> https://bugs.openjdk.java.net/browse/JDK-8159227 (properly forward 
> consumption state of key events)
> https://bugs.openjdk.java.net/browse/JDK-8143596 (properly forward touch 
> gestures)
> https://bugs.openjdk.java.net/browse/JDK-8088147 (custom cursors)
> 
> There is still time to fix bugs for JDK 9, but I none of the above are 
> currently targeted for 9, and it seems unlikely that they will make it. Would 
> you be interested in contributing fixes for these bugs? If so, then please 
> check the following OpenJDK Wiki page [1].

Yes, I am willing to contribute patches for these. The forwarding of touch 
gestures we currently provide however is based on an initial contribution 
(under the terms of EPL) by Jan Köhnlein to our project (based on the code he 
mentioned in https://bugs.openjdk.java.net/browse/JDK-8088262). We then applied 
a couple of fixes to it to make it properly work and augmented it with a fix to 
https://bugs.openjdk.java.net/browse/JDK-8088147. That leads me to two 
questions:

1) How would I have to handle the copyright? Jan Köhnlein already stated in 
https://bugs.openjdk.java.net/browse/JDK-8088262 that he was willing to 
contribute the necessary code. Would it require he (as well as all GEF 
committers that worked on the mentioned fixes) would have to sign the OCA as 
well? Is there any experience on how to transfer EPL-licensed code already?
2) Up to when could patches be accepted for JavaFX 9?

> 
> You also mentioned the following RFE:
> 
> https://bugs.openjdk.java.net/browse/JDK-8143597 (API to access current mouse 
> pointer location)
> 
> There is a vanishingly small amount of time to add replacement API for 
> internal methods that will be hidden by the module system. It would need to 
> be a simple, well-defined API and we need good justification to do this. Is 
> the above needed as part of your workarounds for the three bugs mentioned 
> earlier or is there some other reason that you need this?

This RFE unrelated to the three issues mentioned before. On all platforms 
except Mac it seems to be possible to use java.awt.MouseInfo as a workaround 
(while we had a bit of struggle to get it work in the context of OSGi; we have 
to manipulate the awt headless mode property by means of reflection). On Mac, 
this does not work, so here com.sun.glass.ui.Robot is the only option. While it 
would in principle be possible to track the mouse location by some global event 
filter as well to mimic this functionality in client code, this would IMHO be a 
quite ugly solution.

Cheers,
Alexander

> 
> -- Kevin
> 
> [1] http://openjdk.java.net/contribute/
> 
> Alexander Nyßen wrote:
>> The Eclipse Graphical Editing Framework (GEF) project as well as other 
>> Eclipse project rely on the JavaFX-SWT-integration that is realized through 
>> FXCanvas.
>> 
>> We at GEF, however, do not use it out-of-the-box but have created a subclass 
>> (http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/canvas/FXCanvasEx.java
>>  
>> <http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/canvas/FXCanvasEx.java>)
>>  to properly handle forwarding of touch gesture events 
>> (https://bugs.openjdk.java.net/browse/JDK-8143596 
>> <https://bugs.openjdk.java.net/browse/JDK-8143596>) through an internal 
>> delegate 
>> (http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/gestures/SWT2FXEventConverter.java
>>  
>> <http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/gestures/SWT2FXEventConverter.java>),
>>  and to add support for image cursors 
>> (https://bugs.openjdk.java.net/browse/JDK-8088147 
>> <https://bugs.openjdk.java.net/browse/JDK-8088147>). Unfortunately, both 
>> fixes provided by us require access to internal API and will thus - AFAIK - 
>> no longer work with Jigsaw. Forwarding of SWT key events' consumption state 
>> (https://bugs.openjdk.java.net/browse/JDK-8159227 
>> <https://bugs.openjdk.java.net/browse/JDK-8159227>) is a related issue, for 
>> which a workaround in client code would require access to internal API, too.
>> 
>> By following this list, I got the impression that it is not completely clear 
>> yet, if and how the JavaFX-SWT-integration will be usable in an OSGi context 
>> with Jigsaw, so let me at least point out that this is quite essential to 
>> us. And while https://bugs.openjdk.java.net/browse/JDK-8143596 
>> <https://bugs.openjdk.java.net/browse/JDK-8143596> is being marked as only 
>> „nice-to-have“, at least for us this is not the case, as an 
>> Eclipse-integrated graphical application that does not support modern touch 
>> devices will not really be acceptable. As such, let me ask whether there is 
>> a chance we can get this functionality migrated to FXCanvas as part of 
>> JavaFX 9. I would like to support this as far as I can.
>> 
>> Last, I would like to point out that the unavailability of a public API to 
>> retrieve the current mouse pointer location 
>> (https://bugs.openjdk.java.net/browse/JDK-8143597 
>> <https://bugs.openjdk.java.net/browse/JDK-8143597>) will definitely become a 
>> blocker in case the only workaround (via com.sun.glass.ui.Robot) will no 
>> longer work because of Jigsaw. Please consider to include a public API for 
>> this within JavaFX 9, even if the related Glass Robot API 
>> (https://bugs.openjdk.java.net/browse/JDK-8090763 
>> <https://bugs.openjdk.java.net/browse/JDK-8090763>) will not be offered yet.
>> 
>> Regards,
>> Alexander
>> 
> 

--
Dr. Alexander Nyßen
Dipl.-Inform.
Principal Engineer

Telefon: +49 (0) 231 / 98 60-202
Telefax: +49 (0) 231 / 98 60-211
Mobil: +49 (0) 151 /  17396743

http://www.itemis.de
alexander.nys...@itemis.de

itemis AG
Am Brambusch 15-24
44536 Lünen

Rechtlicher Hinweis:

Amtsgericht Dortmund, HRB 20621

Vorstand: Jens Wagener (Vors.), Wolfgang Neuhaus

Aufsichtsrat: Prof. Dr. Burkhard Igel (Vors.), Michael Neuhaus, Jennifer 
Fiorentino



Reply via email to