Main Page   Class Hierarchy   Compound List   Compound Members  

Producer::RenderSurface Class Reference

A RenderSurface provides a rendering surface for 3D graphics applications. More...

Inheritance diagram for Producer::RenderSurface:

Producer::Referenced List of all members.

Public Methods

 RenderSurface (void)
void setInputRectangle (const InputRectangle &ir)
const InputRectangle & getInputRectangle ()
void bindInputRectangleToWindowSize (bool)
void setHostName (const std::string &)
const std::string & getHostName (void) const
void setDisplayNum (int)
int getDisplayNum (void) const
void setScreenNum (int)
int getScreenNum (void) const
void getScreenSize (unsigned int &width, unsigned int &height)
void getScreenSize (unsigned int &width, unsigned int &height) const
void setWindowName (const std::string &)
const std::string & getWindowName (void) const
void setWindowRectangle (int x, int y, unsigned int width, unsigned int height, bool resize=true)
void getWindowRectangle (int &x, int &y, unsigned int &width, unsigned int &height) const
int getWindowOriginX ()
int getWindowOriginY ()
unsigned int getWindowWidth () const
unsigned int getWindowHeight () const
void setDisplay (Display *dpy)
Display * getDisplay (void)
const Display * getDisplay (void) const
void setWindow (const Window win)
Window getWindow (void) const
GLContext getGLContext (void) const
void setParentWindow (Window parent)
Window getParentWindow (void) const
void setVisualChooser (VisualChooser *vc)
VisualChooser * getVisualChooser (void)
const VisualChooser * getVisualChooser (void) const
void setVisualInfo (VisualInfo *vi)
VisualInfo * getVisualInfo (void)
const VisualInfo * getVisualInfo (void) const
bool isRealized (void) const
void useBorder (bool flag)
bool usesBorder ()
void useCursor (bool flag)
void useConfigEventThread (bool flag)
bool realize (VisualChooser *vc=NULL, GLContext shared_context=0)
void addRealizeCallback (Callback *realizeCB)
void setRealizeCallback (Callback *realizeCB)
virtual void swapBuffers (void)
virtual bool makeCurrent (void)
bool makeCurrent (void) const
virtual void sync (int divisor=1)
unsigned int getRefreshRate () const
bool waitForRealize ()
void fullScreen (bool flag)
bool isFullScreen () const
void positionPointer (int x, int y)
void setUseDefaultEsc (bool flag)
bool getUseDefaultEsc ()
void mapWindow ()
void unmapWindow ()

Static Public Methods

const std::string & getDefaultWindowName ()
void InitThreads ()

Static Public Attributes

const unsigned int UnknownDimension
const std::string defaultWindowName

Protected Methods

virtual ~RenderSurface (void)
virtual bool _init ()
virtual void _fini ()
virtual void run ()

Protected Attributes

std::string _hostname
int _displayNum
float _windowLeft
float _windowRight
float _windowBottom
float _windowTop
int _windowX
int _windowY
unsigned int _windowWidth
unsigned int _windowHeight
unsigned int _screenWidth
unsigned int _screenHeight
Display * _dpy
int _screen
Window _win
Window _parent
unsigned int _parentWindowHeight
bool _realized
ref_ptr< VisualChooser > _visualChooser
VisualInfo * _visualInfo
GLContext _glcontext
GLContext _sharedGlcontext
Cursor _nullCursor
bool _decorations
bool _useCursor
std::string _windowName
unsigned int _frameCount
bool _mayFullScreen
bool _isFullScreen
bool _bindInputRectangleToWindowSize
Producer::ref_ptr< RefBarrier > _threadReady
bool _useConfigEventThread
bool _checkOwnEvents
bool _useDefaultEsc
std::vector< Producer::ref_ptr<
Callback > > 
_realizeCallbacks
ref_ptr< Producer::Block > _realizeBlock
InputRectangle _inputRectangle

Detailed Description

A RenderSurface provides a rendering surface for 3D graphics applications.

A RenderSurface creates a window in a windowing system for the purpose of 3D rendering. The focus of a RenderSurface differs from a windowing system window in that it is not a user input/output device, but rather a context and screen area specifically designed for 3D applications. Consequently, a RenderSurface does not provide or impose a requirement on the caller to structure the application around the capturing or handling of events. Further, RenderSurface provides increased control over the quality of pixel formats.


Member Function Documentation

void Producer::RenderSurface::fullScreen bool    flag
 

fullScreen(flag). If flag is true, RenderSurface resizes its window to fill the entire screen and turns off the border. If false, the window is returned to a size previously specified. If previous state specified a border around the window, a the border is replaced

const Display* Producer::RenderSurface::getDisplay void    const
 

Get the const Display. (X11 only).

Display* Producer::RenderSurface::getDisplay void   
 

Get the Display. (X11 only).

int Producer::RenderSurface::getDisplayNum void    const
 

Get the number of the display the render surface is to be created on. In XWindows, this is the number of the XServer. Ignored on Win32

GLContext Producer::RenderSurface::getGLContext void    const
 

Returns the OpenGL context

const std::string& Producer::RenderSurface::getHostName void    const
 

Get the name of the Host the window is to be created on. Ignored on Win32

Window Producer::RenderSurface::getParentWindow void    const
 

Get the Windowing system's parent window

unsigned int Producer::RenderSurface::getRefreshRate   const
 

Where supported, getRefreshRate() will return the frequency in hz of the vertical retrace signal of the graphics display device. If getRefreshRate() returns 0, then the underlying support to get the graphics display device's vertical retrace signal is not present.

int Producer::RenderSurface::getScreenNum void    const
 

Get the number of the screen the render surface is to be created on. In XWindows, this is the number of the XServer. Ignored on Win32

void Producer::RenderSurface::getScreenSize unsigned int &    width,
unsigned int &    height
 

Get the size of the screen in pixels the render surface is to be created on.

Window Producer::RenderSurface::getWindow void    const
 

Returns the Windowing system handle to the window

unsigned int Producer::RenderSurface::getWindowHeight   const
 

Get the height of the RenderSurface in windowing system screen coordinates

const std::string& Producer::RenderSurface::getWindowName void    const
 

Get the Window system Window name of the Render Surface

int Producer::RenderSurface::getWindowOriginX  
 

Get the X coordinate of the origin of the RenderSurface's window

int Producer::RenderSurface::getWindowOriginY  
 

Get the Y coordinate of the origin of the RenderSurface's window

void Producer::RenderSurface::getWindowRectangle int &    x,
int &    y,
unsigned int &    width,
unsigned int &    height
const
 

Get the windowing system rectangle the RenderSurface will occupy on the screen. The parameters are given as integers in screen space. x and y determine the lower left hand corner of the RenderSurface. Width and height are given in screen coordinates

unsigned int Producer::RenderSurface::getWindowWidth   const
 

Get the width of the RenderSurface in windowing system screen coordinates

void Producer::RenderSurface::InitThreads   [static]
 

Where supported, InitThreads will initialize all graphics components for thread safety. InitThreads() should be called before any other calls to Xlib, or OpenGL are made, and should always be called when multi-threaded environments are intended.

bool Producer::RenderSurface::isFullScreen   const [inline]
 

isFullScreen() returns true if the RenderSurface's window fills the entire screen and has no border.

bool Producer::RenderSurface::isRealized void    const
 

Returns true if the RenderSurface has been realized, false if not.

bool Producer::RenderSurface::makeCurrent void    const
 

Makes the graphics context and RenderSurface current for rendering (const version)

virtual bool Producer::RenderSurface::makeCurrent void    [virtual]
 

Makes the graphics context and RenderSurface current for rendering

void Producer::RenderSurface::mapWindow  
 

map and unmap the window

void Producer::RenderSurface::positionPointer int    x,
int    y
 

positionPointer(x,y) places the pointer at window coordinates x, y.

bool Producer::RenderSurface::realize VisualChooser *    vc = NULL,
GLContext    shared_context = 0
 

Realize the RenderSurface. When realized, all components of the RenderSurface not already configured are configured, a window and a graphics context are created and made current. If an already existing graphics context is passed through "shared_context", then the graphics context created will share certain graphics constructs (such as display lists) with "shared_context".

void Producer::RenderSurface::setDisplay Display *    dpy
 

Explicitely set the Display variable before realization. (X11 only).

void Producer::RenderSurface::setDisplayNum int   
 

Set the number of the display the render surface is to be created on. In XWindows, this is the number of the XServer. Ignored on Win32

void Producer::RenderSurface::setHostName const std::string &   
 

Set the name of the Host the window is to be created on. Ignored on Win32

void Producer::RenderSurface::setParentWindow Window    parent
 

Set the Windowing system's parent window

void Producer::RenderSurface::setScreenNum int   
 

Set the number of the screen the render surface is to be created on. In XWindows, this is the number of the XServer. Ignored on Win32

void Producer::RenderSurface::setUseDefaultEsc bool    flag [inline]
 

set/getUseDefaultEsc is deprecated

void Producer::RenderSurface::setWindow const Window    win
 

Explicitely set the Windowing system window before realization.

void Producer::RenderSurface::setWindowName const std::string &   
 

Set the Window system Window name of the Render Surface

void Producer::RenderSurface::setWindowRectangle int    x,
int    y,
unsigned int    width,
unsigned int    height,
bool    resize = true
 

Set the windowing system rectangle the RenderSurface will occupy on the screen. The parameters are given as integers in screen space. x and y determine the lower left hand corner of the RenderSurface. Width and height are given in screen coordinates

virtual void Producer::RenderSurface::swapBuffers void    [virtual]
 

Swaps buffers if RenderSurface quality attribute is DoubleBuffered

virtual void Producer::RenderSurface::sync int    divisor = 1 [virtual]
 

Where supported, sync() will synchronize with the vertical retrace signal of the graphics display device. divisor specifies the number of vertical retace signals to allow before returning.

void Producer::RenderSurface::useBorder bool    flag
 

Request the use of a window border. If flag is false, no border will appear after realization. If flag is true, the windowing system window will be created in default state.

void Producer::RenderSurface::useConfigEventThread bool    flag
 

Specify whether the RenderSurface should use a separate thread for window configuration events. If flag is set to true, then the RenderSurface will spawn a new thread to manage events caused by resizing the window, mapping or destroying the window.

void Producer::RenderSurface::useCursor bool    flag
 

Request whether the window should have a visible cursor. If true, the windowing system's default cursur will be assigned to the window. If false the window will not have a visible cursor.

bool Producer::RenderSurface::waitForRealize  
 

Where supported, InitThreads will initialize all graphics components for thread Puts the calling thread to sleep until the RenderSurface is realized. Returns true if for success and false for failure.


Member Data Documentation

const std::string Producer::RenderSurface::defaultWindowName [static]
 

Default window name


The documentation for this class was generated from the following file:
Generated on Tue Aug 24 15:21:44 2004 for OpenProducer by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002