Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

CUI_Registry.h

Go to the documentation of this file.
00001 
00015 #ifndef CUI_REGISTRY_H
00016 #define CUI_REGISTRY_H
00017 
00018 #include <map>
00019 #include <string>
00020 #include <vector>
00021 #include <list>
00022 
00023 #include "UI_Lib.h"
00024 #include "UI_types.h"
00025 #include "IUI_Renderer.h"
00026 #include "IUI_Font.h"
00027 #include "IUI_Border.h"
00028 #include "CUI_CoordSys.h"
00029 #include "CUI_Frame.h"
00030 
00032 
00041 class CUI_Registry
00042 {
00043 public:
00045         CUI_Registry();
00046 
00048         virtual ~CUI_Registry();
00049 
00051         typedef std::vector<CUI_Frame*> FRAMEVECTOR;
00052         typedef std::vector<IUI_Shader*> SHADERVECTOR;
00053         typedef std::vector<IUI_Font*> FONTVECTOR;
00054         typedef std::vector<CUI_CoordSys*> COORDSYSVECTOR;
00055         typedef std::vector<IUI_Border*> BORDERVECTOR;
00056 
00058 
00062         virtual FRAMEVECTOR * FlushFrames( FRAMEVECTOR *vec = NULL );
00063 
00065 
00069         virtual SHADERVECTOR * FlushShaders( SHADERVECTOR *vec = NULL );
00070 
00072 
00076         virtual FONTVECTOR * FlushFonts( FONTVECTOR *vec = NULL );
00077 
00079 
00083         virtual COORDSYSVECTOR * FlushCoordSys( COORDSYSVECTOR *vec = NULL );
00084 
00086 
00090         virtual BORDERVECTOR * FlushBorders( BORDERVECTOR *vec = NULL );
00091 
00093         virtual bool AddFrame( CUI_Frame *frame );
00094 
00096         virtual CUI_Frame *GetFrame( unsigned long id );
00097 
00099         virtual bool AddShader( std::string name, IUI_Shader *shader );
00100 
00102         virtual IUI_Shader *GetShader( std::string name );
00103 
00105         virtual bool AddFont( std::string name, IUI_Font *font );
00106 
00108         virtual IUI_Font *GetFont( std::string name );
00109 
00111         virtual bool AddCoordSys( std::string name, CUI_CoordSys *coordsys );
00112 
00114         virtual CUI_CoordSys *GetCoordSys( std::string name );
00115 
00117         virtual bool AddBorder( std::string name, IUI_Border *border );
00118 
00120         virtual IUI_Border *GetBorder( std::string name );
00121 
00122 protected:
00124         typedef std::multimap<int, CUI_Frame *, std::less<int> > FRAMEMAP;
00126         FRAMEMAP m_frameMap;
00127 
00129         typedef std::map<std::string, IUI_Shader *, std::less<std::string> > SHADERMAP;
00131         SHADERMAP m_shaderMap;
00132 
00134         typedef std::map<std::string, IUI_Font *, std::less<std::string> > FONTMAP;
00136         FONTMAP m_fontMap;
00137 
00139         typedef std::map<std::string, CUI_CoordSys *, std::less<std::string> > COORDSYSMAP;
00141         COORDSYSMAP m_coordSysMap;
00142 
00144         typedef std::map<std::string, IUI_Border *, std::less<std::string> > BORDERMAP;
00146         BORDERMAP m_borderMap;
00147 
00148 };
00149 
00150 #endif

Generated on Mon Sep 29 23:07:02 2003 for glGUI by doxygen 1.3.4