Public Member Functions

gnash::FBGui Class Reference

#include <fbsup.h>

Inheritance diagram for gnash::FBGui:
Inheritance graph
Collaboration diagram for gnash::FBGui:
Collaboration graph

List of all members.

Public Member Functions

 FBGui (unsigned long xid, float scale, bool loop, RunResources &r)
virtual ~FBGui ()
virtual bool init (int argc, char ***argv)
virtual bool createWindow (const char *title, int width, int height, int xPosition=0, int yPosition=0)
 Create and display our window.
virtual bool run ()
 Start main rendering loop.
virtual bool createMenu ()
virtual bool setupEvents ()
virtual void renderBuffer ()
virtual void setInterval (unsigned int interval)
 Set main loop delay in milliseconds.
virtual void setTimeout (unsigned int timeout)
 Set the time in milliseconds after which the programme should exit.
virtual void setFullscreen ()
virtual void unsetFullscreen ()
virtual void showMenu (bool show)
 Sets whether the menus should be shown (for fscommand).
virtual bool showMouse (bool show)
 Sets whether the gui should show the system mouse pointer.
virtual void setInvalidatedRegions (const InvalidatedRanges &ranges)
virtual bool want_multiple_regions ()
void checkForData ()

Detailed Description

A Framebuffer-based GUI for Gnash. ----------------------------------

This is a simple "GUI" that works with any framebuffer device (/dev/fb0). No window system is required, it will run straigt from a console.

The current version requires that your system boots in graphics mode (that is, with a framebuffer driver - like vesafb - and most probably the virtual console enabled). Which graphics mode Gnash runs in depends on the mode your machine boots in and can be choosen using the kernel command line. With other words: Gnash does not change the graphics mode. Refer to the framebuffer docs for more information.

The fb gui now also supports pointing devices like mice or touchscreens, but it is not required. It works with /dev/input/mice so any PS/2 compatible mouse should do. Your kernel can emulate the "mice" device for other devices (like touchscreens and tablets) so this method is very flexible.

There is currently no visible mouse pointer built in, which is fine for touchscreens but will make it difficult for standard mice. This will be fixed in near time. Resolution: any

Pixel formats: 8 bit: none yet 15 bit: R5/G5/B5 16 bit: R5/G6/B5 24 bit: R8/G8/B8, B8/G8/R8 32 bit: R8/G8/B8/A8, B8/G8/R8/A8

Supported input devices:

any PS/2 compatible mouse (may be emulated by the kernel) talking to /dev/input/mice

Constructor & Destructor Documentation

gnash::FBGui::FBGui ( unsigned long  xid,
float  scale,
bool  loop,
RunResources r 
gnash::FBGui::~FBGui (  )  [virtual]

References _, ogl::close(), and free().

Member Function Documentation

void gnash::FBGui::checkForData (  ) 

Referenced by run().

bool gnash::FBGui::createMenu (  )  [virtual]
bool gnash::FBGui::createWindow ( const char *  title,
int  width,
int  height,
int  xPosition = 0,
int  yPosition = 0 
) [virtual]

Create and display our window.

title The window title.
width The desired window width in pixels.
height The desired window height in pixels.
xPosition The desired window X position from the top left corner.
yPosition The desired window Y position from the top left corner.

Implements gnash::Gui.

bool gnash::FBGui::init ( int  argc,
char ***  argv 
) [virtual]
void gnash::FBGui::renderBuffer (  )  [virtual]
bool gnash::FBGui::run (  )  [virtual]
void gnash::FBGui::setFullscreen (  )  [virtual]

Attempt to run in a fullscreen window both for plugin and standalone player. Use isFullscreen() to see if gnash thinks it's running in fullscreen or not. The switch to fullscreen may fail if, for instance, the window manager refuses to allow it, but the flag will be set anyway.

Reimplemented from gnash::Gui.

void gnash::FBGui::setInterval ( unsigned int  interval  )  [virtual]

Set main loop delay in milliseconds.

Reimplemented from gnash::Gui.

References gnash::Gui::_interval.

void gnash::FBGui::setInvalidatedRegions ( const InvalidatedRanges ranges  )  [virtual]
void gnash::FBGui::setTimeout ( unsigned int  timeout  )  [virtual]

Set the time in milliseconds after which the programme should exit.

Implements gnash::Gui.

bool gnash::FBGui::setupEvents (  )  [virtual]
void gnash::FBGui::showMenu ( bool  show  )  [virtual]

Sets whether the menus should be shown (for fscommand).

show true if the menu bar should be shown.

Reimplemented from gnash::Gui.

References _.

bool gnash::FBGui::showMouse ( bool  show  )  [virtual]

Sets whether the gui should show the system mouse pointer.

show true if the mouse should be shown.
true if the state changed.

Reimplemented from gnash::Gui.

References _.

void gnash::FBGui::unsetFullscreen (  )  [virtual]

Return from fullscreen to normal mode.

Reimplemented from gnash::Gui.

virtual bool gnash::FBGui::want_multiple_regions (  )  [inline, virtual]

Reimplemented from gnash::Gui.

The documentation for this class was generated from the following files: