I refactored the Framebuffer support in Gnash, including redesigning how all the input devices work. With some of the recent patches adding OpenVG or OpenGL-ES1.1 support to Gnash had turned things into a mess of nasty ifdefs and spaghetti that was hard to work with. So I started by taking all the TODO comments about config support, and turned them all into legit configure options. :-) This includes things like rendering to off-screen buffers, double buffering, and selecting classes of input devices. All the input devices now derive from a common base class, etc... so the code is now much more modular and easy to read.
The old code was ifdef'd to death for device support. So now I scan for all the input devices, and select the ones like mouse and keyboard we support. Supporting multiple mice or keyboards is now pretty easy. I've also merged in the tslib patch (#6490, with the better 3 point calibration fix) into this branch. I've changed piles of code, using boost more, and making it more C++ style. Anyway, I've got a few more things to clean up in this before migrating it to trunk, but I'd like some testing from anyone else out there running Gnash in a framebuffer device to make sure I didn't break any old behaviors they were depending on. (Udo ?) There is a very high chance these changes will make the release, as they don't effect anything but the Framebuffer GUI. I assume the only ones using a Framebuffer with Gnash are developers, so can handle a few changes. btw, who has the eTurboTouch touchscreen ? A URL to docs would be appreciated, I still have to migrate that code from fb.cpp to the new way. To select input devices for scanning and support, now configure with --enable-input=tslib,event,mouse. The possible values are: tslib - Use the tslib library (/dev/ts) event - Use linux input events (/dev/input/event*) mouse - Use a PS/2 protocol mouse (/dev/input/mice) ett - Use the eTurboTouch touchscreen, which works like a mouse driver Other new options are: --enable-offscreen - Doesn't do anything yet, but had some code --enable-doublebuf - Doesn't do anything yet, but had some code --with-fakefb - Uses a 16bit memory mapped file with fbe instead of a real device. The branch is up at: bzr branch lp:~rob-welcomehome/+junk/tslib, although supposedly the nasty performances problems with bzr on savannah are being fixed in the near term... Future refactoring is moving the AGG specific code out of the Framebuffer GUI into it's own files. All the other GUIs work that way, so the Framebuffer one should too. Once that is all done, then I can see about getting those other renderer backends working correctly. - rob - _______________________________________________ Gnash-dev mailing list Gnash-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-dev