Gnash
0.8.10
|
#include <eglDevice.h>
Public Types | |
enum | quality_e { LOW, MEDIUM, HIGH } |
Public Member Functions | |
EGLDevice () | |
EGLDevice (int argc, char *argv[]) | |
EGLDevice (GnashDevice::rtype_t rtype) | |
virtual | ~EGLDevice () |
dtype_t | getType () |
bool | initDevice (int argc, char *argv[]) |
bool | attachWindow (GnashDevice::native_window_t window) |
const char * | getErrorString (int error) |
Return a string with the error code as text, instead of a numeric value. | |
size_t | getStride () |
Query the system for all supported configs. | |
size_t | getWidth () |
Get the width of the device. | |
size_t | getHeight () |
Get the Height of the device. | |
EGLint | getDepth () |
Get the depth of the device. | |
int | getRedSize () |
Get the size of the Red pixel. | |
int | getGreenSize () |
Get the size of the Green pixel. | |
int | getBlueSize () |
Get the size of the Blue pixel. | |
bool | isSingleBuffered () |
Is this device single buffered. | |
bool | isBufferDestroyed () |
Are buffers destroyed ? | |
int | getID () |
Get the window ID handle. | |
bool | supportsRenderer (GnashDevice::rtype_t rtype) |
Is the specified renderer supported by this hardware ? | |
bool | isNativeRender () |
Is this renderering natively. | |
bool | bindClient (GnashDevice::rtype_t rtype) |
size_t | getWidth (EGLSurface surface) |
size_t | getHeight (EGLSurface surface) |
bool | isBufferDestroyed (EGLSurface surface) |
bool | checkEGLConfig (EGLConfig config) |
Check the requested EGl configuration against the current one. | |
int | queryEGLConfig () |
Query the system for all supported configs. | |
int | queryEGLConfig (EGLDisplay display) |
Query the system for all supported configs. | |
void | printEGLConfig () |
void | printEGLConfig (EGLConfig config) |
void | printEGLContext () |
void | printEGLContext (EGLContext context) |
void | printEGLSurface () |
void | printEGLSurface (EGLSurface surface) |
void | printEGLAttribs (const EGLint *attrib) |
EGLSurface | createPbuffer (int width, int height) |
EGLSurface | createPbuffer (int width, int height, EGLClientBuffer buf, EGLenum type) |
EGLSurface | createPixmap (int width, int height, NativePixmapType buf) |
size_t | totalPbuffers () |
EGLSurface & | operator[] (int index) |
bool | swapBuffers () |
bool | copyPbuffers (size_t x) |
bool | makePbufferCurrent () |
bool | makePbufferCurrent (size_t x) |
size_t | getVerticalRes () |
size_t | getHorzRes () |
bool | isBackBuffered () |
bool | isMultiSample () |
EGLint | getSurfaceID () |
EGLint | getContextID () |
bool | isContextSingleBuffered () |
bool | isContextBackBuffered () |
EGLint | getSamples () |
EGLint | getSampleBuffers () |
EGLint | getMaxSwapInterval () |
EGLint | getMinSwapInterval () |
void | setAttrib (int bpp) |
Static Public Member Functions | |
static EGLint | getRenderableTypes () |
Protected Attributes | |
EGLConfig | _eglConfig |
EGLContext | _eglContext |
EGLSurface | _eglSurface |
EGLDisplay | _eglDisplay |
EGLNativeWindowType | _nativeWindow |
EGLNativePixmapType | _nativePixmap |
quality_e | _quality |
const EGLint * | _attrib |
unsigned int | _bpp |
std::vector< EGLSurface > | _pbuffers |
References _bpp, GNASH_REPORT_FUNCTION, and setAttrib().
gnash::renderer::EGLDevice::EGLDevice | ( | int | argc, |
char * | argv[] | ||
) |
References _, _bpp, GNASH_REPORT_FUNCTION, initDevice(), and setAttrib().
References _, _bpp, bindClient(), GNASH_REPORT_FUNCTION, initDevice(), and setAttrib().
gnash::renderer::EGLDevice::~EGLDevice | ( | ) | [virtual] |
References _eglContext, _eglDisplay, _eglSurface, and _pbuffers.
bool gnash::renderer::EGLDevice::attachWindow | ( | GnashDevice::native_window_t | window | ) | [virtual] |
Attach Native Window to device. This connects a Native Window to the device so surfaces can be created.
Implements gnash::renderer::GnashDevice.
References _, _eglConfig, _eglContext, _eglDisplay, _eglSurface, _nativeWindow, getErrorString(), GNASH_REPORT_FUNCTION, printEGLContext(), printEGLSurface(), and gnash::renderer::surface_attributes.
bool gnash::renderer::EGLDevice::bindClient | ( | GnashDevice::rtype_t | rtype | ) | [virtual] |
Reimplemented from gnash::renderer::GnashDevice.
References _, getErrorString(), GNASH_REPORT_FUNCTION, gnash::renderer::GnashDevice::OPENGLES1, gnash::renderer::GnashDevice::OPENGLES2, gnash::renderer::GnashDevice::OPENVG, gnash::renderer::GnashDevice::VAAPI, and gnash::renderer::GnashDevice::XORG.
Referenced by EGLDevice(), and gnash::gui::GtkOvgGlue::prepDrawingArea().
bool gnash::renderer::EGLDevice::checkEGLConfig | ( | EGLConfig | config | ) |
Check the requested EGl configuration against the current one.
References _bpp, and _eglDisplay.
Referenced by initDevice().
bool gnash::renderer::EGLDevice::copyPbuffers | ( | size_t | x | ) | [inline] |
References _eglDisplay, _pbuffers, GNASH_REPORT_FUNCTION, and pix.
EGLSurface gnash::renderer::EGLDevice::createPbuffer | ( | int | width, |
int | height | ||
) |
References _, _eglConfig, _eglDisplay, _pbuffers, height, and width.
EGLSurface gnash::renderer::EGLDevice::createPbuffer | ( | int | width, |
int | height, | ||
EGLClientBuffer | buf, | ||
EGLenum | type | ||
) |
References _, _eglConfig, _eglDisplay, _pbuffers, height, and width.
EGLSurface gnash::renderer::EGLDevice::createPixmap | ( | int | width, |
int | height, | ||
NativePixmapType | buf | ||
) |
References _, _eglConfig, _eglDisplay, _pbuffers, height, and width.
int gnash::renderer::EGLDevice::getBlueSize | ( | ) | [inline, virtual] |
Get the size of the Blue pixel.
Implements gnash::renderer::GnashDevice.
References _eglConfig, and _eglDisplay.
EGLint gnash::renderer::EGLDevice::getContextID | ( | ) | [inline] |
References _eglContext, and _eglDisplay.
EGLint gnash::renderer::EGLDevice::getDepth | ( | ) | [inline, virtual] |
Get the depth of the device.
Implements gnash::renderer::GnashDevice.
References _eglConfig, and _eglDisplay.
Referenced by getStride().
const char * gnash::renderer::EGLDevice::getErrorString | ( | int | error | ) | [virtual] |
Return a string with the error code as text, instead of a numeric value.
Implements gnash::renderer::GnashDevice.
Referenced by attachWindow(), bindClient(), initDevice(), and queryEGLConfig().
int gnash::renderer::EGLDevice::getGreenSize | ( | ) | [inline, virtual] |
Get the size of the Green pixel.
Implements gnash::renderer::GnashDevice.
References _eglConfig, and _eglDisplay.
size_t gnash::renderer::EGLDevice::getHeight | ( | ) | [inline, virtual] |
size_t gnash::renderer::EGLDevice::getHeight | ( | EGLSurface | surface | ) | [inline] |
References _eglDisplay.
size_t gnash::renderer::EGLDevice::getHorzRes | ( | ) | [inline] |
References _eglDisplay, and _eglSurface.
int gnash::renderer::EGLDevice::getID | ( | ) | [inline, virtual] |
EGLint gnash::renderer::EGLDevice::getMaxSwapInterval | ( | ) | [inline] |
References _eglConfig, and _eglDisplay.
EGLint gnash::renderer::EGLDevice::getMinSwapInterval | ( | ) | [inline] |
References _eglConfig, and _eglDisplay.
int gnash::renderer::EGLDevice::getRedSize | ( | ) | [inline, virtual] |
Get the size of the Red pixel.
Implements gnash::renderer::GnashDevice.
References _eglConfig, and _eglDisplay.
EGLint gnash::renderer::EGLDevice::getRenderableTypes | ( | ) | [static] |
EGLint gnash::renderer::EGLDevice::getSampleBuffers | ( | ) | [inline] |
References _eglConfig, and _eglDisplay.
EGLint gnash::renderer::EGLDevice::getSamples | ( | ) | [inline] |
References _eglConfig, and _eglDisplay.
size_t gnash::renderer::EGLDevice::getStride | ( | ) | [inline, virtual] |
Query the system for all supported configs.
Get the stride of the device
Implements gnash::renderer::GnashDevice.
References getDepth(), and getWidth().
EGLint gnash::renderer::EGLDevice::getSurfaceID | ( | ) | [inline] |
References _eglDisplay, and _eglSurface.
Referenced by getID().
dtype_t gnash::renderer::EGLDevice::getType | ( | ) | [inline, 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.
Implements gnash::renderer::GnashDevice.
References gnash::renderer::GnashDevice::EGL.
size_t gnash::renderer::EGLDevice::getVerticalRes | ( | ) | [inline] |
References _eglDisplay, and _eglSurface.
size_t gnash::renderer::EGLDevice::getWidth | ( | ) | [inline, virtual] |
Get the width of the device.
Implements gnash::renderer::GnashDevice.
References _eglSurface.
Referenced by getStride().
size_t gnash::renderer::EGLDevice::getWidth | ( | EGLSurface | surface | ) | [inline] |
References _eglDisplay.
bool gnash::renderer::EGLDevice::initDevice | ( | int | argc, |
char * | argv[] | ||
) | [virtual] |
To start, initialize the device with the command line arguments. These are ignored by EGL, but passed through here to follow the way most other Devices need to be initialized.
Once initialized, EGL must be told which Client API to use, this is either OpenVG, OpenGLES1, or OpenGLES2. To do this, we bind the EGL device to the client API.
Once bound, the last step attaches the window surface of the desktop or framebuffer to EGL. This is what binds EGL to the desktop or framebuffer.
This is done by bindClient() later on
Implements gnash::renderer::GnashDevice.
References _, _eglConfig, _eglDisplay, _quality, checkEGLConfig(), dbglogfile, getErrorString(), GNASH_REPORT_FUNCTION, HIGH, LOW, MEDIUM, and printEGLConfig().
Referenced by EGLDevice(), and gnash::renderer::gles1::Renderer_gles1::Renderer_gles1().
bool gnash::renderer::EGLDevice::isBackBuffered | ( | ) | [inline] |
References _eglDisplay, and _eglSurface.
bool gnash::renderer::EGLDevice::isBufferDestroyed | ( | ) | [inline, virtual] |
bool gnash::renderer::EGLDevice::isBufferDestroyed | ( | EGLSurface | surface | ) | [inline] |
References _eglDisplay.
bool gnash::renderer::EGLDevice::isContextBackBuffered | ( | ) | [inline] |
References _eglContext, and _eglDisplay.
bool gnash::renderer::EGLDevice::isContextSingleBuffered | ( | ) | [inline] |
References _eglContext, and _eglDisplay.
bool gnash::renderer::EGLDevice::isMultiSample | ( | ) | [inline] |
References _eglDisplay, and _eglSurface.
bool gnash::renderer::EGLDevice::isNativeRender | ( | ) | [inline, virtual] |
Is this renderering natively.
Implements gnash::renderer::GnashDevice.
References _eglConfig, and _eglDisplay.
bool gnash::renderer::EGLDevice::isSingleBuffered | ( | ) | [inline, virtual] |
Is this device single buffered.
Implements gnash::renderer::GnashDevice.
References _eglDisplay, and _eglSurface.
Referenced by swapBuffers().
bool gnash::renderer::EGLDevice::makePbufferCurrent | ( | ) | [inline] |
References _eglContext, _eglDisplay, and _eglSurface.
bool gnash::renderer::EGLDevice::makePbufferCurrent | ( | size_t | x | ) | [inline] |
References _eglContext, _eglDisplay, and _pbuffers.
EGLSurface& gnash::renderer::EGLDevice::operator[] | ( | int | index | ) | [inline] |
References _pbuffers.
void gnash::renderer::EGLDevice::printEGLAttribs | ( | const EGLint * | attrib | ) |
References gnash::key::i.
void gnash::renderer::EGLDevice::printEGLConfig | ( | ) | [inline] |
References _eglConfig, and printEGLConfig().
Referenced by initDevice(), printEGLConfig(), and queryEGLConfig().
void gnash::renderer::EGLDevice::printEGLConfig | ( | EGLConfig | config | ) |
References _eglDisplay, blue, green, and red.
void gnash::renderer::EGLDevice::printEGLContext | ( | ) | [inline] |
References _eglContext, and printEGLContext().
Referenced by attachWindow(), gnash::gui::GtkOvgGlue::prepDrawingArea(), and printEGLContext().
void gnash::renderer::EGLDevice::printEGLContext | ( | EGLContext | context | ) |
References _eglDisplay.
void gnash::renderer::EGLDevice::printEGLSurface | ( | ) | [inline] |
References _eglSurface, and printEGLSurface().
Referenced by attachWindow(), gnash::gui::GtkOvgGlue::prepDrawingArea(), and printEGLSurface().
void gnash::renderer::EGLDevice::printEGLSurface | ( | EGLSurface | surface | ) |
References _eglDisplay.
int gnash::renderer::EGLDevice::queryEGLConfig | ( | ) | [inline] |
Query the system for all supported configs.
References _eglDisplay, and queryEGLConfig().
Referenced by queryEGLConfig().
int gnash::renderer::EGLDevice::queryEGLConfig | ( | EGLDisplay | display | ) |
Query the system for all supported configs.
References _, getErrorString(), GNASH_REPORT_FUNCTION, gnash::key::i, and printEGLConfig().
void gnash::renderer::EGLDevice::setAttrib | ( | int | bpp | ) |
References _attrib.
Referenced by EGLDevice().
bool gnash::renderer::EGLDevice::supportsRenderer | ( | GnashDevice::rtype_t | rtype | ) | [virtual] |
Is the specified renderer supported by this hardware ?
Implements gnash::renderer::GnashDevice.
References _eglContext, _eglDisplay, GNASH_REPORT_FUNCTION, gnash::renderer::GnashDevice::OPENGLES1, gnash::renderer::GnashDevice::OPENGLES2, and gnash::renderer::GnashDevice::OPENVG.
bool gnash::renderer::EGLDevice::swapBuffers | ( | ) | [inline, virtual] |
Reimplemented from gnash::renderer::GnashDevice.
References _eglDisplay, _eglSurface, and isSingleBuffered().
Referenced by gnash::gui::GtkOvgGlue::setRenderHandlerSize().
size_t gnash::renderer::EGLDevice::totalPbuffers | ( | ) | [inline] |
References _pbuffers.
const EGLint* gnash::renderer::EGLDevice::_attrib [protected] |
Referenced by setAttrib().
unsigned int gnash::renderer::EGLDevice::_bpp [protected] |
Referenced by checkEGLConfig(), and EGLDevice().
EGLConfig gnash::renderer::EGLDevice::_eglConfig [protected] |
EGLContext gnash::renderer::EGLDevice::_eglContext [protected] |
EGLDisplay gnash::renderer::EGLDevice::_eglDisplay [protected] |
Referenced by attachWindow(), checkEGLConfig(), copyPbuffers(), createPbuffer(), createPixmap(), getBlueSize(), getContextID(), getDepth(), getGreenSize(), getHeight(), getHorzRes(), getMaxSwapInterval(), getMinSwapInterval(), getRedSize(), getSampleBuffers(), getSamples(), getSurfaceID(), getVerticalRes(), getWidth(), initDevice(), isBackBuffered(), isBufferDestroyed(), isContextBackBuffered(), isContextSingleBuffered(), isMultiSample(), isNativeRender(), isSingleBuffered(), makePbufferCurrent(), printEGLConfig(), printEGLContext(), printEGLSurface(), queryEGLConfig(), supportsRenderer(), swapBuffers(), and ~EGLDevice().
EGLSurface gnash::renderer::EGLDevice::_eglSurface [protected] |
EGLNativePixmapType gnash::renderer::EGLDevice::_nativePixmap [protected] |
EGLNativeWindowType gnash::renderer::EGLDevice::_nativeWindow [protected] |
Referenced by attachWindow().
std::vector<EGLSurface> gnash::renderer::EGLDevice::_pbuffers [protected] |
Referenced by copyPbuffers(), createPbuffer(), createPixmap(), makePbufferCurrent(), operator[](), totalPbuffers(), and ~EGLDevice().
quality_e gnash::renderer::EGLDevice::_quality [protected] |
Referenced by initDevice().