Hi all!
1. Differences of Disko original source code
I changed *.cpp files name extension to *.cc. I didn’t build a library from *.cpp files.
I added files enabling working with framebuffer (mmsgui/fb/mmsfbl4re.cc) and L4Re input
subsystem (mmsinput/mmsinputl4rehandler.cc).
Virtual file system(VFS) added (mmstool/vfswrapper.cc) for implementation of access at application resources (image, xml form files). Libwhefs library was used for it (
http://code.google.com/p/whefs/).
2. Known issues
The input system link handler has has only the functions I needed. The touchscreen calibration function was added to mmsinputl4rehandler.cc, but it’s not the best solution. The best solution would be a separate server for the input subsystem that routes handled events to other applications. To simplify the touchscreen handler coding I added a patch to input. See input.patch.
L4Re video API function bits_per_pixel returned incorrect pixel size because it was calculated as a sum of R, G, B and A fields sizes. I have used RGB32 format with A field length equal to 0 bits. That’s why the returned total length was 24 bits instead of 32 bits. See video.patch
The realloc sometimes malfunctions. But I couldn’t recreate conditions to make this malfunctions repeat.
Shared library libdisko.so not building.
3. Comments
For application compilation the following utilities are required: taff (from disko tools), whefs-mkfs and whefs-cp (from libwhefs). It was used for creating VFS-image (see examples). You must to build this utilities manually and add they to PATH. For example, to build disko/examples/tutorial/01 vfs-image you need to execute cd disko/examples and run ./convert.sh tutorial/01
I use Gumstix Overo platform with lcd 4.3" and ads7846 touchscreen, drivers added to archive. modules.list and configs added to disko/examples
Some screenshots: