Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

GraphicsEngine::WindowRenderer Class Reference

Inheritance diagram for GraphicsEngine::WindowRenderer:

GraphicsEngine::RenderThread List of all members.

Public Member Functions

void add_gsg (GraphicsStateGuardian *gsg)
 Adds a new GSG to the _gsg list, if it is not already there.

void add_window (Windows &wlist, GraphicsWindow *window)
 Adds a new window to the indicated list, which should be a member of the WindowRenderer.

void remove_window (GraphicsWindow *window)
 Immediately removes the indicated window from all lists.

void do_frame (GraphicsEngine *engine)
 Executes one stage of the pipeline for the current thread: calls cull on all windows that are on the cull list for this thread, draw on all the windows on the draw list, etc.

void do_flip (GraphicsEngine *engine)
 Flips the windows as appropriate for the current thread.

void do_release (GraphicsEngine *engine)
 Releases the rendering contexts for all windows on the _draw list.

void do_close (GraphicsEngine *engine)
 Closes all the windows on the _window list.

void do_pending (GraphicsEngine *engine)
 Actually closes any windows that were recently removed from the WindowRenderer.

bool any_done_gsgs () const
 Returns true if any of the GSG's on this thread's draw list are done (they have no outstanding pointers other than this one), or false if all of them are still good.


Public Attributes

Windows _cull
Windows _cdraw
Windows _draw
Windows _window
Windows _pending_release
Windows _pending_close
GSGs _gsgs
Mutex _wl_lock

Member Function Documentation

void GraphicsEngine::WindowRenderer::add_gsg GraphicsStateGuardian gsg  ) 
 

Adds a new GSG to the _gsg list, if it is not already there.

Definition at line 1087 of file graphicsEngine.cxx.

References GraphicsWindow::release_gsg(), and win.

void GraphicsEngine::WindowRenderer::add_window Windows wlist,
GraphicsWindow window
 

Adds a new window to the indicated list, which should be a member of the WindowRenderer.

Definition at line 1103 of file graphicsEngine.cxx.

References NULL, and win.

bool GraphicsEngine::WindowRenderer::any_done_gsgs  )  const
 

Returns true if any of the GSG's on this thread's draw list are done (they have no outstanding pointers other than this one), or false if all of them are still good.

Definition at line 1355 of file graphicsEngine.cxx.

void GraphicsEngine::WindowRenderer::do_close GraphicsEngine engine  ) 
 

Closes all the windows on the _window list.

Definition at line 1265 of file graphicsEngine.cxx.

void GraphicsEngine::WindowRenderer::do_flip GraphicsEngine engine  ) 
 

Flips the windows as appropriate for the current thread.

Definition at line 1230 of file graphicsEngine.cxx.

void GraphicsEngine::WindowRenderer::do_frame GraphicsEngine engine  ) 
 

Executes one stage of the pipeline for the current thread: calls cull on all windows that are on the cull list for this thread, draw on all the windows on the draw list, etc.

Definition at line 1192 of file graphicsEngine.cxx.

void GraphicsEngine::WindowRenderer::do_pending GraphicsEngine engine  ) 
 

Actually closes any windows that were recently removed from the WindowRenderer.

Definition at line 1305 of file graphicsEngine.cxx.

Referenced by GraphicsEngine::setup_scene().

void GraphicsEngine::WindowRenderer::do_release GraphicsEngine engine  ) 
 

Releases the rendering contexts for all windows on the _draw list.

Definition at line 1247 of file graphicsEngine.cxx.

void GraphicsEngine::WindowRenderer::remove_window GraphicsWindow window  ) 
 

Immediately removes the indicated window from all lists.

If the window is currently open and is already on the _window list, moves it to the _pending_close list for later closure.

Definition at line 1123 of file graphicsEngine.cxx.

References _gsgs.

Referenced by GraphicsEngine::setup_scene().


Member Data Documentation

Windows GraphicsEngine::WindowRenderer::_cdraw
 

Definition at line 150 of file graphicsEngine.h.

Windows GraphicsEngine::WindowRenderer::_cull
 

Definition at line 149 of file graphicsEngine.h.

Windows GraphicsEngine::WindowRenderer::_draw
 

Definition at line 151 of file graphicsEngine.h.

GSGs GraphicsEngine::WindowRenderer::_gsgs
 

Definition at line 155 of file graphicsEngine.h.

Referenced by remove_window().

Windows GraphicsEngine::WindowRenderer::_pending_close
 

Definition at line 154 of file graphicsEngine.h.

Windows GraphicsEngine::WindowRenderer::_pending_release
 

Definition at line 153 of file graphicsEngine.h.

Windows GraphicsEngine::WindowRenderer::_window
 

Definition at line 152 of file graphicsEngine.h.

Mutex GraphicsEngine::WindowRenderer::_wl_lock
 

Definition at line 156 of file graphicsEngine.h.


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:51:21 2003 for Panda by doxygen1.3