CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

renderloop.h

Go to the documentation of this file.
00001 /*
00002     Crystal Space 3D engine
00003     Copyright (C) 2003 by Jorrit Tyberghein
00004               (C) 2003 by Frank Richter
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public
00017     License along with this library; if not, write to the Free
00018     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019 */
00020 
00021 #ifndef __CS_IENGINE_RENDERLOOP_H__
00022 #define __CS_IENGINE_RENDERLOOP_H__
00023 
00031 #include "csutil/scf.h"
00032 #include "ivideo/rendersteps/icontainer.h"
00033 
00034 struct iCamera;
00035 struct iClipper2D;
00036 struct iSector;
00037 struct iRenderStep;
00038 class csRenderView;
00039 
00043 #define CS_DEFAULT_RENDERLOOP_NAME      "*default"
00044 
00045 SCF_VERSION (iRenderLoop, 0, 0, 3);
00046 
00052 struct iRenderLoop : public iRenderStepContainer
00053 {
00054   virtual void Draw (iCamera* c, iClipper2D* clipper) = 0;
00055 };
00056 
00057 SCF_VERSION (iRenderLoopManager, 0, 0, 2);
00058 
00065 struct iRenderLoopManager : public iBase
00066 {
00071   virtual csPtr<iRenderLoop> Create () = 0;
00072   
00082   virtual bool Register (const char* name, iRenderLoop* loop) = 0;
00089   virtual iRenderLoop* Retrieve (const char* name) = 0;
00095   virtual const char* GetName (iRenderLoop* loop) = 0;
00101   virtual bool Unregister (iRenderLoop* loop) = 0;
00102 };
00103  
00106 #endif

Generated for Crystal Space by doxygen 1.2.14