UQGL Beta(11/04/02)
System.h
説明を見る。
00001 #pragma once
00002 
00009 #include "Base.h"
00010 #include <exception>
00011 
00012 namespace UQ{
00013 
00014 class GraphicMgr;
00015 class AudioMgr;
00016 class InputMgr;
00017 class TaskMgr;
00018 
00027 class DLL_EXPORT System{
00028 public:
00029     virtual ~System(){}
00030 
00036     static System* getInstance(void);
00037 
00043     void deleteInstance(void);
00044 
00055     virtual void initialize(int windowWidth, int windowHeight, const char* windowTitle, const char* systemFontFileName, int systemFontWidth, int systemFontHeight) = 0;
00056 
00061     virtual void run(void) = 0;
00062 
00067     virtual void quit(void) = 0;
00068 
00074     virtual unsigned int getFrameCount(void) const = 0;
00075 
00081     virtual void wait(int milliseconds) = 0;
00082 
00089     virtual bool doEvents(void) = 0;
00090 
00096     virtual GraphicMgr* getGraphicMgr(void) const = 0;
00097     
00103     virtual AudioMgr* getAudioMgr(void) const = 0;
00104     
00110     virtual InputMgr* getInputMgr(void) const = 0;
00111     
00117     virtual TaskMgr* getTaskMgr(void) const = 0;
00118 
00119 private:
00120     static System* pSystem_;
00121 };
00122 
00126 DLL_EXPORT void showError(const std::exception& ex);
00127 
00128 } // namespace UQ