BALL::VIEW::GLRenderWindow Class Reference

#include <BALL/VIEW/RENDERING/glRenderWindow.h>

Inheritance diagram for BALL::VIEW::GLRenderWindow:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 GLRenderWindow ()
 GLRenderWindow (QWidget *parent_widget, const char *name=NULL, Qt::WFlags w_flags=0)
 GLRenderWindow (const GLRenderWindow &window, QWidget *parent_widget, const char *name=NULL, Qt::WFlags w_flags=0)
virtual ~GLRenderWindow ()
virtual bool init ()
virtual bool resize (const unsigned int width, const unsigned int height)
virtual void refresh ()
virtual void renderText (int x, int y, const String &text, const ColorRGBA &color, Size size=16)
virtual void renderText (float x, float y, float z, const String &text, const ColorRGBA &color, Size size=16)
void lockGLContext ()
 Lock the context for the current thread and make it active.
void unlockGLContext ()
 Unlock the context for the current thread and make it active.
void ignoreEvents (bool ignore)
 Force the window to ignore paint events.

Protected Member Functions

void paintEvent (QPaintEvent *e)
void createTexture (const unsigned int winWidth, const unsigned int winHeight)
void deleteTexture ()
void checkGL ()
bool errorInGL (GLenum &error)
String getGLErrorString (GLenum error)

Protected Attributes

GLuint m_screenTexID
GLenum FB_TEXTURE_TARGET
GLenum FB_TEXTURE_FORMAT
GLenum FB_INTERNAL_TEXTURE_FORMAT
GLenum FB_TEXTURE_DATATYPE
Mutex contex_mutex_
bool ignore_events_
bool is_buffered_

Static Protected Attributes

static QGLFormat gl_format_

Detailed Description

Model of the RenderWindow which uses OpenGL to render its buffer to the screen

Definition at line 37 of file glRenderWindow.h.


Constructor & Destructor Documentation

BALL::VIEW::GLRenderWindow::GLRenderWindow (  ) 
BALL::VIEW::GLRenderWindow::GLRenderWindow ( QWidget parent_widget,
const char *  name = NULL,
Qt::WFlags  w_flags = 0 
)
BALL::VIEW::GLRenderWindow::GLRenderWindow ( const GLRenderWindow window,
QWidget parent_widget,
const char *  name = NULL,
Qt::WFlags  w_flags = 0 
)
virtual BALL::VIEW::GLRenderWindow::~GLRenderWindow (  )  [virtual]

Member Function Documentation

void BALL::VIEW::GLRenderWindow::checkGL (  )  [protected]
void BALL::VIEW::GLRenderWindow::createTexture ( const unsigned int  winWidth,
const unsigned int  winHeight 
) [protected]
void BALL::VIEW::GLRenderWindow::deleteTexture (  )  [protected]
bool BALL::VIEW::GLRenderWindow::errorInGL ( GLenum &  error  )  [protected]
String BALL::VIEW::GLRenderWindow::getGLErrorString ( GLenum  error  )  [protected]
void BALL::VIEW::GLRenderWindow::ignoreEvents ( bool  ignore  )  [inline]

Force the window to ignore paint events.

Definition at line 66 of file glRenderWindow.h.

virtual bool BALL::VIEW::GLRenderWindow::init (  )  [virtual]

Initialization routine.

Reimplemented from BALL::VIEW::RenderWindow< float >.

void BALL::VIEW::GLRenderWindow::lockGLContext (  ) 

Lock the context for the current thread and make it active.

void BALL::VIEW::GLRenderWindow::paintEvent ( QPaintEvent *  e  )  [protected]
virtual void BALL::VIEW::GLRenderWindow::refresh (  )  [virtual]

Request that the image is actually displayed on the screen or other device the window encapsulated. You should implement this method in subclass. This is different from RenderTarget releaseBuffer. ReleaseBuffer only informs the window that a buffer is ready, but does not imply the buffer is actually displayed somewhere. This is done by refresh. On the other hand, refresh called inbetween getBuffer and releaseBuffer has no effect.

Reimplemented from BALL::VIEW::RenderWindow< float >.

virtual void BALL::VIEW::GLRenderWindow::renderText ( float  x,
float  y,
float  z,
const String text,
const ColorRGBA color,
Size  size = 16 
) [virtual]
virtual void BALL::VIEW::GLRenderWindow::renderText ( int  x,
int  y,
const String text,
const ColorRGBA color,
Size  size = 16 
) [virtual]
virtual bool BALL::VIEW::GLRenderWindow::resize ( const unsigned int  width,
const unsigned int  height 
) [virtual]

Request new window size. Returns false if such a size cannot be supplied This call must be made before the window buffer is handed out to be rendered. This precondition is being checked automatically, see getBuffer

Reimplemented from BALL::VIEW::RenderWindow< float >.

void BALL::VIEW::GLRenderWindow::unlockGLContext (  ) 

Unlock the context for the current thread and make it active.


Member Data Documentation

Definition at line 91 of file glRenderWindow.h.

Definition at line 79 of file glRenderWindow.h.

Definition at line 81 of file glRenderWindow.h.

Definition at line 77 of file glRenderWindow.h.

Definition at line 75 of file glRenderWindow.h.

QGLFormat BALL::VIEW::GLRenderWindow::gl_format_ [static, protected]

Definition at line 70 of file glRenderWindow.h.

Definition at line 92 of file glRenderWindow.h.

Definition at line 94 of file glRenderWindow.h.

Definition at line 73 of file glRenderWindow.h.

Generated by  doxygen 1.6.3