Re: javafx on android - weird box within regions

2014-01-28 Thread Christoph Caks

It seems the list got my attachment -.-
i uploaded it here: http://de.tinypic.com/r/ou4p46/8

Am 2014-01-28 20:29, schrieb Christoph Caks:

Hi,
I have a question regarding regions on android

it seems that all regions with a set background have some kind of 
white box inside
(in this case it is gray - its color has to do something with the 
background (in this case its aqua)

look at the attached screenshot

it is a very simple application with just one region

anybody experienced the same behaviour - or has a workaround for this 
issue?



I'm using these instructions to get a build:

https://bitbucket.org/javafxports/android/wiki/Home


greetings Christoph





Re: javafx on android - weird box within regions

2014-01-28 Thread David Grieve
https://javafx-jira.kenai.com/browse/RT-30479 is probably the issue you are 
bumping up against.

On Jan 28, 2014, at 2:29 PM, Christoph Caks cc...@bestsolution.at wrote:

 Hi,
 I have a question regarding regions on android
 
 it seems that all regions with a set background have some kind of white box 
 inside
 (in this case it is gray - its color has to do something with the background 
 (in this case its aqua)
 look at the attached screenshot
 
 it is a very simple application with just one region
 
 anybody experienced the same behaviour - or has a workaround for this issue?
 
 
 I'm using these instructions to get a build:
 
 https://bitbucket.org/javafxports/android/wiki/Home
 
 
 greetings Christoph
 



Re: javafx on android - weird box within regions

2014-01-28 Thread Stephen F Northover

Hi Christoph,

We don't build or run Android so it's a pain to recreate the problem.  
Please confirm the bug on a desktop platform.  It might likely be the 
bug David is talking about.  Also, on desktop, we can't do more than 
guess at a problem without code:


https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report

Thanks,
Steve

On 2014-01-28 3:15 PM, David Grieve wrote:

https://javafx-jira.kenai.com/browse/RT-30479 is probably the issue you are 
bumping up against.

On Jan 28, 2014, at 2:29 PM, Christoph Caks cc...@bestsolution.at wrote:


Hi,
I have a question regarding regions on android

it seems that all regions with a set background have some kind of white box 
inside
(in this case it is gray - its color has to do something with the background 
(in this case its aqua)
look at the attached screenshot

it is a very simple application with just one region

anybody experienced the same behaviour - or has a workaround for this issue?


I'm using these instructions to get a build:

https://bitbucket.org/javafxports/android/wiki/Home


greetings Christoph





Re: JavaFX on Android build (instructions)

2013-12-02 Thread Sebastian Rheinnecker

Hi again,

I just wanted to let you know that I solved the issue with the max 
method references in the dex files with using multiple dex files. To 
accomplish this I patched the classes FXActivity and DalvikLauncher to 
dynamically load the second dex file and its classes. I also patched the 
build process so that any application jar can be used for this. If 
anyone runs into the same issue, just contact me.


Kind regards,
Sebastian Rheinnecker

Am 26.11.2013 14:27, schrieb Sebastian Rheinnecker:

Hi,

I used your instructions with some tweaks to build a JavaFX 
application for android on Windows. However, it turns out that 
Android's dex format is putting a spoke into our wheel with the 65k 
method reference limit. The JavaFX runtime itself already contains 51k 
method references and because of that I was not yet able to bring our 
full application showcase to android.
So if some android expert could contribute to the project by showing 
how to use multiple dex files, one containing the javafx runtime and 
one for the application, that would be great. Any help on the mailing 
list is appreciated as well.


Kind regards,
Sebastian Rheinnecker

Am 16.11.2013 19:53, schrieb Johan Vos:

Hi,

Since I (and others) think it is very important that we can have
JavaFX applications running on Android (and IOS, but in this mail I
limit myself to Android), I created a bitbucket project containing
code and build instructions to run JavaFX applications on Android.

I didn't do much myself. Rather, this project is about providing easy
and consistent build instructions. I combined information from this
mailinglist with information I could find online, and with help from
the JavaFX team.

The project is here: https://bitbucket.org/johanvos/jfx78

After I gathered the information, it didn't cost me much time to get
HelloWorld running on my Samsung S3 mini. I never wrote an Android
project before, and I never used the Android SDK or NDK before I
started with this thing almost a week ago. Hence, it is not that hard
to create a JavaFX application on Android.

This project is far from finished. There are a number of things that
have to be done:
* Improve build instructions
* Simplify build
* Fix bugs (e.g. touch-events are not processed yet)
* Manage the synchronization with the main JavaFX repo
* create plugins for IDE's or maven to automatically build the 
Android packages


I want to open this project at this early stage, though, since I think
it is important to have more community input. Also, I want to give a
shout to the world that JavaFX on Android is not a dream.

I hope many of you try out the instructions, improve them, correct
them, and test your applications on Android.

Thanks a lot to all the people on this mailinglist for telling how
they were dealing with JavaFX on Android. Again, I didn't write much
code, but rather tried to combine the information and make it useful
for everybody.

I know there is an intense debate about the role of Oracle on the
Android (and IOS) ports. Let me close with a similar situation. About
17 years ago (sigh, time flies), I was involved with the port of Java
to Linux, as part of the Blackdown team. Initially, we didn't get much
help from Sun Microsystems (it was even not easy to get the latest
code). But once we showed that we could run the thing on Linux, and
that many developers were interested in it, Sun started to add
resources on this as well. Eventually, we became obsolete. I hope to
reach the obsolete stage on this project as well.

Again, the project can be found 
here:https://bitbucket.org/johanvos/jfx78


- Johan






--
Sebastian Rheinnecker
phone: +49 7071 9709050
fax: +49 7071 9709051

yWorks GmbH
Vor dem Kreuzberg 28
72070 Tuebingen
Germany
http://www.yworks.com
Managing Directors: Sebastian Müller, Michael Pfahler
Commercial Registry: Stuttgart, Germany, HRB 382340



Re: JavaFX on Android build (instructions)

2013-12-02 Thread tomas.brandalik

Hi Sebastian,
please would you send the patch to me?

thank you in advance
-Tomas

On 12/02/2013 09:55 AM, Sebastian Rheinnecker wrote:

Hi again,

I just wanted to let you know that I solved the issue with the max 
method references in the dex files with using multiple dex files. To 
accomplish this I patched the classes FXActivity and DalvikLauncher to 
dynamically load the second dex file and its classes. I also patched 
the build process so that any application jar can be used for this. If 
anyone runs into the same issue, just contact me.


Kind regards,
Sebastian Rheinnecker

Am 26.11.2013 14:27, schrieb Sebastian Rheinnecker:

Hi,

I used your instructions with some tweaks to build a JavaFX 
application for android on Windows. However, it turns out that 
Android's dex format is putting a spoke into our wheel with the 65k 
method reference limit. The JavaFX runtime itself already contains 
51k method references and because of that I was not yet able to bring 
our full application showcase to android.
So if some android expert could contribute to the project by showing 
how to use multiple dex files, one containing the javafx runtime and 
one for the application, that would be great. Any help on the mailing 
list is appreciated as well.


Kind regards,
Sebastian Rheinnecker

Am 16.11.2013 19:53, schrieb Johan Vos:

Hi,

Since I (and others) think it is very important that we can have
JavaFX applications running on Android (and IOS, but in this mail I
limit myself to Android), I created a bitbucket project containing
code and build instructions to run JavaFX applications on Android.

I didn't do much myself. Rather, this project is about providing easy
and consistent build instructions. I combined information from this
mailinglist with information I could find online, and with help from
the JavaFX team.

The project is here: https://bitbucket.org/johanvos/jfx78

After I gathered the information, it didn't cost me much time to get
HelloWorld running on my Samsung S3 mini. I never wrote an Android
project before, and I never used the Android SDK or NDK before I
started with this thing almost a week ago. Hence, it is not that hard
to create a JavaFX application on Android.

This project is far from finished. There are a number of things that
have to be done:
* Improve build instructions
* Simplify build
* Fix bugs (e.g. touch-events are not processed yet)
* Manage the synchronization with the main JavaFX repo
* create plugins for IDE's or maven to automatically build the 
Android packages


I want to open this project at this early stage, though, since I think
it is important to have more community input. Also, I want to give a
shout to the world that JavaFX on Android is not a dream.

I hope many of you try out the instructions, improve them, correct
them, and test your applications on Android.

Thanks a lot to all the people on this mailinglist for telling how
they were dealing with JavaFX on Android. Again, I didn't write much
code, but rather tried to combine the information and make it useful
for everybody.

I know there is an intense debate about the role of Oracle on the
Android (and IOS) ports. Let me close with a similar situation. About
17 years ago (sigh, time flies), I was involved with the port of Java
to Linux, as part of the Blackdown team. Initially, we didn't get much
help from Sun Microsystems (it was even not easy to get the latest
code). But once we showed that we could run the thing on Linux, and
that many developers were interested in it, Sun started to add
resources on this as well. Eventually, we became obsolete. I hope to
reach the obsolete stage on this project as well.

Again, the project can be found 
here:https://bitbucket.org/johanvos/jfx78


- Johan










Re: JavaFX on Android build (instructions)

2013-12-02 Thread Sebastian Rheinnecker

Hello Tomas,

I attached the patch for the FXActivity and DalvikLauncher classes. To 
make this work, you need to patch the build process for the created 
projects as well. I couldn't find where this is done in the repo, so I 
did this manually every time :-), this is also the reason why it isn't 
included in the patch file. This is not optimized so there is still a 
hardcoded reference to the application jar in here, perhaps you can 
generalize this:


custom_rules.xml:
target init-env:
  add  property name=app.lib.dir value=app-libs /

target install-application:
change to
target name=-install-application unless=app.uptodate
mkdir dir=${app.lib.dir}/
copy todir=${app.lib.dir}
fileset dir=${jfx.app.dist.dir} includes=*.jar/
/copy
/target


build-extras.xml:
add
property name=output-dex-file 
value=${out.absolute.dir}/app_dex/${dex.file.name}/

mkdir dir=${out.absolute.dir}/app_dex/
exec executable=${dx} failonerror=true
arg value=--dex /
arg value=-JXmx2048m /
arg value=--output=${output-dex-file} /
extra-parameters /
arg line=${verbose.option} /
arg line=${nolocals.option} /
arg path=${out.dex.input.absolute.dir} /
arg line=${app.lib.dir}/MyApplication.jar/
external-libs /
/exec
jar destfile=${asset.absolute.dir}/Application_dex.jar
   basedir=${out.absolute.dir}/app_dex
   includes=${dex.file.name} /

right after the first exec executable=${dx}  /

I hope I didn't forget anything.

Kind regards,
Sebastian

Am 02.12.2013 10:27, schrieb tomas.brandalik:

Hi Sebastian,
please would you send the patch to me?

thank you in advance
-Tomas

On 12/02/2013 09:55 AM, Sebastian Rheinnecker wrote:

Hi again,

I just wanted to let you know that I solved the issue with the max 
method references in the dex files with using multiple dex files. To 
accomplish this I patched the classes FXActivity and DalvikLauncher 
to dynamically load the second dex file and its classes. I also 
patched the build process so that any application jar can be used for 
this. If anyone runs into the same issue, just contact me.


Kind regards,
Sebastian Rheinnecker

Am 26.11.2013 14:27, schrieb Sebastian Rheinnecker:

Hi,

I used your instructions with some tweaks to build a JavaFX 
application for android on Windows. However, it turns out that 
Android's dex format is putting a spoke into our wheel with the 65k 
method reference limit. The JavaFX runtime itself already contains 
51k method references and because of that I was not yet able to 
bring our full application showcase to android.
So if some android expert could contribute to the project by showing 
how to use multiple dex files, one containing the javafx runtime and 
one for the application, that would be great. Any help on the 
mailing list is appreciated as well.


Kind regards,
Sebastian Rheinnecker

Am 16.11.2013 19:53, schrieb Johan Vos:

Hi,

Since I (and others) think it is very important that we can have
JavaFX applications running on Android (and IOS, but in this mail I
limit myself to Android), I created a bitbucket project containing
code and build instructions to run JavaFX applications on Android.

I didn't do much myself. Rather, this project is about providing easy
and consistent build instructions. I combined information from this
mailinglist with information I could find online, and with help from
the JavaFX team.

The project is here: https://bitbucket.org/johanvos/jfx78

After I gathered the information, it didn't cost me much time to get
HelloWorld running on my Samsung S3 mini. I never wrote an Android
project before, and I never used the Android SDK or NDK before I
started with this thing almost a week ago. Hence, it is not that hard
to create a JavaFX application on Android.

This project is far from finished. There are a number of things that
have to be done:
* Improve build instructions
* Simplify build
* Fix bugs (e.g. touch-events are not processed yet)
* Manage the synchronization with the main JavaFX repo
* create plugins for IDE's or maven to automatically build the 
Android packages


I want to open this project at this early stage, though, since I think
it is important to have more community input. Also, I want to give a
shout to the world that JavaFX on Android is not a dream.

I hope many of you try out the instructions, improve them, correct
them, and test your applications on Android.

Thanks a lot to all the people on this mailinglist for telling how
they were dealing with JavaFX on Android. Again, I didn't write much
code, but rather tried to combine the information and make it useful
for everybody.

I know there is an intense debate about the role of Oracle on the
Android (and IOS) ports. Let me close with a similar situation. About
17 years ago (sigh, time 

Re: JavaFX on Android build (instructions)

2013-11-30 Thread Yennick Trevels
Thanks Johan for gathering this information!
I just tried to run my simple JavaFx application on Android with your build 
instructions, and I got it build and deployed rather easily. When trying to run 
it the UI appeared (albeit rather distorted), but when touching the app it 
crashed, I guess because of the know touch issues.
Also, my app was using Google Guice, which gave me some reflection errors when 
trying the run it on the device (it crashed upon startup). So I swapped Guice 
with RoboGuice and it worked (for as far as I could test it). So for anyone who 
wants some dependency injection in their JavaFx Android app, try out RoboGuice 
as it seems to work. 

Greetz,
Yennick

On 26/11/2013 14:29:50, Sebastian Rheinnecker 
sebastian.rheinnec...@yworks.com wrote:
Hi,

I used your instructions with some tweaks to build a JavaFX application
for android on Windows. However, it turns out that Android's dex format
is putting a spoke into our wheel with the 65k method reference limit.
The JavaFX runtime itself already contains 51k method references and
because of that I was not yet able to bring our full application
showcase to android.
So if some android expert could contribute to the project by showing how
to use multiple dex files, one containing the javafx runtime and one for
the application, that would be great. Any help on the mailing list is
appreciated as well.

Kind regards,
Sebastian Rheinnecker

Am 16.11.2013 19:53, schrieb Johan Vos:
 Hi,

 Since I (and others) think it is very important that we can have
 JavaFX applications running on Android (and IOS, but in this mail I
 limit myself to Android), I created a bitbucket project containing
 code and build instructions to run JavaFX applications on Android.

 I didn't do much myself. Rather, this project is about providing easy
 and consistent build instructions. I combined information from this
 mailinglist with information I could find online, and with help from
 the JavaFX team.

 The project is here: https://bitbucket.org/johanvos/jfx78

 After I gathered the information, it didn't cost me much time to get
 HelloWorld running on my Samsung S3 mini. I never wrote an Android
 project before, and I never used the Android SDK or NDK before I
 started with this thing almost a week ago. Hence, it is not that hard
 to create a JavaFX application on Android.

 This project is far from finished. There are a number of things that
 have to be done:
 * Improve build instructions
 * Simplify build
 * Fix bugs (e.g. touch-events are not processed yet)
 * Manage the synchronization with the main JavaFX repo
 * create plugins for IDE's or maven to automatically build the Android 
 packages

 I want to open this project at this early stage, though, since I think
 it is important to have more community input. Also, I want to give a
 shout to the world that JavaFX on Android is not a dream.

 I hope many of you try out the instructions, improve them, correct
 them, and test your applications on Android.

 Thanks a lot to all the people on this mailinglist for telling how
 they were dealing with JavaFX on Android. Again, I didn't write much
 code, but rather tried to combine the information and make it useful
 for everybody.

 I know there is an intense debate about the role of Oracle on the
 Android (and IOS) ports. Let me close with a similar situation. About
 17 years ago (sigh, time flies), I was involved with the port of Java
 to Linux, as part of the Blackdown team. Initially, we didn't get much
 help from Sun Microsystems (it was even not easy to get the latest
 code). But once we showed that we could run the thing on Linux, and
 that many developers were interested in it, Sun started to add
 resources on this as well. Eventually, we became obsolete. I hope to
 reach the obsolete stage on this project as well.

 Again, the project can be found here:https://bitbucket.org/johanvos/jfx78

 - Johan


--
Sebastian Rheinnecker
phone: +49 7071 9709050
fax: +49 7071 9709051

yWorks GmbH
Vor dem Kreuzberg 28
72070 Tuebingen
Germany
http://www.yworks.com
Managing Directors: Sebastian Müller, Michael Pfahler
Commercial Registry: Stuttgart, Germany, HRB 382340



Re: JavaFX on Android build (instructions)

2013-11-26 Thread Sebastian Rheinnecker

Hi,

I used your instructions with some tweaks to build a JavaFX application 
for android on Windows. However, it turns out that Android's dex format 
is putting a spoke into our wheel with the 65k method reference limit. 
The JavaFX runtime itself already contains 51k method references and 
because of that I was not yet able to bring our full application 
showcase to android.
So if some android expert could contribute to the project by showing how 
to use multiple dex files, one containing the javafx runtime and one for 
the application, that would be great. Any help on the mailing list is 
appreciated as well.


Kind regards,
Sebastian Rheinnecker

Am 16.11.2013 19:53, schrieb Johan Vos:

Hi,

Since I (and others) think it is very important that we can have
JavaFX applications running on Android (and IOS, but in this mail I
limit myself to Android), I created a bitbucket project containing
code and build instructions to run JavaFX applications on Android.

I didn't do much myself. Rather, this project is about providing easy
and consistent build instructions. I combined information from this
mailinglist with information I could find online, and with help from
the JavaFX team.

The project is here: https://bitbucket.org/johanvos/jfx78

After I gathered the information, it didn't cost me much time to get
HelloWorld running on my Samsung S3 mini. I never wrote an Android
project before, and I never used the Android SDK or NDK before I
started with this thing almost a week ago. Hence, it is not that hard
to create a JavaFX application on Android.

This project is far from finished. There are a number of things that
have to be done:
* Improve build instructions
* Simplify build
* Fix bugs (e.g. touch-events are not processed yet)
* Manage the synchronization with the main JavaFX repo
* create plugins for IDE's or maven to automatically build the Android packages

I want to open this project at this early stage, though, since I think
it is important to have more community input. Also, I want to give a
shout to the world that JavaFX on Android is not a dream.

I hope many of you try out the instructions, improve them, correct
them, and test your applications on Android.

Thanks a lot to all the people on this mailinglist for telling how
they were dealing with JavaFX on Android. Again, I didn't write much
code, but rather tried to combine the information and make it useful
for everybody.

I know there is an intense debate about the role of Oracle on the
Android (and IOS) ports. Let me close with a similar situation. About
17 years ago (sigh, time flies), I was involved with the port of Java
to Linux, as part of the Blackdown team. Initially, we didn't get much
help from Sun Microsystems (it was even not easy to get the latest
code). But once we showed that we could run the thing on Linux, and
that many developers were interested in it, Sun started to add
resources on this as well. Eventually, we became obsolete. I hope to
reach the obsolete stage on this project as well.

Again, the project can be found here:https://bitbucket.org/johanvos/jfx78

- Johan



--
Sebastian Rheinnecker
phone: +49 7071 9709050
fax: +49 7071 9709051

yWorks GmbH
Vor dem Kreuzberg 28
72070 Tuebingen
Germany
http://www.yworks.com
Managing Directors: Sebastian Müller, Michael Pfahler
Commercial Registry: Stuttgart, Germany, HRB 382340



Re: JAVAFX on ANDROID

2013-10-21 Thread Richard Bair
 1. Is that mouse emulation supposed to be eliminated due to the latest 
 lensWindow changes? 
   I believe that must be handled in higher layers not in the input layer 
 itself.
 
 2. What is the best way to fix this issue? Reimplementing the mouse emulation 
 is not a real good solution.

JavaFX expects to get both Mouse and Touch events when you have a touch screen. 
However I believe multi-touch events are not delivered as mouse events 
(somebody on the embedded side correct me if I'm wrong on that). So an app that 
was designed with mouse events in mind should continue to work when a touch 
screen is provided.

 3. The Listview shows a scrollbar. That makes me believe that the control 
 doesn't really know that it is running
 in embedded mode. Maybe the mouse emulation is not possible if the embedded 
 mode is correcly enabled.
 Where do I enable the embedded mode? I though it is this property 
 android.com.sun.javafx.isEmbedded=true. That's of course enabled
 in javafx.platform.properties.

There's some bit of mess here where some places are explicitly checking iOS etc 
to hide/show stuff instead of just embedded. Jonathan do you remember all the 
places to check?

Richard

Re: JAVAFX on ANDROID

2013-10-18 Thread Matthias Hänel
Hi Tomas,


I am currently running a bit different openjfx than yours and got it kind of 
running.

1. the main difference is font deactivation. You disabled the entire CSS 
renderer, which I did not.
I am deactivating just the font renderer. That means a lot more patching but it 
gives me the chance
to see CSS rendering taking place ;) It works pretty well even without fonts 
(hard coded font sizes).

2. I probably found the touch handling crash. Since I have an old Samusung 
Galaxy Tab 10.1 here 
I can assure this bug effects the device as well. It's the Platform.runLater 
bugfix. This is also quite
stable and makes it possible to play Brickbreaker ;)

3. I had to disable the new security stuff in GlassStage and GlassScene.


further testing:
 
Tobi, gave me his iOS/JavaFX testing tool that just displays a colored ListView 
and while it scrolls
the rendering process writes fps to stdout. This tool compiles and runs but it 
does nothing while touching.
The reason is probably that some javafx controls are still using mouse 
emulation.
I see in the iOS port that the events are fired twice at first as touch events 
and then
as mouse events. It looks like the latest change for multitouch events dropped 
the dual event 
sending. I tried to patch android.c like this:


JNIEXPORT void JNICALL 
Java_com_oracle_dalvik_FXActivity_00024InternalSurfaceView_onMultiTouchEventNative
  (JNIEnv *env, jobject jview, jint jpcount, jintArray jactions, jintArray jids,
jintArray jtouchXs, jintArray jtouchYs) {
...
(*_notifyMultiTouchEvent)(jpcount, actions, ids, touchXs, touchYs);

if( jpcount == 1
 (actions[0]==com_sun_glass_events_TouchEvent_TOUCH_PRESSED || 
actions[0]==com_sun_glass_events_TouchEvent_TOUCH_RELEASED) )
{
int pressed = 0;
if (actions[0] == com_sun_glass_events_TouchEvent_TOUCH_PRESSED)
pressed = com_sun_glass_events_MouseEvent_DOWN;
else
if (actions[0] == com_sun_glass_events_TouchEvent_TOUCH_RELEASED)
pressed = com_sun_glass_events_MouseEvent_UP;

LOGV(TAG, emulate button click event - UM hacked pressed:%i x:%i 
y:%i\n, pressed, touchXs[0], touchYs[0] );
(*_notifyButtonEvent)(pressed,
  com_sun_glass_events_MouseEvent_BUTTON_LEFT,
  touchXs[0], touchYs[0]);
}
...
}


Unfortunately, it doesn't work as expected.


I have some questions:

1. Is that mouse emulation supposed to be eliminated due to the latest 
lensWindow changes? 
   I believe that must be handled in higher layers not in the input layer 
itself.

2. What is the best way to fix this issue? Reimplementing the mouse emulation 
is not a real good solution.

3. The Listview shows a scrollbar. That makes me believe that the control 
doesn't really know that it is running
in embedded mode. Maybe the mouse emulation is not possible if the embedded 
mode is correcly enabled.
Where do I enable the embedded mode? I though it is this property 
android.com.sun.javafx.isEmbedded=true. That's of course enabled
in javafx.platform.properties.

4. What is the input layer for the Dukepad? I think it's the udev 
implementation and this does pretty much the same as the current 
android implementation. I just want to have a stable reference to look at ;)

Probably those questions are not only for Tomas since they are pretty general.


regards
Matthias

Re: JAVAFX on ANDROID

2013-10-18 Thread Matthias Hänel

Am 17.10.2013 um 17:45 schrieb Richard Bair richard.b...@oracle.com:

 Usually, file jira and attach a patch (and a unit test for expedited service 
 :-))
 
 Richard


Ok, I'll check that for the future. Actually, I am not sure how a unit test 
would look
like for a crash fix like that ;)

Matthias

Re: JAVAFX on ANDROID

2013-10-17 Thread Matthias Hänel
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

2013-10-17 Thread Matthias Hänel
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: JAVAFX on ANDROID

2013-10-16 Thread Matthias Hänel
Hi Tomas,


thanks for your patch.
Your way doesn't seem to be so different to the jfx78 approach except the 
retro-stuff ;)
In the meanwhile I am pretty sure, this will not be entirely needed since 
DAVLIK can run java7 
class code. 

Nevertheless, I tried your patch... 
Patching works. After adapting some files and putting the correct pathes in the 
configuration
I got the gradle script working. Unfortunatly, I used the tip of openjfx8. That 
means there 
is a lot of new stuff e.g. usage of Function.java that's required from jdk8. 
Which tag did you use?
B111 or are you on the cutting edge at tip? I'll try B111 from master hopefully 
this new stuff 
isn't in there ;)
It looks like porting Function.java back to java7 is not so easy.


regards
Matthias


Am 15.10.2013 um 15:52 schrieb tomas.brandalik tomas.branda...@oracle.com:

 Hi Matthias,
 you are right when I build for dalvik I build with a flag DALVIK_VM.
 Pls be careful when building changes in native code you have to do clean 
 build. There is still an issue in jfx gradle script.
 I create my build differently. I start with openjfx patch it to be jdk7 
 compatible then use retrolambda to replace class file versions to jdk6.
 If you want give it a try use attached patch and do following:
 clone openjfx
 cd rt
 patch -p1  fix_jdk7_compat.patch
 edit android-build.sh with your paths
 android-build.sh retrojfxrt
 
 iI will build dalvik compatible jfxrt6.jar
 
 -Tomas
 
 On 10/15/2013 03:07 PM, Matthias Hänel wrote:
 Hi Tomas,
 
 
 I couldn't stand to merge it by hand ;) I merged the changes from RT-32802 
 into my backport.
 
 Unfortunately, it still crashes:
 
 10-15 08:59:47.182: INFO/GLASS(3644): JNI call notifyTouchEvent
 10-15 08:59:47.202: INFO/GLASS(3644): Window 1[0x2a41a138] isVisible=true, 
 state=NORMAL
 10-15 08:59:47.202: INFO/GLASS(3644): Absolute coordinates 542,414 are on 
 window 1[0x2a41a138] as relative coordinates 670,292
 10-15 08:59:47.202: INFO/GLASS(3644): Returning focused window 1[0x2a41a138]
 10-15 08:59:47.202: ERROR/dalvikvm(3644): ERROR: detaching thread with 
 interp frames (count=42)
 10-15 08:59:47.213: INFO/dalvikvm(3644): main prio=5 tid=1 RUNNABLE
 10-15 08:59:47.213: INFO/dalvikvm(3644): | group=main sCount=0 dsCount=0 
 obj=0x414c5578 self=0x2a00d090
 10-15 08:59:47.222: INFO/dalvikvm(3644): | sysTid=3644 nice=0 sched=0/0 
 cgrp=apps handle=1073811452
 10-15 08:59:47.222: INFO/dalvikvm(3644): | state=R schedstat=( 6545290672 
 1534059118 8044 ) utm=610 stm=44 core=0
 10-15 08:59:47.252: INFO/dalvikvm(3644): at 
 com.oracle.dalvik.FXActivity$InternalSurfaceView.onMultiTouchEventNative(Native
  Method)
 10-15 08:59:47.252: INFO/dalvikvm(3644): at 
 com.oracle.dalvik.FXActivity$InternalSurfaceView.dispatchTouchEvent(FXActivity.java:234)
 
 Do you have any idea?
 The error ERROR: detaching thread with interp frames (count=42) seems to 
 be a thread attach/detach mistake
 in the code. In androidLens.c there is some ATTACH_JNI_THREAD and 
 DTACH_JNI_THREAD code.
 There are two implementations. One that's filled with (*vm)- and the other 
 one is left blank.
 Currently, the macro DALVI_VM is not defined, so the code is filled. This 
 seems to be odd to me.
 Actually, I tried defining DAVLIK_VM but it doesn't help. It still crashes 
 with the sme error.
 
 
 regards
 Matthais
 
  
 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 

Re: JAVAFX on ANDROID

2013-10-15 Thread Matthias Hänel
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: WARN/System.err(1546): at 
 com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:418)
 10-14 06:06:49.709: WARN/System.err(1546): at 
 com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:351)
 10-14 06:06:49.709: WARN/System.err(1546): at 
 com.sun.prism.impl.BaseContext.validateClearOp(BaseContext.java:116)
 10-14 06:06:49.709: WARN/System.err(1546): at 
 com.sun.prism.es2.ES2Graphics.clear(ES2Graphics.java:78)
 

Re: JAVAFX on ANDROID

2013-10-15 Thread Philipp Dörfler
I might be a bit late to the party but I lately discovered something that might 
be useful for backporting JavaFX 8 to Java 6:

 Retrolambda lets you run Java 8 code with lambda expressions on Java 7 or 
 lower. It does this by transforming your Java 8 compiled bytecode so that it 
 can run on a Java 7 runtime. After the transformation they are just a bunch 
 of normal .class files, without adding any runtime dependencies.

https://github.com/orfjackal/retrolambda

Hope this helps,
Philipp Dörfler

Re: JAVAFX on ANDROID

2013-10-15 Thread tomas.brandalik
I would recommend to build pango by hand first. I don't think that it is 
so straightforward. It has many dependencies iconv, expat, fontconfig, 
freetype, glib at least. After a whole day of struggling my pango build 
failed somewhere in the middle at who-knows-where-it-comes-from macro :(


-wish you more luck
Tomas

On 10/15/2013 09:07 AM, Matthias Hänel wrote:

Hi Felipe,


thanks for your fast answer.

Unfortunately, this is not enough information for a sufficient solution ;)
Maybe I am too far from gradle away in my thinking (Makefiles) to understand 
this one fully.
  


I know where the sources are and I am pretty sure I can build a library by 
hand. Actually, I added
to the android gradle script the Linux fontpango parts and the pkg-config tool.

I assume that the default linux gradle script looks for the pango libs in 
/usr/share ...
(default paths). Now we are in a cross platform enviornment for Android. At 
least I have to call
./configure with the android toolchain. That should not be hard to do.

What I don't know is, how do I add this to the gradle script?
I see the pkg-config in crosslibs but that relies on the assumption that pango 
resides
somewhere in ${SYSROOT}.

Well, I probably could build pango (haven't tried yet) for android and put it 
in the NDK,
from my point of view, that wouldn't work later at run time. The .so must be 
linked and
delivered with the App. Maybe someone can enlighten me how I can integrate a 
third party
library build into the gradle universe ;)


regards
Matthias



Am 14.10.2013 um 17:45 schrieb Felipe Heidrich felipe.heidr...@oracle.com:


Hi, I'm not familiar with the Android build process but basically this is what 
you need:

Build graphics/src/main/native-font/fontpath_linux.c to a library called 
javafx_font, that it will be loaded by PrismFontFactory.java (but used by 
FontConfigManager.java).
This is our fontconfig binding used to locate fonts. All references to 
fontconfig in the native code are dynamic, so you should only need the JNI 
references while building this object.


Build
graphics/src/main/native-font/freetype.c
and
graphics/src/main/native-font/pango.c
To a library named javafx-font-pango

The cc flags to build them are pkg-config --cflags pangoft2 + 
-D_ENABLE_PANGO, the lib flags are pkg-config --libs pangoft2
(see rt/buildSrc/linux.gradle, search pangoCCFlags and pangoLinkFlags).

This library will be used by 
graphics/src/main/java/com/sun/javafx/font/pango/OS.java

During runtime you will need to explicitly set -Dprism.text=native so that 
PangoFactory.java is used (instead of T2KFactory.java).

Note: if that is too hard to build pango.o I suppose you could link 
javafx-font-pango.so only with freetype.o, you should not see any unsatisfied 
link exception as long as PangoFactory.createGlyphLayout is not called.

Setting -Dprism.debugfonts=true should help to see what is getting loaded, 
-Djavafx.verbose=true prints what library as being loaded by JFX.

Regards,
Felipe


On Oct 13, 2013, at 11:49 PM, Matthias Hänel hae...@ultramixer.com wrote:


Is there a fallback? Pango doesn't work either it's not used in the android 
gradle scripts.
I would be happy to integrate it and I am sure I can compile pango for android. 
I just need a pointer to how I can integrate it into the build process.
I changed android.gradle but I am not sure where to put the pango sources.




Re: JAVAFX on ANDROID

2013-10-14 Thread Tobi
I absolutely agree. The point is: nobody can expect from oracle to build such a 
vm. But if they won't do it, JavaFX will die. Even in the embedded space where 
companies will use QT or HTML5 instead. Without license fees So to sell 
JavaFX for embedded devices oracle MUST support mobile platforms via VM too. 

Von meinem iPhone gesendet

 Am 14.10.2013 um 07:09 schrieb Tom Eugelink t...@tbee.org:
 
 
 On 2013-10-14 01:06, Rafal wrote:
 If you honestly encourage community to make a such big effort as developing, 
 adjusting and maintaining JVMs on the two leading mobile platforms, you 
 don't have any plans that Oracle VM on android will be released in the next 
 2 years. :/
 Otherwise, if Oracle announce own VM, then all this community's effort be 
 for nothing and pointless.
 
 Open source done in the spare time by people with a full time job usually 
 never grows much bigger than a nice but not too complex library; layout 
 engines, testing frameworks, a web framework, that kind of stuff. Because as 
 a project grows in size and complexity, so do the (number of) issues and the 
 time required to provide support. That usually is the point where either a 
 company is started (projects like Maven and Gradle) or the project gets 
 corporate funding usually by that a corporation allows some developers to 
 spent worktime on it (Apache, Eclipse, and Java  JavaFX is getting there).
 
 A full fledged port of a JVM to a mobile platform cannot be carried in spare 
 time, it can be showcased (which it has), but to make it production worthy 
 one or more corporations needs to put their weight behind it.
 
 My 2 cents,
 
 Tom
 


Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hey Tom,


thanks for you answer.

while the OSX font stuff is there and Orcale's goal is to use the native font 
renderer on each platform.
I am sure there must be some kind of an Android font renderer in the code. I 
couldn't find one until now.

Another question: Since I ported you latest jfx78 to Java6 it's now jfx678 ;) 
What would be the best
way to contribute the port? Do you think it's good to contribute it to jfx78 or 
to have a separate
jfx68 branch?


regards
Matthias



Am 11.10.2013 um 18:22 schrieb Tom Schindl tom.schi...@bestsolution.at:

 On 11.10.13 18:10, Matthias Hänel wrote:
 Hi Tomas,
 
 
 today, I took the time to investigate a little more time on this. 
 
 1. I build an entirely new openjfx78 build for android
 2. starting this gave me several errors that lead me to the 
 conclusion that I need a java6 openjfx
 3. based on openjfx78 I ported it back to java6 (adapted gradled scripts, 
 and tons of java source code)
 4. Now it's almost running on an 18th android. All libraries are firing up 
 until the CssStyleHelper 
 is called with a static call to createStyleHelper.
 
 That looks like the font stuff is not in jfx78. That's why new Font 
 returns with null and therefore
 
 On OS-X font stuff is definately there in jfx78, but the low-level font
 stuff is loaded using reflection (at least this was the cause on robovm)!
 
 Tom



Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hi Richard,


thanks for your fast answer.


Am 11.10.2013 um 18:53 schrieb Richard Bair richard.b...@oracle.com:

 As frustrating as it is, the fact is that today Oracle has no announced plans 
 to release any official JVM for Android and iOS. That being the case, the 
 biggest hurdle to getting FX on iOS and Android is the VM. On the iOS side 
 there has been some success with RoboVM. On Android you can just use Dalvik 
 if you back port to Java 6, or you have to find another VM (XMLVM maybe?? 
 Anybody convince Excelsior to support Android?) that can do the job.

The main point of irritation comes from an quite unclear position about 
providing the JVM and JFX of the Java-platform. 
That's why I will sumarize what I heard between the lines:

1. there is NO official jvm planned for iOS and Android in the near future.
2. jfx8 is beeing officially maintained until some point for iOS and Android 
but the actual port is left to the open source community.
3. Linux ARM support is beeing focused officially on the Freescale ARM-platform.

our conclusion is:
1. that's not that bad anymore since we have RoboVM for iOS and Davlik on 
Android.
2. this statement should have been made 1 year ago. Probably, I missed it but 
it was not clear to my team as well until last week.
   That's why we took the challenge to do it our selves.
3. This is good for the open source development since we probably can rely on 
the CPU optimized parts for ARM.



 There are two parts the problem of a VM. One is the VM technology itself, 
 which is probably the lesser of the two issues because there are a handful of 
 decent VMs around (if you include Dalvik, you've already got one on Android). 
 The second problem are the class libraries. Generally JavaFX doesn't rely on 
 too much from JavaSE beyond what is in the base module; threading and 
 collections and concurrency and so forth. However we are using the diamond 
 operator and in a few places we might use multi-catch (although I don't know 
 of such places myself) and definitely we use default methods in interfaces in 
 one location (ObservableList). Generally we've tried to make it easy to back 
 port to 7, but haven't tried to keep 6 up to date. I would be very interested 
 in the list of code changes Matthias had to make to better understand the 
 situation.


Yes, mainly it was the multi-catch stuff and the diamonds and some default 
methods. It's still enough to maintain ;)


 As far as fonts (from Matthias' email) I believe the Android port currently 
 uses T2K but Felipe and Tomas were talking about using the new Font support 
 which would delegate directly to Android APIs. This might be one area that 
 Matthias' and Felipe and Tomas can work closely on to get a contribution to 
 make this happen!

I have seen T2K in the ARM-Linux port but it's not in the sources since it's 
one of the libraries that are still in the closed parts of OpenJFX.

Is there a fallback? Pango doesn't work either it's not used in the android 
gradle scripts. 
I would be happy to integrate it and I am sure I can compile pango for android. 
I just need a pointer to how I can integrate it into the build process.
I changed android.gradle but I am not sure where to put the pango sources.



 How much time do you think it would take community designers to develop this?
 
 RoboVM for iOS I think is basically at this stage, where they've got 
 something up and running to the point of being able to do performance 
 analysis and looking for bugs. It has been a several month process with stops 
 and starts. Tom and the others working on RoboVM might be able to give a 
 better estimate.
 
 Does it support swing and javafx or just javafx like the Pi port? What parts 
 of java8 don't work on your standalone VM?
 
 I couldn't tell you what does / doesn't work on the standalone VM as that 
 would break all kinds of confidential legal mumbo-jumbo. But I can tell you 
 I've never seen a port of AWT to iOS or Android.




kind regards
Matthias




Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hi Stefan,


thanks for your fast answer.


Am 12.10.2013 um 00:47 schrieb Stefan Fuchs snfu...@gmx.de:

 I think you must |add the flag ||-PCOMPILE_PANGO=true to build the new 
 opensource font stuff.

I am sure that's not that easy ;)
Actually, I tried it but it didn't do anything in the first place.


 If I remember correctly I got a similar error, when I first build jfx78 on 
 linux.
 
 I made some experiments with javafx on android by myself.
 
 I found the following interesting read:
 http://stackoverflow.com/questions/7153989/java-7-language-features-with-android

Well, I didn't use jfx78 vanilla, I used it as a base for the port to java6.
I am quite sure that we need a java6 port on the long run to support davlik 
stable.


 One other problem I hit, when trying to compile a larger application was:
 http://stackoverflow.com/questions/15508477/android-my-application-is-too-large-and-gives-unable-to-execute-dex-method-id

Ok, interessting, I'll take a look at it when I hit the error.


 Apparently there is a limit of ||65536 methods per apk file.
 
 
 Besides, I'm currently two releases behind with the jfx78.
 
 I'll try to catch up soon.

It would be great to read your findings.


kind regards
Matthias





Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hi Felie,


thanks for you fast answer.


Am 12.10.2013 um 01:36 schrieb Felipe Heidrich felipe.heidr...@oracle.com:

 The 'native' font stack for Linux uses Pango (to handle complex text) and 
 freetype (rendering glyph images, outlines, metrics, etc).
 
 As long as we manage to build our freetype code on Android we should be able 
 to have something that works.
 
 As for pango, I heard it is not available on Android, but JavaFX should be 
 able to work without it (except that Arabic, Hebrew, Thai, Indic and other 
 complex scripts won't work).
 For the long run I would like to implement our glyph-layout code based on 
 Harfbuzz, which is would replace pango entirely and is available on Android.

As far as I can see freetype and pango are conntected to each other in the 
linux implementation. It's not yet possible to compile just freetype without
pango and the other way around.

Just an idea. Shouldn't it be possible to have javafx running by default when 
the font renderer is not working?
Most applications don't need a very fancy font renderer, many could rely on any 
software fallback. Don't you think so?


kind regards
Matthias





Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hi Tomas,


thanks for your fast answer.


Am 12.10.2013 um 14:04 schrieb Tomas Brandalik tomas.branda...@oracle.com:

 I think that PlatformLogger initialization in CssHelper was causing problems. 
 I had to write one.

I took the compat library fro robovm. I believe this should be sufficient. But 
the CssStyleHelper was still causing problems.

 Not 100% sure though I will look at it when I'm back in the office. (Or you 
 can comment out css processing in the node.) I was able to run without font 
 then.

Commenting out Css processing in the node is a good I idea which I tried 
yesterday but the I ran into other errors 
that will be caused by the same reason front is missing.

I would be great, I you could give me a direction for further investigation.


regards
Matthias






Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hey Niklas,


Am 13.10.2013 um 11:49 schrieb Niklas Therning nik...@therning.org:

 For PlatformLogger et al you can probably use the compatibility lib we have
 been using for jfx78+RoboVM: https://github.com/robovm/robovm-jfx78-compat

Hehe, yes I read it in Tobi's blog post that you wrote one that's why this is 
what I did in the first place ;)


regards
Matthias

Re: JAVAFX on ANDROID

2013-10-14 Thread Niklas Therning
I don't think a Java6 backport is necessary. If the jfx78 backport works on
RoboVM it should work on Android (provided that the native stuff is there
of course). The problem is the dx tool which doesn't accept Java7 .class
files, right?

IIUC not much happened to the class file format between Java6 and Java7
(except for invokedynamic and what is need to support it but Java7's javac
never generates invokedynamic ops). The APIs to support try-with-resources
(AutoCloseable) is already in Android and the syntactic sugar added in
Java7 (multi-catch, switch on string, diamond, etc) compiles to Java6
compatible bytecode and uses no new APIs. So it should be easy to make a
tool using ASM or similar which takes the jfx78 jar file and rewrites the
.class files in it to target 1.6 instead of 1.7 and repackage as a new jar.

Just my €0.02. If you want to maintain a backport of the backport :-) then
go for it.


On Mon, Oct 14, 2013 at 8:53 AM, Matthias Hänel hae...@ultramixer.comwrote:

 Hi Stefan,


 thanks for your fast answer.


 Am 12.10.2013 um 00:47 schrieb Stefan Fuchs snfu...@gmx.de:

  I think you must |add the flag ||-PCOMPILE_PANGO=true to build the new
 opensource font stuff.

 I am sure that's not that easy ;)
 Actually, I tried it but it didn't do anything in the first place.


  If I remember correctly I got a similar error, when I first build jfx78
 on linux.
 
  I made some experiments with javafx on android by myself.
 
  I found the following interesting read:
 
 http://stackoverflow.com/questions/7153989/java-7-language-features-with-android

 Well, I didn't use jfx78 vanilla, I used it as a base for the port to
 java6.
 I am quite sure that we need a java6 port on the long run to support
 davlik stable.


  One other problem I hit, when trying to compile a larger application was:
 
 http://stackoverflow.com/questions/15508477/android-my-application-is-too-large-and-gives-unable-to-execute-dex-method-id

 Ok, interessting, I'll take a look at it when I hit the error.


  Apparently there is a limit of ||65536 methods per apk file.
 
 
  Besides, I'm currently two releases behind with the jfx78.
 
  I'll try to catch up soon.

 It would be great to read your findings.


 kind regards
 Matthias






Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
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: WARN/System.err(1546): at 
com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:418)
10-14 06:06:49.709: WARN/System.err(1546): at 
com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:351)
10-14 06:06:49.709: WARN/System.err(1546): at 
com.sun.prism.impl.BaseContext.validateClearOp(BaseContext.java:116)
10-14 06:06:49.709: WARN/System.err(1546): at 
com.sun.prism.es2.ES2Graphics.clear(ES2Graphics.java:78)
10-14 06:06:49.719: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:460)
10-14 06:06:49.719: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:331)
10-14 06:06:49.719: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:88)
10-14 06:06:49.719: WARN/System.err(1546): at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
10-14 06:06:49.729: WARN/System.err(1546): at 
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)
10-14 06:06:49.729: WARN/System.err(1546): at 
com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
10-14 06:06:49.729: WARN/System.err(1546): at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-14 06:06:49.729: WARN/System.err(1546): at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-14 06:06:49.729: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
10-14 06:06:49.729: WARN/System.err(1546): at 
java.lang.Thread.run(Thread.java:841)
10-14 06:06:49.729: WARN/System.err(1546): Caused by: 
java.lang.RuntimeException: Error creating vertex shader
10-14 06:06:49.740: WARN/System.err(1546): at 
com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:132)
10-14 06:06:49.740: WARN/System.err(1546): at 
com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:173)
10-14 06:06:49.740: WARN/System.err(1546): at 
com.sun.prism.es2.ES2ResourceFactory.createShader(ES2ResourceFactory.java:168)
10-14 06:06:49.749: WARN/System.err(1546): at 
com.sun.prism.shader.Texture_Color_Loader.loadShader(Texture_Color_Loader.java:47)
10-14 06:06:49.749: WARN/System.err(1546): ... 19 more
10-14 06:06:49.749: WARN/System.err(1546): java.lang.InternalError: Error 
loading stock shader Texture_Color
10-14 06:06:49.749: WARN/System.err(1546): at 
com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:256)
10-14 06:06:49.759: WARN/System.err(1546): at 
com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:227)
10-14 

Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
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: WARN/System.err(1546): at 
 com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:418)
 10-14 06:06:49.709: WARN/System.err(1546): at 
 com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:351)
 10-14 06:06:49.709: WARN/System.err(1546): at 
 com.sun.prism.impl.BaseContext.validateClearOp(BaseContext.java:116)
 10-14 06:06:49.709: WARN/System.err(1546): at 
 com.sun.prism.es2.ES2Graphics.clear(ES2Graphics.java:78)
 10-14 06:06:49.719: WARN/System.err(1546): at 
 com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:460)
 10-14 06:06:49.719: WARN/System.err(1546): at 
 com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:331)
 10-14 06:06:49.719: WARN/System.err(1546): at 
 com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:88)
 10-14 06:06:49.719: WARN/System.err(1546): at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
 10-14 06:06:49.729: WARN/System.err(1546): at 
 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)
 10-14 06:06:49.729: WARN/System.err(1546): at 
 com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
 10-14 06:06:49.729: WARN/System.err(1546): at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
 10-14 06:06:49.729: WARN/System.err(1546): at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
 10-14 06:06:49.729: WARN/System.err(1546): at 
 com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
 10-14 06:06:49.729: WARN/System.err(1546): at 
 java.lang.Thread.run(Thread.java:841)
 10-14 06:06:49.729: WARN/System.err(1546): Caused by: 
 java.lang.RuntimeException: Error creating vertex shader
 10-14 06:06:49.740: WARN/System.err(1546): at 
 

Re: JAVAFX on ANDROID

2013-10-14 Thread tomas.brandalik

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: WARN/System.err(1546): at 
com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:418)
10-14 06:06:49.709: WARN/System.err(1546): at 
com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:351)
10-14 06:06:49.709: WARN/System.err(1546): at 
com.sun.prism.impl.BaseContext.validateClearOp(BaseContext.java:116)
10-14 06:06:49.709: WARN/System.err(1546): at 
com.sun.prism.es2.ES2Graphics.clear(ES2Graphics.java:78)
10-14 06:06:49.719: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:460)
10-14 06:06:49.719: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:331)
10-14 06:06:49.719: WARN/System.err(1546): at 
com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:88)
10-14 06:06:49.719: WARN/System.err(1546): at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
10-14 06:06:49.729: 

Re: JAVAFX on ANDROID

2013-10-14 Thread Matthias Hänel
Hi Tomas,


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.


well, this is probably not an coinsidence. I have seen your BGRA quirk, but 
this doesn't apply to Android actually.
I fixed it like someone fixed it for iOS:

public boolean isFormatSupported(PixelFormat format) {
GLFactory glFactory = ES2Pipeline.glFactory;
switch (format) {
case BYTE_RGB:
case BYTE_GRAY:
case BYTE_ALPHA:
case MULTI_YCbCr_420:
return true;
case BYTE_BGRA_PRE:
case INT_ARGB_PRE:
if (glFactory.isGL2() || PlatformUtil.isIOS() || 
PlatformUtil.isAndroid()) {


 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.

It would be great, if you could pass the changes to me as well, since I have a 
backport (java6) from a backport(java7) running over here ;)
Otherwise, it could take a while.


 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.


Hhm, this sounds like quite some work. Pango would probably the fastest way to 
do. Do you know
where I have to place it?


regards
Matthias




Re: JAVAFX on ANDROID

2013-10-14 Thread Richard Bair
Hi Matthias,

 The main point of irritation comes from an quite unclear position about 
 providing the JVM and JFX of the Java-platform. 
 That's why I will sumarize what I heard between the lines:
 
 1. there is NO official jvm planned for iOS and Android in the near future.
 2. jfx8 is beeing officially maintained until some point for iOS and Android 
 but the actual port is left to the open source community.
 3. Linux ARM support is beeing focused officially on the Freescale 
 ARM-platform.

That is right.

 our conclusion is:
 1. that's not that bad anymore since we have RoboVM for iOS and Davlik on 
 Android.
 2. this statement should have been made 1 year ago. Probably, I missed it but 
 it was not clear to my team as well until last week.
   That's why we took the challenge to do it our selves.

You rock :-)

 3. This is good for the open source development since we probably can rely on 
 the CPU optimized parts for ARM.

This exactly. All the work we do for embedded translates directly to iOS and 
android, since it is the same hardware and graphics chips.

Cheers
Richard

Re: JAVAFX on ANDROID

2013-10-14 Thread Felipe Heidrich

Hi, I'm not familiar with the Android build process but basically this is what 
you need:

Build graphics/src/main/native-font/fontpath_linux.c to a library called 
javafx_font, that it will be loaded by PrismFontFactory.java (but used by 
FontConfigManager.java).
This is our fontconfig binding used to locate fonts. All references to 
fontconfig in the native code are dynamic, so you should only need the JNI 
references while building this object.


Build 
graphics/src/main/native-font/freetype.c
and
graphics/src/main/native-font/pango.c
To a library named javafx-font-pango

The cc flags to build them are pkg-config --cflags pangoft2 + 
-D_ENABLE_PANGO, the lib flags are pkg-config --libs pangoft2
(see rt/buildSrc/linux.gradle, search pangoCCFlags and pangoLinkFlags).

This library will be used by 
graphics/src/main/java/com/sun/javafx/font/pango/OS.java

During runtime you will need to explicitly set -Dprism.text=native so that 
PangoFactory.java is used (instead of T2KFactory.java).

Note: if that is too hard to build pango.o I suppose you could link 
javafx-font-pango.so only with freetype.o, you should not see any unsatisfied 
link exception as long as PangoFactory.createGlyphLayout is not called.

Setting -Dprism.debugfonts=true should help to see what is getting loaded, 
-Djavafx.verbose=true prints what library as being loaded by JFX.

Regards,
Felipe


On Oct 13, 2013, at 11:49 PM, Matthias Hänel hae...@ultramixer.com wrote:

 Is there a fallback? Pango doesn't work either it's not used in the android 
 gradle scripts. 
 I would be happy to integrate it and I am sure I can compile pango for 
 android. I just need a pointer to how I can integrate it into the build 
 process.
 I changed android.gradle but I am not sure where to put the pango sources.



Re: JAVAFX on ANDROID

2013-10-13 Thread Niklas Therning
For PlatformLogger et al you can probably use the compatibility lib we have
been using for jfx78+RoboVM: https://github.com/robovm/robovm-jfx78-compat

Den lördagen den 12:e oktober 2013 skrev Tomas Brandalik:

 I think that PlatformLogger initialization in CssHelper was causing
 problems. I had to write one. Not 100% sure though I will look at it when
 I'm back in the office. (Or you can comment out css processing in the
 node.) I was able to run without font then.

 -Tomas


 On 10/11/2013 06:22 PM, Tom Schindl wrote:

 On 11.10.13 18:10, Matthias Hänel wrote:

 Hi Tomas,


 today, I took the time to investigate a little more time on this.

 1. I build an entirely new openjfx78 build for android
 2. starting this gave me several errors that lead me to the
 conclusion that I need a java6 openjfx
 3. based on openjfx78 I ported it back to java6 (adapted gradled
 scripts, and tons of java source code)
 4. Now it's almost running on an 18th android. All libraries are firing
 up until the CssStyleHelper
 is called with a static call to createStyleHelper.

 That looks like the font stuff is not in jfx78. That's why new Font
 returns with null and therefore

 On OS-X font stuff is definately there in jfx78, but the low-level font
 stuff is loaded using reflection (at least this was the cause on robovm)!

 Tom





Re: JAVAFX on ANDROID

2013-10-13 Thread Rafal

On 11.10.2013 18:53, Richard Bair wrote:
How much time do you think it would take community designers to 
develop this?
RoboVM for iOS I think is basically at this stage, where they've got 
something up and running to the point of being able to do performance 
analysis and looking for bugs. It has been a several month process 
with stops and starts. Tom and the others working on RoboVM might be 
able to give a better estimate.


I don't understand one thing.
If you honestly encourage community to make a such big effort as 
developing, adjusting and maintaining JVMs on the two leading mobile 
platforms, you don't have any illusions that Oracle VM on android will 
be released in the next 2 years. :/
Otherwise, if such community's VM will come in blood, sweat and tears 
and be usable and Oracle announce own VM, then all this community's 
effort be for nothing and pointless.



Sorry for my English.


--
Best Regards
Rafal


Re: JAVAFX on ANDROID

2013-10-13 Thread Felix Bembrick
Perhaps having more than one JVM on iOS/Android implementation is good for
JavaFX as a whole?


On 14 October 2013 10:06, Rafal rafal...@gmail.com wrote:

 On 11.10.2013 18:53, Richard Bair wrote:

 How much time do you think it would take community designers to develop
 this?

 RoboVM for iOS I think is basically at this stage, where they've got
 something up and running to the point of being able to do performance
 analysis and looking for bugs. It has been a several month process with
 stops and starts. Tom and the others working on RoboVM might be able to
 give a better estimate.


 I don't understand one thing.
 If you honestly encourage community to make a such big effort as
 developing, adjusting and maintaining JVMs on the two leading mobile
 platforms, you don't have any illusions that Oracle VM on android will be
 released in the next 2 years. :/
 Otherwise, if such community's VM will come in blood, sweat and tears and
 be usable and Oracle announce own VM, then all this community's effort be
 for nothing and pointless.


 Sorry for my English.


 --
 Best Regards
 Rafal



Re: JAVAFX on ANDROID

2013-10-13 Thread Tom Eugelink


On 2013-10-14 01:06, Rafal wrote:

If you honestly encourage community to make a such big effort as developing, 
adjusting and maintaining JVMs on the two leading mobile platforms, you don't 
have any plans that Oracle VM on android will be released in the next 2 years. 
:/
Otherwise, if Oracle announce own VM, then all this community's effort be for 
nothing and pointless.


Open source done in the spare time by people with a full time job usually never grows much 
bigger than a nice but not too complex library; layout engines, testing frameworks, a web 
framework, that kind of stuff. Because as a project grows in size and complexity, so do the 
(number of) issues and the time required to provide support. That usually is the point where 
either a company is started (projects like Maven and Gradle) or the project gets corporate 
funding usually by that a corporation allows some developers to spent worktime on 
it (Apache, Eclipse, and Java  JavaFX is getting there).

A full fledged port of a JVM to a mobile platform cannot be carried in spare 
time, it can be showcased (which it has), but to make it production worthy one 
or more corporations needs to put their weight behind it.

My 2 cents,

Tom



Re: JAVAFX on ANDROID

2013-10-12 Thread Tomas Brandalik
I think that PlatformLogger initialization in CssHelper was causing 
problems. I had to write one. Not 100% sure though I will look at it 
when I'm back in the office. (Or you can comment out css processing in 
the node.) I was able to run without font then.


-Tomas


On 10/11/2013 06:22 PM, Tom Schindl wrote:

On 11.10.13 18:10, Matthias Hänel wrote:

Hi Tomas,


today, I took the time to investigate a little more time on this.

1. I build an entirely new openjfx78 build for android
2. starting this gave me several errors that lead me to the
conclusion that I need a java6 openjfx
3. based on openjfx78 I ported it back to java6 (adapted gradled scripts, and 
tons of java source code)
4. Now it's almost running on an 18th android. All libraries are firing up 
until the CssStyleHelper
is called with a static call to createStyleHelper.

That looks like the font stuff is not in jfx78. That's why new Font returns 
with null and therefore

On OS-X font stuff is definately there in jfx78, but the low-level font
stuff is loaded using reflection (at least this was the cause on robovm)!

Tom




Re: JAVAFX on ANDROID

2013-10-11 Thread Matthias Hänel
Hi Tomas,


today, I took the time to investigate a little more time on this. 

1. I build an entirely new openjfx78 build for android
2. starting this gave me several errors that lead me to the 
conclusion that I need a java6 openjfx
3. based on openjfx78 I ported it back to java6 (adapted gradled scripts, and 
tons of java source code)
4. Now it's almost running on an 18th android. All libraries are firing up 
until the CssStyleHelper 
is called with a static call to createStyleHelper.

That looks like the font stuff is not in jfx78. That's why new Font returns 
with null and therefore
CssStyleHelper crashes. Do you have any idea how to proceed? Do I really have 
to port JFX8 from Java8 
back to Java6 to get a full flegded JFX8 running on Android? That would be 
pretty heavy it took me
nearly 10 hours to port jfx78 to Java6 (without Ensemble). I am willing to 
contribute, in case we've got
a development direction.


kind regards
Matthias



Am 11.10.2013 um 07:51 schrieb Tobi t...@ultramixer.com:

 Is this standalone vim working with JIT? Does it works well?
 
 We recently tried to use the embedded version of oracle JdKs com Linux/ARMv7 
 soft float on Android but if doesn't work because if missing linked dylibs on 
 Android..,.
 
 
 Am 11.10.2013 um 06:52 schrieb Tomas Brandalik tomas.branda...@oracle.com:
 
 COMPILE_TARGETS=android
 Good, then use FX78 and you can give it a try. I have my local fork of 
 javafx for testing DalvikLauncher. Standalone Vm for Android is not 
 available for download.
 
 -Tomas
 
 FX78 should be compatible with Java6 because RoboVM is built on dalvik
 classlib and JavaFX works there!
 
 Tom
 
 On 10.10.13 22:42, Tobi wrote:
 Hi Tomas,
 
 How did you test the Dalviklauncher? Do you have a Java6 compatible jFX 
 version?
 
 And how did you test the JavaSELauncher? Do you have a JVM for android? 
 Where can we download it?
 
 Am 10.10.2013 um 22:01 schrieb Tomas 
 Brandaliktomas.branda...@oracle.com:
 
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see 
 every progress. There is nothing to hide. You can understand it as an 
 example of porting javafx runtime to a linux based platform not a product 
 with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and 
 JavaSELauncher. Have a look at DalvikLauncher it is quite simple how it 
 launches an application. What you need to try it out is an java6 (dalvik 
 vm limitation)  compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of 
 the port. It expects that the vm is packaged with an apk. The launcher 
 unpacks vm, installs it, setup classpath, main class debug port etc (all 
 specified in manifest) and launches it . These are the 2 options which 
 can be further extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has 
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell 
 you (and me :)) more about that important theme „JavaFX on Android“.
 
 Best regards,
 Tobi
 
 
 Am 10.10.2013 um 16:55 schrieb Philippe 
 TIFFEAUphilippe.tiff...@steria.com:
 
 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information and 
 intellectual property (including copyright material). It is only for 
 the use of the addressee(s) in accordance with any instructions 
 contained within it. If you are not the addressee, you are prohibited 
 from copying, forwarding, disclosing, saving or otherwise using it in 
 any way. If you receive this email in error, please immediately advise 
 the sender and delete it. Steria may monitor the content of emails 
 within its network to ensure compliance with its policies and 
 procedures. Emails are susceptible to alteration and their integrity 
 (including origin) cannot be assured. Steria shall not be liable for 
 any modification to a message, or for messages falsely sent.
 



Re: JAVAFX on ANDROID

2013-10-11 Thread Tom Schindl
On 11.10.13 18:10, Matthias Hänel wrote:
 Hi Tomas,
 
 
 today, I took the time to investigate a little more time on this. 
 
 1. I build an entirely new openjfx78 build for android
 2. starting this gave me several errors that lead me to the 
 conclusion that I need a java6 openjfx
 3. based on openjfx78 I ported it back to java6 (adapted gradled scripts, and 
 tons of java source code)
 4. Now it's almost running on an 18th android. All libraries are firing up 
 until the CssStyleHelper 
 is called with a static call to createStyleHelper.
 
 That looks like the font stuff is not in jfx78. That's why new Font returns 
 with null and therefore

On OS-X font stuff is definately there in jfx78, but the low-level font
stuff is loaded using reflection (at least this was the cause on robovm)!

Tom


Re: JAVAFX on ANDROID

2013-10-11 Thread Richard Bair
As frustrating as it is, the fact is that today Oracle has no announced plans 
to release any official JVM for Android and iOS. That being the case, the 
biggest hurdle to getting FX on iOS and Android is the VM. On the iOS side 
there has been some success with RoboVM. On Android you can just use Dalvik if 
you back port to Java 6, or you have to find another VM (XMLVM maybe?? Anybody 
convince Excelsior to support Android?) that can do the job.

There are two parts the problem of a VM. One is the VM technology itself, 
which is probably the lesser of the two issues because there are a handful of 
decent VMs around (if you include Dalvik, you've already got one on Android). 
The second problem are the class libraries. Generally JavaFX doesn't rely on 
too much from JavaSE beyond what is in the base module; threading and 
collections and concurrency and so forth. However we are using the diamond 
operator and in a few places we might use multi-catch (although I don't know of 
such places myself) and definitely we use default methods in interfaces in one 
location (ObservableList). Generally we've tried to make it easy to back port 
to 7, but haven't tried to keep 6 up to date. I would be very interested in the 
list of code changes Matthias had to make to better understand the situation.

As far as fonts (from Matthias' email) I believe the Android port currently 
uses T2K but Felipe and Tomas were talking about using the new Font support 
which would delegate directly to Android APIs. This might be one area that 
Matthias' and Felipe and Tomas can work closely on to get a contribution to 
make this happen!

 How much time do you think it would take community designers to develop this?

RoboVM for iOS I think is basically at this stage, where they've got something 
up and running to the point of being able to do performance analysis and 
looking for bugs. It has been a several month process with stops and starts. 
Tom and the others working on RoboVM might be able to give a better estimate.

 Does it support swing and javafx or just javafx like the Pi port? What parts 
 of java8 don't work on your standalone VM?

I couldn't tell you what does / doesn't work on the standalone VM as that would 
break all kinds of confidential legal mumbo-jumbo. But I can tell you I've 
never seen a port of AWT to iOS or Android.

Richard

 -Original Message-
 From: Tomas Brandalik tomas.branda...@oracle.com
 Sender: openjfx-dev-boun...@openjdk.java.net
 Date: Fri, 11 Oct 2013 06:52:06 
 To: openjfx-dev@openjdk.java.net
 Subject: Re: JAVAFX on ANDROID
 
 COMPILE_TARGETS=android
 Good, then use FX78 and you can give it a try. I have my local fork of 
 javafx for testing DalvikLauncher. Standalone Vm for Android is not 
 available for download.
 
 -Tomas
 
 FX78 should be compatible with Java6 because RoboVM is built on dalvik
 classlib and JavaFX works there!
 
 Tom
 
 On 10.10.13 22:42, Tobi wrote:
 Hi Tomas,
 
 How did you test the Dalviklauncher? Do you have a Java6 compatible jFX 
 version?
 
 And how did you test the JavaSELauncher? Do you have a JVM for android? 
 Where can we download it?
 
 Am 10.10.2013 um 22:01 schrieb Tomas Brandaliktomas.branda...@oracle.com:
 
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see 
 every progress. There is nothing to hide. You can understand it as an 
 example of porting javafx runtime to a linux based platform not a product 
 with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and JavaSELauncher. 
 Have a look at DalvikLauncher it is quite simple how it launches an 
 application. What you need to try it out is an java6 (dalvik vm 
 limitation)  compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of 
 the port. It expects that the vm is packaged with an apk. The launcher 
 unpacks vm, installs it, setup classpath, main class debug port etc (all 
 specified in manifest) and launches it . These are the 2 options which can 
 be further extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has 
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell 
 you (and me :)) more about that important theme „JavaFX on Android“.
 
 Best regards,
 Tobi
 
 
 Am 10.10.2013 um 16:55 schrieb Philippe 
 TIFFEAUphilippe.tiff...@steria.com:
 
 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information and 
 intellectual property (including copyright material). It is only for the 
 use of the addressee(s) in accordance with any instructions contained 
 within it. If you are not the addressee, you are prohibited from 
 copying, forwarding, disclosing, saving or otherwise using it in any 
 way. If you receive this email

Re: JAVAFX on ANDROID

2013-10-11 Thread Felipe Heidrich
Hi,

The 'native' font stack for Linux uses Pango (to handle complex text) and 
freetype (rendering glyph images, outlines, metrics, etc).

As long as we manage to build our freetype code on Android we should be able to 
have something that works.

As for pango, I heard it is not available on Android, but JavaFX should be able 
to work without it (except that Arabic, Hebrew, Thai, Indic and other complex 
scripts won't work).
For the long run I would like to implement our glyph-layout code based on 
Harfbuzz, which is would replace pango entirely and is available on Android.


Cheers
Felipe


On Oct 11, 2013, at 3:47 PM, Stefan Fuchs snfu...@gmx.de wrote:

 Hi Matthias,
 
 I think you must |add the flag ||-PCOMPILE_PANGO=true to build the new 
 opensource font stuff.
 
 If I remember correctly I got a similar error, when I first build jfx78 on 
 linux.
 
 I made some experiments with javafx on android by myself.
 
 I found the following interesting read:
 http://stackoverflow.com/questions/7153989/java-7-language-features-with-android
 
 One other problem I hit, when trying to compile a larger application was:
 http://stackoverflow.com/questions/15508477/android-my-application-is-too-large-and-gives-unable-to-execute-dex-method-id
 
 Apparently there is a limit of ||65536 methods per apk file.
 
 
 Besides, I'm currently two releases behind with the jfx78.
 
 I'll try to catch up soon.
 |
 Best regards,
 
 Stefan
 
 Hi Tomas,
 
 
 today, I took the time to investigate a little more time on this.
 
 1. I build an entirely new openjfx78 build for android
 2. starting this gave me several errors that lead me to the
 conclusion that I need a java6 openjfx
 3. based on openjfx78 I ported it back to java6 (adapted gradled scripts, 
 and tons of java source code)
 4. Now it's almost running on an 18th android. All libraries are firing up 
 until the CssStyleHelper
 is called with a static call to createStyleHelper.
 
 That looks like the font stuff is not in jfx78. That's why new Font 
 returns with null and therefore
 CssStyleHelper crashes. Do you have any idea how to proceed? Do I really 
 have to port JFX8 from Java8
 back to Java6 to get a full flegded JFX8 running on Android? That would be 
 pretty heavy it took me
 nearly 10 hours to port jfx78 to Java6 (without Ensemble). I am willing to 
 contribute, in case we've got
 a development direction.
 
 
 kind regards
 Matthias
 
 
 
 Am 11.10.2013 um 07:51 schrieb Tobi t...@ultramixer.com:
 
 Is this standalone vim working with JIT? Does it works well?
 
 We recently tried to use the embedded version of oracle JdKs com 
 Linux/ARMv7 soft float on Android but if doesn't work because if missing 
 linked dylibs on Android..,.
 
 
 Am 11.10.2013 um 06:52 schrieb Tomas Brandalik 
 tomas.branda...@oracle.com:
 
 COMPILE_TARGETS=android
 Good, then use FX78 and you can give it a try. I have my local fork of 
 javafx for testing DalvikLauncher. Standalone Vm for Android is not 
 available for download.
 
 -Tomas
 
 FX78 should be compatible with Java6 because RoboVM is built on dalvik
 classlib and JavaFX works there!
 
 Tom
 
 On 10.10.13 22:42, Tobi wrote:
 Hi Tomas,
 
 How did you test the Dalviklauncher? Do you have a Java6 compatible jFX 
 version?
 
 And how did you test the JavaSELauncher? Do you have a JVM for android? 
 Where can we download it?
 
 Am 10.10.2013 um 22:01 schrieb Tomas 
 Brandaliktomas.branda...@oracle.com:
 
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can 
 see every progress. There is nothing to hide. You can understand it as 
 an example of porting javafx runtime to a linux based platform not a 
 product with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and 
 JavaSELauncher. Have a look at DalvikLauncher it is quite simple how it 
 launches an application. What you need to try it out is an java6 
 (dalvik vm limitation)  compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part 
 of the port. It expects that the vm is packaged with an apk. The 
 launcher unpacks vm, installs it, setup classpath, main class debug 
 port etc (all specified in manifest) and launches it . These are the 2 
 options which can be further extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has 
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell 
 you (and me :)) more about that important theme „JavaFX on Android“.
 
 Best regards,
 Tobi
 
 
 Am 10.10.2013 um 16:55 schrieb Philippe 
 TIFFEAUphilippe.tiff...@steria.com:
 
 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information 
 and intellectual property (including copyright material). It is only 
 for the use of the addressee(s) 

Re: JAVAFX on ANDROID

2013-10-10 Thread Tobias Bley
Tomas from Oracle is working on the Android port of JavaFX. He has developed a 
DalvikLauncher and a JavaSELauncher. So he is able to tell you (and me :)) more 
about that important theme „JavaFX on Android“.

Best regards,
Tobi


Am 10.10.2013 um 16:55 schrieb Philippe TIFFEAU philippe.tiff...@steria.com:

 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information and 
 intellectual property (including copyright material). It is only for the use 
 of the addressee(s) in accordance with any instructions contained within it. 
 If you are not the addressee, you are prohibited from copying, forwarding, 
 disclosing, saving or otherwise using it in any way. If you receive this 
 email in error, please immediately advise the sender and delete it. Steria 
 may monitor the content of emails within its network to ensure compliance 
 with its policies and procedures. Emails are susceptible to alteration and 
 their integrity (including origin) cannot be assured. Steria shall not be 
 liable for any modification to a message, or for messages falsely sent.



Re: JAVAFX on ANDROID

2013-10-10 Thread Tomas Brandalik

Hi Tobi and Philippe,
Android port is being developed in open source so all developers can see 
every progress. There is nothing to hide. You can understand it as an 
example of porting javafx runtime to a linux based platform not a 
product with a roadmap.
As you've noticed there are 2 launchers DalvikLauncher and 
JavaSELauncher. Have a look at DalvikLauncher it is quite simple how it 
launches an application. What you need to try it out is an java6 (dalvik 
vm limitation)  compatible javafx fork.
On the other hand JavaSELauncher uses standalone vm which is not part of 
the port. It expects that the vm is packaged with an apk. The launcher 
unpacks vm, installs it, setup classpath, main class debug port etc (all 
specified in manifest) and launches it . These are the 2 options which 
can be further extended by the community.


best regards
-Tomas

On 10/10/2013 06:10 PM, Tobias Bley wrote:

Tomas from Oracle is working on the Android port of JavaFX. He has developed a 
DalvikLauncher and a JavaSELauncher. So he is able to tell you (and me :)) more 
about that important theme „JavaFX on Android“.

Best regards,
Tobi


Am 10.10.2013 um 16:55 schrieb Philippe TIFFEAUphilippe.tiff...@steria.com:


Hello,

Someone can make a clear answer about JavaFX on ANDROID ?

If it works how to use ? Otherwise the roadmap is 

Best Regard.

This email and any attachments may contain confidential information and 
intellectual property (including copyright material). It is only for the use of 
the addressee(s) in accordance with any instructions contained within it. If 
you are not the addressee, you are prohibited from copying, forwarding, 
disclosing, saving or otherwise using it in any way. If you receive this email 
in error, please immediately advise the sender and delete it. Steria may 
monitor the content of emails within its network to ensure compliance with its 
policies and procedures. Emails are susceptible to alteration and their 
integrity (including origin) cannot be assured. Steria shall not be liable for 
any modification to a message, or for messages falsely sent.




Re: JAVAFX on ANDROID

2013-10-10 Thread Tom Schindl
So when I compile my own FX what target to I compile to? I guess I
compile on linux, right?

Tom

On 10.10.13 22:01, Tomas Brandalik wrote:
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see
 every progress. There is nothing to hide. You can understand it as an
 example of porting javafx runtime to a linux based platform not a
 product with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and
 JavaSELauncher. Have a look at DalvikLauncher it is quite simple how it
 launches an application. What you need to try it out is an java6 (dalvik
 vm limitation)  compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of
 the port. It expects that the vm is packaged with an apk. The launcher
 unpacks vm, installs it, setup classpath, main class debug port etc (all
 specified in manifest) and launches it . These are the 2 options which
 can be further extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell
 you (and me :)) more about that important theme „JavaFX on Android“.

 Best regards,
 Tobi


 Am 10.10.2013 um 16:55 schrieb Philippe
 TIFFEAUphilippe.tiff...@steria.com:

 Hello,

 Someone can make a clear answer about JavaFX on ANDROID ?

 If it works how to use ? Otherwise the roadmap is 

 Best Regard.

 This email and any attachments may contain confidential information
 and intellectual property (including copyright material). It is only
 for the use of the addressee(s) in accordance with any instructions
 contained within it. If you are not the addressee, you are prohibited
 from copying, forwarding, disclosing, saving or otherwise using it in
 any way. If you receive this email in error, please immediately
 advise the sender and delete it. Steria may monitor the content of
 emails within its network to ensure compliance with its policies and
 procedures. Emails are susceptible to alteration and their integrity
 (including origin) cannot be assured. Steria shall not be liable for
 any modification to a message, or for messages falsely sent.
 



Re: JAVAFX on ANDROID

2013-10-10 Thread Tobi
Hi Tomas,

How did you test the Dalviklauncher? Do you have a Java6 compatible jFX version?

And how did you test the JavaSELauncher? Do you have a JVM for android? Where 
can we download it?

 Am 10.10.2013 um 22:01 schrieb Tomas Brandalik tomas.branda...@oracle.com:
 
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see 
 every progress. There is nothing to hide. You can understand it as an example 
 of porting javafx runtime to a linux based platform not a product with a 
 roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and JavaSELauncher. 
 Have a look at DalvikLauncher it is quite simple how it launches an 
 application. What you need to try it out is an java6 (dalvik vm limitation)  
 compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of the 
 port. It expects that the vm is packaged with an apk. The launcher unpacks 
 vm, installs it, setup classpath, main class debug port etc (all specified in 
 manifest) and launches it . These are the 2 options which can be further 
 extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has developed 
 a DalvikLauncher and a JavaSELauncher. So he is able to tell you (and me :)) 
 more about that important theme „JavaFX on Android“.
 
 Best regards,
 Tobi
 
 
 Am 10.10.2013 um 16:55 schrieb Philippe 
 TIFFEAUphilippe.tiff...@steria.com:
 
 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information and 
 intellectual property (including copyright material). It is only for the 
 use of the addressee(s) in accordance with any instructions contained 
 within it. If you are not the addressee, you are prohibited from copying, 
 forwarding, disclosing, saving or otherwise using it in any way. If you 
 receive this email in error, please immediately advise the sender and 
 delete it. Steria may monitor the content of emails within its network to 
 ensure compliance with its policies and procedures. Emails are susceptible 
 to alteration and their integrity (including origin) cannot be assured. 
 Steria shall not be liable for any modification to a message, or for 
 messages falsely sent.
 


Re: JAVAFX on ANDROID

2013-10-10 Thread Tobi
No, targets=Android



 Am 10.10.2013 um 22:41 schrieb Tom Schindl tom.schi...@bestsolution.at:
 
 So when I compile my own FX what target to I compile to? I guess I
 compile on linux, right?
 
 Tom
 
 On 10.10.13 22:01, Tomas Brandalik wrote:
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see
 every progress. There is nothing to hide. You can understand it as an
 example of porting javafx runtime to a linux based platform not a
 product with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and
 JavaSELauncher. Have a look at DalvikLauncher it is quite simple how it
 launches an application. What you need to try it out is an java6 (dalvik
 vm limitation)  compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of
 the port. It expects that the vm is packaged with an apk. The launcher
 unpacks vm, installs it, setup classpath, main class debug port etc (all
 specified in manifest) and launches it . These are the 2 options which
 can be further extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell
 you (and me :)) more about that important theme „JavaFX on Android“.
 
 Best regards,
 Tobi
 
 
 Am 10.10.2013 um 16:55 schrieb Philippe
 TIFFEAUphilippe.tiff...@steria.com:
 
 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information
 and intellectual property (including copyright material). It is only
 for the use of the addressee(s) in accordance with any instructions
 contained within it. If you are not the addressee, you are prohibited
 from copying, forwarding, disclosing, saving or otherwise using it in
 any way. If you receive this email in error, please immediately
 advise the sender and delete it. Steria may monitor the content of
 emails within its network to ensure compliance with its policies and
 procedures. Emails are susceptible to alteration and their integrity
 (including origin) cannot be assured. Steria shall not be liable for
 any modification to a message, or for messages falsely sent.
 


Re: JAVAFX on ANDROID

2013-10-10 Thread Tom Schindl
FX78 should be compatible with Java6 because RoboVM is built on dalvik
classlib and JavaFX works there!

Tom

On 10.10.13 22:42, Tobi wrote:
 Hi Tomas,
 
 How did you test the Dalviklauncher? Do you have a Java6 compatible jFX 
 version?
 
 And how did you test the JavaSELauncher? Do you have a JVM for android? Where 
 can we download it?
 
 Am 10.10.2013 um 22:01 schrieb Tomas Brandalik tomas.branda...@oracle.com:

 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see 
 every progress. There is nothing to hide. You can understand it as an 
 example of porting javafx runtime to a linux based platform not a product 
 with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and JavaSELauncher. 
 Have a look at DalvikLauncher it is quite simple how it launches an 
 application. What you need to try it out is an java6 (dalvik vm limitation)  
 compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of the 
 port. It expects that the vm is packaged with an apk. The launcher unpacks 
 vm, installs it, setup classpath, main class debug port etc (all specified 
 in manifest) and launches it . These are the 2 options which can be further 
 extended by the community.

 best regards
 -Tomas

 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has 
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell you 
 (and me :)) more about that important theme „JavaFX on Android“.

 Best regards,
 Tobi


 Am 10.10.2013 um 16:55 schrieb Philippe 
 TIFFEAUphilippe.tiff...@steria.com:

 Hello,

 Someone can make a clear answer about JavaFX on ANDROID ?

 If it works how to use ? Otherwise the roadmap is 

 Best Regard.

 This email and any attachments may contain confidential information and 
 intellectual property (including copyright material). It is only for the 
 use of the addressee(s) in accordance with any instructions contained 
 within it. If you are not the addressee, you are prohibited from copying, 
 forwarding, disclosing, saving or otherwise using it in any way. If you 
 receive this email in error, please immediately advise the sender and 
 delete it. Steria may monitor the content of emails within its network to 
 ensure compliance with its policies and procedures. Emails are susceptible 
 to alteration and their integrity (including origin) cannot be assured. 
 Steria shall not be liable for any modification to a message, or for 
 messages falsely sent.




Re: JAVAFX on ANDROID

2013-10-10 Thread Tomas Brandalik

COMPILE_TARGETS=android
Good, then use FX78 and you can give it a try. I have my local fork of 
javafx for testing DalvikLauncher. Standalone Vm for Android is not 
available for download.


-Tomas


FX78 should be compatible with Java6 because RoboVM is built on dalvik
classlib and JavaFX works there!

Tom

On 10.10.13 22:42, Tobi wrote:

Hi Tomas,

How did you test the Dalviklauncher? Do you have a Java6 compatible jFX version?

And how did you test the JavaSELauncher? Do you have a JVM for android? Where 
can we download it?


Am 10.10.2013 um 22:01 schrieb Tomas Brandaliktomas.branda...@oracle.com:

Hi Tobi and Philippe,
Android port is being developed in open source so all developers can see every 
progress. There is nothing to hide. You can understand it as an example of 
porting javafx runtime to a linux based platform not a product with a roadmap.
As you've noticed there are 2 launchers DalvikLauncher and JavaSELauncher. Have 
a look at DalvikLauncher it is quite simple how it launches an application. 
What you need to try it out is an java6 (dalvik vm limitation)  compatible 
javafx fork.
On the other hand JavaSELauncher uses standalone vm which is not part of the 
port. It expects that the vm is packaged with an apk. The launcher unpacks vm, 
installs it, setup classpath, main class debug port etc (all specified in 
manifest) and launches it . These are the 2 options which can be further 
extended by the community.

best regards
-Tomas


On 10/10/2013 06:10 PM, Tobias Bley wrote:
Tomas from Oracle is working on the Android port of JavaFX. He has developed a 
DalvikLauncher and a JavaSELauncher. So he is able to tell you (and me :)) more 
about that important theme „JavaFX on Android“.

Best regards,
Tobi



Am 10.10.2013 um 16:55 schrieb Philippe TIFFEAUphilippe.tiff...@steria.com:

Hello,

Someone can make a clear answer about JavaFX on ANDROID ?

If it works how to use ? Otherwise the roadmap is 

Best Regard.

This email and any attachments may contain confidential information and 
intellectual property (including copyright material). It is only for the use of 
the addressee(s) in accordance with any instructions contained within it. If 
you are not the addressee, you are prohibited from copying, forwarding, 
disclosing, saving or otherwise using it in any way. If you receive this email 
in error, please immediately advise the sender and delete it. Steria may 
monitor the content of emails within its network to ensure compliance with its 
policies and procedures. Emails are susceptible to alteration and their 
integrity (including origin) cannot be assured. Steria shall not be liable for 
any modification to a message, or for messages falsely sent.




Re: JAVAFX on ANDROID

2013-10-10 Thread Tobi
Is this standalone vim working with JIT? Does it works well?

We recently tried to use the embedded version of oracle JdKs com Linux/ARMv7 
soft float on Android but if doesn't work because if missing linked dylibs on 
Android..,.


 Am 11.10.2013 um 06:52 schrieb Tomas Brandalik tomas.branda...@oracle.com:
 
 COMPILE_TARGETS=android
 Good, then use FX78 and you can give it a try. I have my local fork of javafx 
 for testing DalvikLauncher. Standalone Vm for Android is not available for 
 download.
 
 -Tomas
 
 FX78 should be compatible with Java6 because RoboVM is built on dalvik
 classlib and JavaFX works there!
 
 Tom
 
 On 10.10.13 22:42, Tobi wrote:
 Hi Tomas,
 
 How did you test the Dalviklauncher? Do you have a Java6 compatible jFX 
 version?
 
 And how did you test the JavaSELauncher? Do you have a JVM for android? 
 Where can we download it?
 
 Am 10.10.2013 um 22:01 schrieb Tomas Brandaliktomas.branda...@oracle.com:
 
 Hi Tobi and Philippe,
 Android port is being developed in open source so all developers can see 
 every progress. There is nothing to hide. You can understand it as an 
 example of porting javafx runtime to a linux based platform not a product 
 with a roadmap.
 As you've noticed there are 2 launchers DalvikLauncher and JavaSELauncher. 
 Have a look at DalvikLauncher it is quite simple how it launches an 
 application. What you need to try it out is an java6 (dalvik vm 
 limitation)  compatible javafx fork.
 On the other hand JavaSELauncher uses standalone vm which is not part of 
 the port. It expects that the vm is packaged with an apk. The launcher 
 unpacks vm, installs it, setup classpath, main class debug port etc (all 
 specified in manifest) and launches it . These are the 2 options which can 
 be further extended by the community.
 
 best regards
 -Tomas
 
 On 10/10/2013 06:10 PM, Tobias Bley wrote:
 Tomas from Oracle is working on the Android port of JavaFX. He has 
 developed a DalvikLauncher and a JavaSELauncher. So he is able to tell 
 you (and me :)) more about that important theme „JavaFX on Android“.
 
 Best regards,
 Tobi
 
 
 Am 10.10.2013 um 16:55 schrieb Philippe 
 TIFFEAUphilippe.tiff...@steria.com:
 
 Hello,
 
 Someone can make a clear answer about JavaFX on ANDROID ?
 
 If it works how to use ? Otherwise the roadmap is 
 
 Best Regard.
 
 This email and any attachments may contain confidential information and 
 intellectual property (including copyright material). It is only for the 
 use of the addressee(s) in accordance with any instructions contained 
 within it. If you are not the addressee, you are prohibited from 
 copying, forwarding, disclosing, saving or otherwise using it in any 
 way. If you receive this email in error, please immediately advise the 
 sender and delete it. Steria may monitor the content of emails within 
 its network to ensure compliance with its policies and procedures. 
 Emails are susceptible to alteration and their integrity (including 
 origin) cannot be assured. Steria shall not be liable for any 
 modification to a message, or for messages falsely sent.