Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
OVERVIEW This is a simple GUI layer to support using the menu and event handling systems of various toolkits. Initially Gnash used SDL, but this has slow event handling, and no GUI widgets to create something like menus or dialog boxes. Gtk2+ support was added to Gnash so it would work within Mozilla/Firefox as a plugin to play Flash content. This also allowed the addition of a mouse menu to control the movie instead of just the existing keyboard commands. This was a user requested feature, and also opened the way for a better UI design for the player. The changes to support both SDL and GTK made the main loop unreadable ifdef hell, so this class was created to abstract out the guts to make the main code more readable. As Gnash's GUI requirements are light, it was decided that while doing this, support of multiple toolkits would be good. This will enable better integration on embedded devices where only a framebuffer is used. This will enable Gnash to have a GUI on platforms with no windowing system. At this time, OpenGL and (experimental) Cairo and AGG backends are available. It should be possible to use OpenGLES (the embedded version). As the AGG backend is the most functional for a framebuffer, that should be used for most embedded targets. Cairo also supports a framebuffer driver, but that renderer is less complete. STATUS GTK2: - implemented OpenGL, Agg and Cairo backends. - Events work. - Pop-up menu is available. Window menu available for standalone. - Firefox plugin works. SDL: deprecated in favour of FLTK. - OpenGL, Agg and Cairo backends. - Mouse events work (keyboard events don't). - There's no pop-up menu (and there probably never will be one). - The Firefox plugin is not available for this frontend. QT/KDE: - OpenGL backend. - A popup menu is available. - Klash plugin for konqueror is available. FLTK: - Requires FLTK2. - Implements Agg and Cairo backends. - Events work. - Popup menu is available. - Firefox plugin and KDE Kpart work. Framebuffer: - Working with any hi- or truecolor framebuffer device (/dev/fb0). Supports PS/2 compatible mice and eGalax touchscreens.