keep NEXT_RELEASE at 0.8.10 till after the release
[gnash.git] / gui / README
blob801a39c045475b68b6c9f8efc64c8e47515c73b6
1 OVERVIEW
3 This is a simple GUI layer to support using the menu and event
4 handling systems of various toolkits. Initially Gnash used SDL, but
5 this has slow event handling, and no GUI widgets to create something
6 like menus or dialog boxes.
8 Gtk2+ support was added to Gnash so it would work within
9 Mozilla/Firefox as a plugin to play Flash content. This also allowed
10 the addition of a mouse menu to control the movie instead of just the
11 existing keyboard commands. This was a user requested feature, and
12 also opened the way for a better UI design for the player.
14 The changes to support both SDL and GTK made the main loop unreadable
15 ifdef hell, so this class was created to abstract out the guts to make
16 the main code more readable.
18 As Gnash's GUI requirements are light, it was decided that while doing
19 this, support of multiple toolkits would be good. This will enable
20 better integration on embedded devices where only a framebuffer is
21 used. This will enable Gnash to have a GUI on platforms with no
22 windowing system.
24 At this time, OpenGL and (experimental) Cairo and AGG backends are available.
25 It should be possible to use OpenGLES (the embedded version). As the
26 AGG backend is the most functional for a framebuffer, that should be
27 used for most embedded targets. Cairo also supports a framebuffer
28 driver, but that renderer is less complete.
30 STATUS
32 GTK2:
33 - implemented OpenGL, Agg and Cairo backends.
34 - Events work.
35 - Pop-up menu is available. Window menu available for standalone.
36 - Firefox plugin works.
38 SDL: deprecated in favour of FLTK.
39 - OpenGL, Agg and Cairo backends.
40 - Mouse events work (keyboard events don't).
41 - There's no pop-up menu (and there probably never will be one).
42 - The Firefox plugin is not available for this frontend.
44 QT/KDE:
45 - OpenGL backend.
46 - A popup menu is available.
47 - Klash plugin for konqueror is available.
49 FLTK:
50 - Requires FLTK2.
51 - Implements Agg and Cairo backends.
52 - Events work.
53 - Popup menu is available.
54 - Firefox plugin and KDE Kpart work.
56 Framebuffer:
57 - Working with any hi- or truecolor framebuffer device (/dev/fb0). Supports
58   PS/2 compatible mice and eGalax touchscreens.