Equalizer 1.0

eq::WGLWindow Class Reference

Equalizer default implementation of a WGL window. More...

#include <wglWindow.h>

Inheritance diagram for eq::WGLWindow:
Collaboration diagram for eq::WGLWindow:

List of all members.

Public Member Functions

 WGLWindow (Window *parent)
 Create a new WGL window for the given eq::Window.
virtual ~WGLWindow ()
 Destruct the WGL window.
Data Access
virtual void setWGLContext (HGLRC context)
 Set the WGL rendering context for this window.
virtual void setWGLWindowHandle (HWND handle)
 Set the Win32 window handle for this window.
virtual void setWGLPBufferHandle (HPBUFFERARB handle)
 Set the Win32 off screen pbuffer handle for this window.
virtual HWND getWGLWindowHandle () const
virtual HPBUFFERARB getWGLPBufferHandle () const
virtual HDC getWGLDC () const
virtual HGLRC getWGLContext () const
const WGLEventHandlergetWGLEventHandler () const
WGL/Win32 initialization
virtual bool configInit ()
 Initialize this window for the WGL window system.
virtual void configExit ()
virtual bool initWGLAffinityDC ()
 Create, if needed, an affinity device context for this window.
virtual void exitWGLAffinityDC ()
 Destroy the affinity device context.
virtual HDC getWGLAffinityDC ()
virtual HDC createWGLDisplayDC ()
 Create a device context for the display device of the window.
virtual int chooseWGLPixelFormat ()
 Choose a pixel format based on the window's attributes.
virtual bool configInitWGLDrawable (int pixelFormat)
 Initialize the window's drawable (pbuffer or window) and bind the WGL context.
virtual bool configInitWGLWindow (int pixelFormat)
 Initialize the window with an on-screen Win32 window.
virtual bool configInitWGLPBuffer (int pixelFormat)
 Initialize the window with an off-screen WGL PBuffer.
virtual bool configInitWGLFBO (int pixelFormat)
 Initialize the window for an off-screen FBO.
virtual HGLRC createWGLContext ()
 Create a WGL context.
virtual void destroyWGLContext (HGLRC context)
 Destroy the given WGL context.
virtual void initEventHandler ()
 Set up an WGLEventHandler, called by setWGLWindowHandle().
virtual void exitEventHandler ()
 Destroy the WGLEventHandler, called by setWGLWindowHandle().
Operations.
virtual void makeCurrent () const
virtual void swapBuffers ()
virtual void joinNVSwapBarrier (const uint32_t group, const uint32_t barrier)
 Join the WGL_NV_swap_group.
void leaveNVSwapBarrier ()
 Unbind a WGL_NV_swap_barrier.
virtual bool processEvent (const WGLWindowEvent &event)

Protected Member Functions

void setWGLDC (HDC dc, const WGLDCType type)
 Set new device context and release the old DC.
WGLEWContext * wglewGetContext ()
WGLPipegetWGLPipe ()

Protected Types

enum  WGLDCType {
  WGL_DC_NONE, WGL_DC_WINDOW, WGL_DC_PBUFFER, WGL_DC_AFFINITY,
  WGL_DC_DISPLAY
}
 

The type of the Win32 device context.

More...

Detailed Description

Equalizer default implementation of a WGL window.

Definition at line 66 of file wglWindow.h.


Member Enumeration Documentation

enum eq::WGLWindow::WGLDCType [protected]

The type of the Win32 device context.

Enumerator:
WGL_DC_NONE 

No device context is set.

WGL_DC_WINDOW 

The WGL DC belongs to a window.

WGL_DC_PBUFFER 

The WGL DC belongs to a PBuffer.

WGL_DC_AFFINITY 

The WGL DC is an affinity DC.

WGL_DC_DISPLAY 

The WGL DC is a display DC.

Definition at line 270 of file wglWindow.h.


Constructor & Destructor Documentation

eq::WGLWindow::WGLWindow ( Window parent)

Create a new WGL window for the given eq::Window.

Version:
1.0
virtual eq::WGLWindow::~WGLWindow ( ) [virtual]

Destruct the WGL window.

Version:
1.0

Member Function Documentation

virtual int eq::WGLWindow::chooseWGLPixelFormat ( ) [virtual]

Choose a pixel format based on the window's attributes.

Uses the currently set DC (if any) and sets the chosen pixel format on it.

Returns:
a pixel format, or 0 if no pixel format was found.
Version:
1.0
virtual void eq::WGLWindow::configExit ( ) [virtual]
Version:
1.0

Implements eq::SystemWindow.

virtual bool eq::WGLWindow::configInit ( ) [virtual]

Initialize this window for the WGL window system.

This method first calls initWGLAffinityDC, then chooses a pixel format with chooseWGLPixelFormat, then creates a drawable using configInitWGLDrawable and finally creates the context using createWGLContext.

Returns:
true if the initialization was successful, false otherwise.
Version:
1.0

Implements eq::SystemWindow.

virtual bool eq::WGLWindow::configInitWGLDrawable ( int  pixelFormat) [virtual]

Initialize the window's drawable (pbuffer or window) and bind the WGL context.

Sets the window handle on success.

Parameters:
pixelFormatthe window's target pixel format.
Returns:
true if the drawable was created, false otherwise.
Version:
1.0
virtual bool eq::WGLWindow::configInitWGLPBuffer ( int  pixelFormat) [virtual]

Initialize the window with an off-screen WGL PBuffer.

Sets the window handle on success.

Parameters:
pixelFormatthe window's target pixel format.
Returns:
true if the drawable was created, false otherwise.
Version:
1.0
virtual bool eq::WGLWindow::configInitWGLWindow ( int  pixelFormat) [virtual]

Initialize the window with an on-screen Win32 window.

Sets the window handle on success.

Parameters:
pixelFormatthe window's target pixel format.
Returns:
true if the drawable was created, false otherwise.
Version:
1.0
virtual HGLRC eq::WGLWindow::createWGLContext ( ) [virtual]

Create a WGL context.

This method does not set the window's WGL context.

Returns:
the context, or 0 if context creation failed.
Version:
1.0
virtual HDC eq::WGLWindow::createWGLDisplayDC ( ) [virtual]

Create a device context for the display device of the window.

The returned device context has to be released using DeleteDC. The window's error message is set if an error occured.

Returns:
the DC, or 0 upon error.
Version:
1.0
virtual void eq::WGLWindow::destroyWGLContext ( HGLRC  context) [virtual]

Destroy the given WGL context.

Version:
1.0
virtual void eq::WGLWindow::exitEventHandler ( ) [virtual]

Destroy the WGLEventHandler, called by setWGLWindowHandle().

Version:
1.0
virtual void eq::WGLWindow::exitWGLAffinityDC ( ) [virtual]

Destroy the affinity device context.

Version:
1.0
virtual HDC eq::WGLWindow::getWGLAffinityDC ( ) [virtual]
Returns:
the affinity device context.
Version:
1.0

Reimplemented from eq::WGLWindowIF.

virtual HGLRC eq::WGLWindow::getWGLContext ( ) const [inline, virtual]
Returns:
the WGL rendering context.
Version:
1.0

Implements eq::WGLWindowIF.

Definition at line 124 of file wglWindow.h.

virtual HDC eq::WGLWindow::getWGLDC ( ) const [inline, virtual]
Returns:
the Win32 device context used for the current drawable.
Version:
1.0

Implements eq::WGLWindowIF.

Definition at line 121 of file wglWindow.h.

const WGLEventHandler* eq::WGLWindow::getWGLEventHandler ( ) const [inline]
Returns:
the WGL event handler.
Version:
1.0

Definition at line 127 of file wglWindow.h.

virtual HPBUFFERARB eq::WGLWindow::getWGLPBufferHandle ( ) const [inline, virtual]
Returns:
the Win32 off screen PBuffer handle.
Version:
1.0

Implements eq::WGLWindowIF.

Definition at line 115 of file wglWindow.h.

WGLPipe* eq::WGLWindow::getWGLPipe ( ) [protected]
Returns:
the WGL OS parent pipe.
virtual HWND eq::WGLWindow::getWGLWindowHandle ( ) const [inline, virtual]
Returns:
the Win32 window handle.
Version:
1.0

Implements eq::WGLWindowIF.

Definition at line 112 of file wglWindow.h.

virtual void eq::WGLWindow::initEventHandler ( ) [virtual]

Set up an WGLEventHandler, called by setWGLWindowHandle().

Version:
1.0
virtual bool eq::WGLWindow::initWGLAffinityDC ( ) [virtual]

Create, if needed, an affinity device context for this window.

Returns:
false on error, true otherwise
Version:
1.0
virtual void eq::WGLWindow::joinNVSwapBarrier ( const uint32_t  group,
const uint32_t  barrier 
) [virtual]

Join the WGL_NV_swap_group.

Version:
1.0

Implements eq::SystemWindow.

void eq::WGLWindow::leaveNVSwapBarrier ( )

Unbind a WGL_NV_swap_barrier.

Version:
1.0
virtual void eq::WGLWindow::makeCurrent ( ) const [virtual]
Version:
1.0

Reimplemented from eq::GLWindow.

virtual bool eq::WGLWindow::processEvent ( const WGLWindowEvent event) [virtual]
Version:
1.0

Implements eq::WGLWindowIF.

virtual void eq::WGLWindow::setWGLContext ( HGLRC  context) [virtual]

Set the WGL rendering context for this window.

This function should only be called from configInit() or configExit(). The context has to be set to 0 before it is destroyed.

Parameters:
contextthe WGL rendering context.
Version:
1.0
void eq::WGLWindow::setWGLDC ( HDC  dc,
const WGLDCType  type 
) [protected]

Set new device context and release the old DC.

Parameters:
dcthe new DC.
typethe type of the new DC.
virtual void eq::WGLWindow::setWGLPBufferHandle ( HPBUFFERARB  handle) [virtual]

Set the Win32 off screen pbuffer handle for this window.

This function should only be called from configInit() or configExit().

Parameters:
handlethe pbuffer handle.
Version:
1.0
virtual void eq::WGLWindow::setWGLWindowHandle ( HWND  handle) [virtual]

Set the Win32 window handle for this window.

This function should only be called from configInit() or configExit().

Parameters:
handlethe window handle.
Version:
1.0
virtual void eq::WGLWindow::swapBuffers ( ) [virtual]
Version:
1.0

Implements eq::SystemWindow.

WGLEWContext* eq::WGLWindow::wglewGetContext ( ) [protected]
Returns:
the generic WGL function table for the window's pipe.

The documentation for this class was generated from the following file:
Generated on Sun May 8 2011 19:11:10 for Equalizer 1.0 by  doxygen 1.7.3