GlassScene: setSecurityContext()
Hi, why do you introduced the security concept in GlassScene and GlassStage? setSecurityContext() What is the goal? The problem is the used class sun.misc.SharedSecrets is not available in the android class library. Altough I have added it to the robovm compat lib I’m getting a security error and are not able to start the app on iOS. Tobi
hg: openjfx/8/graphics/rt: RT-33455: Exception in layout pass locks up Toolkit pulsing.
Changeset: 4b61c659d696 Author:art Date: 2013-10-17 17:06 +0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/4b61c659d696 RT-33455: Exception in layout pass locks up Toolkit pulsing. Reviewed-by: alexz, kcr ! modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java
Re: JAVAFX on ANDROID
Hi, I found the reason for the touch crashes on Android. It's a JNI threading error in the current implementation. We have to enqueue the touch events into the javafx dispatch thread. There is a workaround for this attached in the java source file at dispatchTouchEvent and dispatchKeyEvent. What is the best way to propose changes in the future? regards Matthias Am 15.10.2013 um 13:50 schrieb Matthias Hänel hae...@ultramixer.com: Hey Tomas, I've seen a check-in for RT-32802. This seems to be your fix. There are a lot of interface changes. Could you explain the changes a bit, so I can merge it by hand into my jfx678 code? Today, I merged from Stefans b111 JFX78 but it will take a while to get your changes through this way ;) regards Matthias Am 14.10.2013 um 14:31 schrieb tomas.brandalik tomas.branda...@oracle.com: Hi Matthias, cool, I'm surprised you we're able to run it on emulator. I run on device not on emulator for a long time. There wasn't opengl extension GL_EXT_texture_format_BGRA in emulator. But that could have changed overtime. Regarding events: yes there seems to be a problem which I haven't discovered. I've pushed multitouch support and broke touch events on dalvik. I will fix that soon. In order to replace t2k there is freetype library for fonts and glyphs access and harfbuzz for layouting available among system libraries. Although google discourages to use them since they aren't part of public api. It can bring all sorts of compatibility problems (harfbuzz implementation has changed in recent android releases for example). Yes try pango if you have time to spare and share results please. good luck -Tomas On 10/14/2013 01:45 PM, Matthias Hänel wrote: Hi Tomas, never mind, I found the problem over here in the simulator ;) I had to activate the GPU support. So, now I had to BGRA image format for Android and now I get JFX up and running without fonts. There are two things missing: 1. fonts- here we probably need to get pango working for Android right? 2. touch events - I saw that you have got a special Android proxy for the input stuff Java_com_oracle_dalvik_FXActivity_00024InternalSurfaceView_onTouchEventNative This seems to crash for some reason. any idea? It's not that complicated but it is producing a stack trace. After fixing the touch events Brickbreaker with Niklas' no-font-patch should work. I'd pleased to test this. kind regards Matthias Am 14.10.2013 um 12:17 schrieb Matthias Hänel hae...@ultramixer.com: Hi Tomas, since Tobi told me he had a similiar problem in the first place with the iOS port and he managed to run JFX8 without font. We deactivated fonts. There is some code to deactivate and after that it looks like it is starting the JFX-Application. 10-14 06:06:49.529: INFO/GLASS(1546): glass_view_drawBegin 10-14 06:06:49.529: INFO/javafx(1546): Using getAndroidNativeWindow() from glass. 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/javafx(1546): Some video driver error or programming error occurred. Framebuffer object status is invalid. (FBO - 823) 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/javafx(1546): Error creating framebuffer object with TexID 1) 10-14 06:06:49.599: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.659: WARN/System.err(1546): java.lang.reflect.InvocationTargetException 10-14 06:06:49.669: WARN/System.err(1546): at java.lang.reflect.Method.invokeNative(Native Method) 10-14 06:06:49.669: WARN/System.err(1546): at java.lang.reflect.Method.invoke(Method.java:525) 10-14 06:06:49.709: DEBUG/dalvikvm(1546): GC_FOR_ALLOC freed 330K, 10% free 4129K/4564K, paused 32ms, total 32ms 10-14 06:06:49.709: WARN/System.err(1546): at com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:253) 10-14 06:06:49.709: WARN/System.err(1546): at com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:227) 10-14 06:06:49.709: WARN/System.err(1546): at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:485) 10-14 06:06:49.709:
Re: JAVAFX on ANDROID
the mailerdemon striped my java file ;) The fixed code snippet from FXActivity.java is: } else { //single touch actions[0] = actionCode; ids[0] = event.getPointerId(0); touchXs[0] = (int)event.getX(); touchYs[0] = (int)event.getY(); } //System.out.println(Android original event = + event); Platform.runLater(new Runnable() { @Override public void run() { onMultiTouchEventNative(pcount, actions, ids, touchXs, touchYs); } }); return true; } @Override public boolean dispatchKeyEvent(final KeyEvent event) { Platform.runLater(new Runnable() { @Override public void run() { onKeyEventNative(event.getAction(), event.getKeyCode(), event.getCharacters()); } }); return true; } regards Matthias Am 17.10.2013 um 17:01 schrieb Matthias Hänel hae...@ultramixer.com: Hi, I found the reason for the touch crashes on Android. It's a JNI threading error in the current implementation. We have to enqueue the touch events into the javafx dispatch thread. There is a workaround for this attached in the java source file at dispatchTouchEvent and dispatchKeyEvent. What is the best way to propose changes in the future? regards Matthias Am 15.10.2013 um 13:50 schrieb Matthias Hänel hae...@ultramixer.com: Hey Tomas, I've seen a check-in for RT-32802. This seems to be your fix. There are a lot of interface changes. Could you explain the changes a bit, so I can merge it by hand into my jfx678 code? Today, I merged from Stefans b111 JFX78 but it will take a while to get your changes through this way ;) regards Matthias Am 14.10.2013 um 14:31 schrieb tomas.brandalik tomas.branda...@oracle.com: Hi Matthias, cool, I'm surprised you we're able to run it on emulator. I run on device not on emulator for a long time. There wasn't opengl extension GL_EXT_texture_format_BGRA in emulator. But that could have changed overtime. Regarding events: yes there seems to be a problem which I haven't discovered. I've pushed multitouch support and broke touch events on dalvik. I will fix that soon. In order to replace t2k there is freetype library for fonts and glyphs access and harfbuzz for layouting available among system libraries. Although google discourages to use them since they aren't part of public api. It can bring all sorts of compatibility problems (harfbuzz implementation has changed in recent android releases for example). Yes try pango if you have time to spare and share results please. good luck -Tomas On 10/14/2013 01:45 PM, Matthias Hänel wrote: Hi Tomas, never mind, I found the problem over here in the simulator ;) I had to activate the GPU support. So, now I had to BGRA image format for Android and now I get JFX up and running without fonts. There are two things missing: 1. fonts- here we probably need to get pango working for Android right? 2. touch events - I saw that you have got a special Android proxy for the input stuff Java_com_oracle_dalvik_FXActivity_00024InternalSurfaceView_onTouchEventNative This seems to crash for some reason. any idea? It's not that complicated but it is producing a stack trace. After fixing the touch events Brickbreaker with Niklas' no-font-patch should work. I'd pleased to test this. kind regards Matthias Am 14.10.2013 um 12:17 schrieb Matthias Hänel hae...@ultramixer.com: Hi Tomas, since Tobi told me he had a similiar problem in the first place with the iOS port and he managed to run JFX8 without font. We deactivated fonts. There is some code to deactivate and after that it looks like it is starting the JFX-Application. 10-14 06:06:49.529: INFO/GLASS(1546): glass_view_drawBegin 10-14 06:06:49.529: INFO/javafx(1546): Using getAndroidNativeWindow() from glass. 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/javafx(1546): Some video driver error or programming error occurred. Framebuffer object status is invalid. (FBO - 823) 10-14 06:06:49.579: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.579: ERROR/javafx(1546): Error creating framebuffer object with TexID 1) 10-14 06:06:49.599: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14 06:06:49.649: ERROR/libEGL(1546): called unimplemented OpenGL ES API 10-14
Re: GlassScene: setSecurityContext()
Comment out for now and get working code. On iOS at least, all apps come from the store. Steve On 2013-10-17 11:33 AM, Danno Ferrin wrote: Like I said in earlier ports, the language features of the back port aren't as difficult as the API support. I am guessing the security context has something to do with the u45 security patches, so I wouldn't expect a lot of detail until the next CPU release. Is this something we can simply comment out? This wouldn't be the first time compatibility was achieved by removal of an API (see date picker). On Thu, Oct 17, 2013 at 2:41 AM, Matthias Hänel hae...@ultramixer.comwrote: Hey Tobi, yes, I faced the same on the Android port. After uncommenting the new security stuff in GlassStage and GlassScene it's working again. This is just a preliminary solution. @Oracle is there a legal way that we can use parts of the jdk8 rt.jar? regards Matthias Am 17.10.2013 um 10:17 schrieb Tobias Bley t...@ultramixer.com: Hi, why do you introduced the security concept in GlassScene and GlassStage? setSecurityContext() What is the goal? The problem is the used class sun.misc.SharedSecrets is not available in the android class library. Altough I have added it to the robovm compat lib I’m getting a security error and are not able to start the app on iOS. Tobi
hg: openjfx/8/graphics/rt: 2 new changesets
Changeset: 8cf084842bed Author:jgiles Date: 2013-10-17 11:20 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/8cf084842bed RT-33603: CheckBoxTreeItem requires two clicks to select ! modules/controls/src/main/java/javafx/scene/control/cell/CheckBoxTreeCell.java Changeset: 618875201b85 Author:jgiles Date: 2013-10-17 11:28 +1300 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/618875201b85 RT-33602: TableRow item property is being updated out of order ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableRowSkinBase.java
V-up texture coordinate support
Hi all, Java images are defined such that (0, 0) references the top left most pixel of the image. In JavaFX, the texture coordinate system for 3D objects is defined with its U axis increasing from left to right and the V axis increasing from top to bottom. Hence a texture coordinate of (0, 0) references pixel (0, 0), which is the top left corner of the texture, and a texture coordinate of (1, 1) references the bottom right corner of the texture. This system matches the layout of the image, which is stored such that the top-most row of pixels ends up in memory in row 0. It also matches with the default 3D coordinate system used in JavaFX where the X axis increases from left to right and the Y axis increases from top to bottom. We understand that this V-down coordinate system maybe confusing or hard to work with for some 3D content developers when using models that are defined with Y-up. We could add a V-up option (as a boolean property of Shape3D). If set, we would flip the texture coordinates when rendering, such that: V' = 1 - V. However it is very late in this release to consider any more changes, so our plan is to add this option in a post FX 8 release if it turns out to be needed. Please let us know right away if there is a compelling need for V-up support in the FX 8 release. - Kevin and Chien
[REVIEW REQUEST] RT-33442: isSelected in TableViewSelectionModel is called too many times
Hi all, I know we're very late in the release, but I'm proposing the addition of one new method to the TableSelectionModel abstract class, which will have implementations provided by TableView and TreeTableView. The method added into TableSelectionModel will be a no-op method by default (to hopefully not break anyone), and I propose it should have the following method signature: public void selectRange(int minRow, int minColumn, int maxRow, int maxColumn) This method will be used internally, and by any interested end user, to signal to the TableView/TreeTableView control to select all cells within the range of (minRow, minColumn) - (maxRow, maxColumn), inclusive. The reason why I want to introduce this is summed up well in RT-33442 and RT-33619. In short, given a big enough table, a shift+click can essentially cause the TableView to hang whilst it selects all the cells within the range. This is basically due to all the selection events overloading the system. The benefit of introducing this method is that I can make the selection essentially an atomic operation, which will result in drastically less event noise. To better understand what I mean, there is a patch attached to RT-33442 (rt33442_2.patch). This patch introduces this change, as well as a number of other implementation changes. In doing so the selection performance in this use case goes from crashing my test application (presumably it would complete, but I give up after five minutes of waiting) to taking under 1 second. There is still more testing to be done, but after applying this patch all controls unit tests continue to pass. Also, as noted in the jira issue, this patch is incomplete as I have not ported the patch to also cover TreeTableView. So, after all that, should we add selectRange(minRow, minColumn, maxRow, maxColumn) to JavaFX 8.0? If so, does anyone have an improved method signature they can recommend? I will of course be writing unit tests to cover this method and testing to ensure there are no regressions as best I can. Thanks, -- Jonathan
hg: openjfx/8/graphics/rt: RT-29922 Ensemble8: remove builders (partial)
Changeset: ce4e498fd133 Author:dmasada Date: 2013-10-17 20:52 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/ce4e498fd133 RT-29922 Ensemble8: remove builders (partial) ! apps/samples/Ensemble8/src/generated/java/ensemble/generated/Samples.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/PlanetaryPlayerPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/audioclip/AudioClipApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/PlayerPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/PlayerPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/mouseevent/MouseEventApp.java
hg: openjfx/8/graphics/rt: RT-33563 Ensemble8: DatePicker sample, add '-' in locales menu items
Changeset: 2907bf0eeec4 Author:dmasada Date: 2013-10-17 22:02 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/2907bf0eeec4 RT-33563 Ensemble8: DatePicker sample, add '-' in locales menu items ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/datepicker/DatePickerApp.java