Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-26 Thread Kevin Rushforth
Seems a reasonable addition to me, too. -- Kevin Michael Ennen wrote: Sounds like a reasonable idea to me. On Mon, Mar 26, 2018 at 1:00 PM, Nir Lisker wrote: I'm thinking about the addition of a public method for mouse click, which is mouse press and then mouse

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-26 Thread Michael Ennen
Sounds like a reasonable idea to me. On Mon, Mar 26, 2018 at 1:00 PM, Nir Lisker wrote: > I'm thinking about the addition of a public method for mouse click, which > is mouse press and then mouse release - the parallel for key typed. Is it > worth? > > - Nir > > On Mon, Mar

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-26 Thread Nir Lisker
I'm thinking about the addition of a public method for mouse click, which is mouse press and then mouse release - the parallel for key typed. Is it worth? - Nir On Mon, Mar 26, 2018 at 5:54 PM, Kevin Rushforth wrote: > Seems good to me, too. > > -- Kevin > > >

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-26 Thread Kevin Rushforth
Seems good to me, too. -- Kevin Michael Ennen wrote: Sounds like a good idea to me to only have `getScreenCapture` methods that have a WritableImage parameter which can be `null` which means a new WritableImage will be created otherwise the given one is re-used, as in Scene.snapshot and

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-24 Thread Michael Ennen
Sounds like a good idea to me to only have `getScreenCapture` methods that have a WritableImage parameter which can be `null` which means a new WritableImage will be created otherwise the given one is re-used, as in Scene.snapshot and Node.snapshot. What are your thoughts on this, Kevin? On Sat,

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-24 Thread Scott Palmer
> On Mar 23, 2018, at 5:50 PM, Michael Ennen wrote: > > Kevin, > > I believe I followed all of your suggestions, except the one with a > re-usable WritableImage. > If you want me to implement that as well, I can, but you seemed unsure > about the necessity > of it. I

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-23 Thread Michael Ennen
Kevin, I believe I followed all of your suggestions, except the one with a re-usable WritableImage. If you want me to implement that as well, I can, but you seemed unsure about the necessity of it. Hopefully it is easy for you to review using the GitHub PR:

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-22 Thread Michael Ennen
Got it. Not sure why I made it so complicated in my head, lol. Will be working on this in the next few days. On Thu, Mar 22, 2018 at 5:54 AM, Kevin Rushforth wrote: > > > Michael Ennen wrote: > > Quick question: > > Currently a Robot is created by calling

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-22 Thread Kevin Rushforth
Michael Ennen wrote: Quick question: Currently a Robot is created by calling `Application.createRobot` which delegates to the underlying platform-specific application class (GtkApplication, WinApplication, etc.) via `com.sun.glass.ui.Application.GetApplication().createRobot();` I just

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-22 Thread Michael Ennen
I should have been more clear in my previous message. I am creating the Robot thusly: javafx.scene.robot.Robot constructor (public API so JavaFX users can simply instantiate one): public Robot() { // Ensure we have proper permission for creating a robot. final SecurityManager

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-22 Thread Nir Lisker
Hi Michael, About the public API, I agree with Kevin that the following methods are redundant: - mousePress(MouseButton button) - mouseRelease(MouseButton button); - mouseWheel(int wheelAmt, VerticalDirection direction) About the implementation of getScreenCapture, isn't that conflicting with

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-22 Thread Michael Ennen
Quick question: Currently a Robot is created by calling `Application.createRobot` which delegates to the underlying platform-specific application class (GtkApplication, WinApplication, etc.) via `com.sun.glass.ui.Application.GetApplication().createRobot();` You suggest moving this to the

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-21 Thread Michael Ennen
Okay, thanks for that review, Kevin. I will take into account all of the your suggestions (and if any others come in as well) and report back soon. Thanks, Michael On Tue, Mar 20, 2018 at 4:28 PM, Kevin Rushforth wrote: > Hi Michael, > > Here is some quick

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-20 Thread Kevin Rushforth
Hi Michael, Here is some quick feedback. I think what you have is heading in the right direction as far as the public API goes. I'd like to get some feedback from other developers as well. I would want to make sure that the API meets the needs of multiple developers. I took a look at the

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-20 Thread Kevin Rushforth
I will do an initial review of the API today and suggest next steps. -- Kevin Michael Ennen wrote: Ping :) On Mon, Jan 8, 2018 at 4:28 PM, Kevin Rushforth > wrote: I'll take a look some time after RDP2 of JDK 10. --

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-03-19 Thread Michael Ennen
Ping :) On Mon, Jan 8, 2018 at 4:28 PM, Kevin Rushforth wrote: > I'll take a look some time after RDP2 of JDK 10. > > > -- Kevin > > > Michael Ennen wrote: > > Hey Kevin, > > Hope you had a good holiday. Hopefully you will get some time in the > coming weeks > to

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-01-08 Thread Michael Ennen
Sounds great. Much appreciated. On Mon, Jan 8, 2018 at 4:28 PM, Kevin Rushforth wrote: > I'll take a look some time after RDP2 of JDK 10. > > > -- Kevin > > > Michael Ennen wrote: > > Hey Kevin, > > Hope you had a good holiday. Hopefully you will get some time in the

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-01-08 Thread Kevin Rushforth
I'll take a look some time after RDP2 of JDK 10. -- Kevin Michael Ennen wrote: Hey Kevin, Hope you had a good holiday. Hopefully you will get some time in the coming weeks to review my work. Thanks! On Wed, Dec 20, 2017 at 3:05 PM, Kevin Rushforth

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-01-08 Thread Michael Ennen
Hey Kevin, Hope you had a good holiday. Hopefully you will get some time in the coming weeks to review my work. Thanks! On Wed, Dec 20, 2017 at 3:05 PM, Kevin Rushforth wrote: > Sure, no problem. One quick comment is that a common way to solve this is > by

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2018-01-01 Thread Michael Ennen
I have created an orphan branch with the Robot API webrev: https://github.com/brcolow/openjfx/tree/robot-webrev You can clone/"download" it via: git clone https://github.com/brcolow/openjfx --branch robot-webrev --single-branch ~/robot-webrev This will use git to essentially download the

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-27 Thread Michael Ennen
Just a quick note for clarification: I was able to make the small changes I mentioned (removing the color profile experiments and incorrect log statement) to GlassRobot.m without affecting the commit hashes so the URLs should still work, but will reflect the newest changes from my end. Sorry for

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-26 Thread Michael Ennen
I forgot to mention one thing: There is quite a large amount of changes to GlassRobot.m for macOS. This was purely experimental and was copied almost wholesale from Chromium (or was it Firefox?). I wanted to see if messing around with setting the color profile of the display allowed for exact

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-26 Thread Michael Ennen
I have completed what I would call a first draft of moving the Robot to JavaFX public API. This commit: https://github.com/brcolow/openjfx/commit/321f949575a201fe28a2ff79c9590daf8db375a8 Includes all the relevant changes necessary to move the glass robot into the public API. I have some other

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-23 Thread Michael Ennen
Kevin, You mentioned in your initial response that Jemmy would need to updated with any changes that result from moving Robot into the JavaFX public API. However, from what I can tell from a cursory glance, Jemmy seems to use "java.awt.Robot" and not the JavaFX Glass Robot API and thus no changes

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-22 Thread Michael Ennen
I didn't realize "_1" is an escape character in JNI method naming and is only needed when the method has a "_" in its' name. Nevermind! On Fri, Dec 22, 2017 at 2:57 PM, Michael Ennen wrote: > I have made quite a bit of good progress I think: > >

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-22 Thread Michael Ennen
I have made quite a bit of good progress I think: https://github.com/brcolow/openjfx/commit/d92ef24101cf32dfc07b21bdcb575528d8a58eaf The public API is starting to look much cleaner:

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-20 Thread Kevin Rushforth
Sure, no problem. One quick comment is that a common way to solve this is by delegating to an implementation class, which would then be sub-classes. -- Kevin Michael Ennen wrote: I am not trying to be a burden here. I understand that you may not have time to hand-hold to this degree. I will

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-20 Thread Michael Ennen
I am not trying to be a burden here. I understand that you may not have time to hand-hold to this degree. I will try and make progress, sorry for the follow up question. On Wed, Dec 20, 2017 at 2:08 PM, Michael Ennen wrote: > How can Robot call into the implementation when

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-20 Thread Michael Ennen
How can Robot call into the implementation when it is a super class of the implementations? On Wed, Dec 20, 2017 at 2:04 PM, Kevin Rushforth wrote: > > > Michael Ennen wrote: > > I have a question about how to proceed with the Robot code. > > The base abstract Robot

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-20 Thread Kevin Rushforth
Michael Ennen wrote: I have a question about how to proceed with the Robot code. The base abstract Robot class is: https://github.com/brcolow/openjfx/blob/master/modules/javafx.graphics/src/main/java/javafx/scene/robot/Robot.java As you can see for each method, such as "getMouseX()" there

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-20 Thread Michael Ennen
I have a question about how to proceed with the Robot code. The base abstract Robot class is: https://github.com/brcolow/openjfx/blob/master/modules/javafx.graphics/src/main/java/javafx/scene/robot/Robot.java As you can see for each method, such as "getMouseX()" there is a "_" prefixed method

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-05 Thread Kevin Rushforth
Glad you got the build working. You can post back on this thread when you are ready. -- Kevin Michael Ennen wrote: Correction: Adding ""--add-exports javafx.graphics/javafx.scene.robot=ALL-UNNAMED" to buildSrc/addExports. For posterity :) On Mon, Dec 4, 2017 at 6:08 PM, Michael Ennen

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-04 Thread Michael Ennen
Correction: Adding ""--add-exports javafx.graphics/javafx.scene.robot=ALL-UNNAMED" to buildSrc/addExports. For posterity :) On Mon, Dec 4, 2017 at 6:08 PM, Michael Ennen wrote: > Ah, indeed, missed adding "--add-opens > javafx.graphics/javafx.scene.robot=ALL-UNNAMED" >

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-04 Thread Michael Ennen
Ah, indeed, missed adding "--add-opens javafx.graphics/javafx.scene.robot=ALL-UNNAMED" to buildSrc/addExports. Thanks for the guidance on that. I will continue to work on this in the GitHub repo and polish it up (add javadocs, better method signatures, etc.) and even plan on maybe improving the

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-04 Thread Kevin Rushforth
This is a limitation of the the way --patch-modules works. You will need to add an entry in: buildSrc/addExports Btw, as for the proposal itself, this might need to be a JEP depending on the scope. In any case, it could be considered in the JDK 11 time frame, but there are several things

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-04 Thread Michael Ennen
Currently I am stuck with tests not being able to see the new "javafx.scene.robot" module: > Task :systemTests:compileTestJava C:\Users\brcolow\dev\openjfx\tests\system\src\test\java\test\robot\com\sun\glass\ui\monocle\ModalDialogTest.java:34: error: package javafx.scene.robot is not visible

Re: Proposal For Inclusion of Robot and ParametersImpl in the Public API

2017-12-03 Thread Michael Ennen
I am still working on all the necessary changes to actually allow openjfx to compile. Tons to learn in that arena and I know the code as it is written won't totally work. For example one can no longer: #include "com_sun_glass_ui_Robot.h" as in