Initial commit. Not even a game yet :P
[cToan.git] / src / SDLWrap_SDLEngine.cpp
blob916df49ad90afd64b9ef41fb4c1ed779fbc07b7d
1 #include "SDLWrap_SDLEngine.hpp"
3 namespace SDLWrap {
5 SDLEngine::SDLEngine()
7 CoreWasInitialized = false;
8 AlreadyShutdown = false;
11 SDLEngine::SDLEngine(Uint32 InitFlags) throw(InitError)
12 try {
13 if (SDL_Init(InitFlags) != 0) {
14 throw InitError();
15 } else {
16 CoreWasInitialized = true;
19 AlreadyShutdown = false;
21 Flags = WasInit(0);
23 catch (InitError)
25 ErrorHandler::OutputError(ErrorHandler::FATAL_CONSTRUCTOR_ERROR, "SDLEngine::SDLEngine(Uint32) constructor threw an InitError.\n");
28 SDLEngine::~SDLEngine()
30 if (!AlreadyShutdown) {
31 Quit();
34 AlreadyShutdown = true;
37 void
38 SDLEngine::Init(Uint32 InitFlags) throw(InitError)
39 try {
40 if (CoreWasInitialized) {
41 return;
44 if (SDL_Init(InitFlags) != 0) {
45 throw InitError();
46 } else {
47 CoreWasInitialized = true;
50 Flags = WasInit(0);
52 catch (InitError)
54 ErrorHandler::OutputError(ErrorHandler::FATAL_CONSTRUCTOR_ERROR, "SDLEngine::Init(Uint32) threw an InitError.\n");
57 void
58 SDLEngine::InitSubSystem(Uint32 InitFlags) throw(InitError)
59 try {
60 if (SDL_InitSubSystem(InitFlags) != 0) {
61 throw InitError();
64 Flags = WasInit(0);
66 catch (InitError)
68 ErrorHandler::OutputError(ErrorHandler::FATAL_CONSTRUCTOR_ERROR, "SDLEngine::InitSubSystem threw an InitError.\n");
71 void
72 SDLEngine::Quit()
74 if (AlreadyShutdown) {
75 return;
78 SDL_Quit();
79 AlreadyShutdown = true;
82 void
83 SDLEngine::QuitSubSystem(Uint32 QuitFlags)
85 SDL_QuitSubSystem(QuitFlags);
87 Flags = WasInit(0);
90 Uint32
91 SDLEngine::WasInit(Uint32 Flags)
93 return SDL_WasInit(Flags);
96 }; // end namespace SDLWrap