big merge from master, fix rpm creation, drop fetching swfdec
[gnash.git] / gui / DESIGN
bloba987e2188f1b550045d1ece040cfa2914f41c079
2 Overview
3 ========
5 GUI is the window creation, borders, events, etc.
6 Renderer is what we use to draw graphics onto the drawing area
8 GUI
9 ===
11 Frontends are modeled by the gnash::Gui class.
13 They take care of initializing the Backend module for use in rendering.
15 For the frontend we have GTK, SDL, KDE(QT), FLTK2, Aqua, Framebuffer.
17 Functions to implement:
19 init(int argc, char **argv[]):  
20 This funtion is run first to initialize GUI-specific parameters/variables.
22 createWindow(const char* title, int width, int height, int xPosition, int yPosition): 
23 Here we create a window-widget with calling parameters.
25 setCursor(gnash_cursor_type newcursor):
26 This function is called when the cursor-type is changed.
28 run(): 
29 This is the main()-call for the GUI.
31 Renderer
32 ========
34 Backends modeled by the gnash::render_handler class.
36 They are the actual renderers, drawing to a memory buffer.
38 For the renderers we have Antigrain (AGG), OpenGL or Cairo.