Gnash  0.8.11dev
Public Types | Public Member Functions | List of all members
gnash::renderer::GnashDevice Struct Referenceabstract

#include <GnashDevice.h>

Inheritance diagram for gnash::renderer::GnashDevice:
gnash::renderer::directfb::DirectFBDevice gnash::renderer::EGLDevice gnash::renderer::rawfb::RawFBDevice gnash::renderer::x11::X11Device gnash::renderer::gles1::Renderer_gles1

Public Types

enum  rtype_t {
  OPENVG, OPENGL, OPENGLES1, OPENGLES2,
  XORG, VAAPI
}
 The list of supported renders that use devices. More...
 
enum  dtype_t {
  NODEV, EGL, DIRECTFB, X11,
  RAWFB
}
 The list of supported device types. More...
 
typedef long native_window_t
 

Public Member Functions

 GnashDevice (int argc, char *argv[])
 
 GnashDevice ()
 
virtual ~GnashDevice ()
 
virtual dtype_t getType ()=0
 
virtual bool initDevice (int argc, char *argv[])=0
 
virtual bool attachWindow (native_window_t window)=0
 
virtual const char * getErrorString (int error)=0
 Return a string with the error code as text, instead of a numeric value. More...
 
virtual size_t getStride ()=0
 Query the system for all supported configs. More...
 
virtual size_t getWidth ()=0
 Get the width of the device. More...
 
virtual size_t getHeight ()=0
 Get the Height of the device. More...
 
virtual int getDepth ()=0
 Get the depth of the device. More...
 
virtual int getRedSize ()=0
 Get the size of the Red pixel. More...
 
virtual int getGreenSize ()=0
 Get the size of the Green pixel. More...
 
virtual int getBlueSize ()=0
 Get the size of the Blue pixel. More...
 
virtual bool isSingleBuffered ()=0
 Is this device single buffered. More...
 
virtual bool isBufferDestroyed ()=0
 Are buffers destroyed ? More...
 
virtual int getID ()=0
 Get the window ID handle. More...
 
virtual bool supportsRenderer (rtype_t rtype)=0
 Is the specified renderer supported by this hardware ? More...
 
virtual bool isNativeRender ()=0
 Is this renderering natively. More...
 
virtual boost::uint8_t * getFBMemory ()
 Get the memory from the real framebuffer. More...
 
virtual boost::uint8_t * getOffscreenBuffer ()
 Get the memory from an offscreen buffer to support Double Buffering. More...
 
virtual size_t getFBMemSize ()
 
virtual bool bindClient (GnashDevice::rtype_t)
 
virtual bool swapBuffers ()
 

Member Typedef Documentation

Handle multiple window types. The derived classes will cast this to the proper data type.

Member Enumeration Documentation

The list of supported device types.

Enumerator
NODEV 
EGL 
DIRECTFB 
X11 
RAWFB 

The list of supported renders that use devices.

Enumerator
OPENVG 
OPENGL 
OPENGLES1 
OPENGLES2 
XORG 
VAAPI 

Constructor & Destructor Documentation

gnash::renderer::GnashDevice::GnashDevice ( int  argc,
char *  argv[] 
)
gnash::renderer::GnashDevice::GnashDevice ( )
inline
virtual gnash::renderer::GnashDevice::~GnashDevice ( )
inlinevirtual

Member Function Documentation

virtual bool gnash::renderer::GnashDevice::attachWindow ( native_window_t  window)
pure virtual

Attach Native Window to device. This connects a Native Window to the device so surfaces can be created.

Implemented in gnash::renderer::EGLDevice, gnash::renderer::x11::X11Device, gnash::renderer::rawfb::RawFBDevice, and gnash::renderer::directfb::DirectFBDevice.

virtual bool gnash::renderer::GnashDevice::bindClient ( GnashDevice::rtype_t  )
inlinevirtual

Reimplemented in gnash::renderer::EGLDevice.

virtual int gnash::renderer::GnashDevice::getBlueSize ( )
pure virtual
virtual int gnash::renderer::GnashDevice::getDepth ( )
pure virtual
virtual const char* gnash::renderer::GnashDevice::getErrorString ( int  error)
pure virtual

Return a string with the error code as text, instead of a numeric value.

Implemented in gnash::renderer::EGLDevice, gnash::renderer::x11::X11Device, gnash::renderer::rawfb::RawFBDevice, and gnash::renderer::directfb::DirectFBDevice.

virtual boost::uint8_t* gnash::renderer::GnashDevice::getFBMemory ( )
inlinevirtual

Get the memory from the real framebuffer.

Reimplemented in gnash::renderer::rawfb::RawFBDevice.

virtual size_t gnash::renderer::GnashDevice::getFBMemSize ( )
inlinevirtual
virtual int gnash::renderer::GnashDevice::getGreenSize ( )
pure virtual
virtual size_t gnash::renderer::GnashDevice::getHeight ( )
pure virtual
virtual int gnash::renderer::GnashDevice::getID ( )
pure virtual
virtual boost::uint8_t* gnash::renderer::GnashDevice::getOffscreenBuffer ( )
inlinevirtual

Get the memory from an offscreen buffer to support Double Buffering.

Reimplemented in gnash::renderer::rawfb::RawFBDevice.

virtual int gnash::renderer::GnashDevice::getRedSize ( )
pure virtual
virtual size_t gnash::renderer::GnashDevice::getStride ( )
pure virtual

Query the system for all supported configs.

Get the stride of the device

Implemented in gnash::renderer::rawfb::RawFBDevice, gnash::renderer::EGLDevice, and gnash::renderer::x11::X11Device.

virtual dtype_t gnash::renderer::GnashDevice::getType ( )
pure virtual

Get the type of the instatiated device. Since the renderer has a single value for the supported device, this is used to see which device has been loaded.

Implemented in gnash::renderer::EGLDevice, gnash::renderer::rawfb::RawFBDevice, gnash::renderer::x11::X11Device, and gnash::renderer::directfb::DirectFBDevice.

virtual size_t gnash::renderer::GnashDevice::getWidth ( )
pure virtual
virtual bool gnash::renderer::GnashDevice::initDevice ( int  argc,
char *  argv[] 
)
pure virtual

Initialize GNASH Device layer. This mostly just initializes all the private data.

Implemented in gnash::renderer::EGLDevice, gnash::renderer::x11::X11Device, gnash::renderer::rawfb::RawFBDevice, and gnash::renderer::directfb::DirectFBDevice.

virtual bool gnash::renderer::GnashDevice::isBufferDestroyed ( )
pure virtual
virtual bool gnash::renderer::GnashDevice::isNativeRender ( )
pure virtual
virtual bool gnash::renderer::GnashDevice::isSingleBuffered ( )
pure virtual
virtual bool gnash::renderer::GnashDevice::supportsRenderer ( rtype_t  rtype)
pure virtual
virtual bool gnash::renderer::GnashDevice::swapBuffers ( )
inlinevirtual

The documentation for this struct was generated from the following file: