I am using OpenGL ES 2.0 to create a 2D game for Android 2.2 and was planning on using LibRocket for the GUI. Does anyone have any links or knowledge they would share on how to integrate LibRocket with the android platform? I know that it is a c++ library that would need to go through the NDK, however I rather not change my OpenGL rendering code to the NDK unless I have to.
This might be tough and I'm not convinced that you will have acceptable performance on android devices at the end, but it seems that at least one game has been released on android using LibRocket.
You can write a few wrapper classes in c++ that allow LibRocket to use your own rendering functions. These classes can call back the proper java functions of your engine. You will also need, on the other hand, to forward input from java back to LibRocket using the provided method.
Here is a more straightforward description of the steps:
Then simply write an initializer in c++ that will instantiate each of the three interface and bind them to LibRocket. Call it from Java at the beginning:
Hope this will help.