Hi Maxime, On Thu, 2011-03-24 at 23:13 -0400, Maxime Côté wrote: > My name is Maxime Côté, I'm a student from Québec. I'm interested in > participating in the GSOC this year with LibreOffice. To be more > precise I'm interested in porting it to Android as I already have good > knowledge of Java, C++ and a basic knowledge of Android, but I really > want to learn more about it and the same goes for LibreOffice.
Wonderful ! :-) > Now what I would like to know is, could JNI (Java Native Interface) be > use to interface with the core library Well - I assume we should use the Android NDK: http://developer.android.com/sdk/ndk/index.html Personally (what with time-to-market etc.) I think we should target the latest android API version - ie. API level 9 - which gives us a lot of nice (pre-wrapped) C APIs for talking to the system. Sadly these seem hard to browse on-line ;-) but if you poke around in the downloaded SDK from above: platforms/android-9/arch-arm/usr/include/android/bitmap.h eg. - I guess a start would be digging around and writing a little code to convert a LibreOffice basebmp/ BitmapDevice into an android equivalent. Hopefully that handles much of the rendering ;-) Then of course we will need the critical main-loop integration, to hook the Android loop into VCL's - ie. platforms/android-9/arch-arm/usr/include/android/looper.h And, I would copy the approach used in the gtk+ integration (with the glib mainloop g_main_context etc.) work - should be easy to spot the_underscore_glib_methods vs. TheStdlCaps LibreOffice ones :-) that code is in vcl/unx/gtk/app/gtkdata.cxx > or you see something else, what exactly will need to be ported. Also > I would like to know where do I start in LibreOffice's code, where > could I begin hacking to help me understand the code that will need > porting. Sure - so I think the first thing to do, is to get a build, and to submit your first simple easy hack :-) that should give a flavour for how LibreOffice is to work on cf. http://wiki.documentfoundation.org/Development/Easy_Hacks Also, in part the build process checks out and downloads the full source tree, which will take some time. The code to start digging at is in vcl/ - in particular: vcl/unx/headless/svpgdi* which -should- already implement much of the code to do our backend rendering to bitmaps [ which is what we'll need for Android I think ]. That uses the code in basebmp/ extensively, and may need some improvement (of course), as well as sub-classing for Android [ and the web project - hopefully if we get someone for that too, there is some shared overlap here :-]. So - I hope those are enough pointers to get started in the research. It is certainly an exciting project to consider :-) ATB, Michael. -- michael.me...@novell.com <><, Pseudo Engineer, itinerant idiot _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice