diff options
Diffstat (limited to 'source/Irrlicht/CSDLManager.cpp')
-rw-r--r-- | source/Irrlicht/CSDLManager.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/source/Irrlicht/CSDLManager.cpp b/source/Irrlicht/CSDLManager.cpp new file mode 100644 index 0000000..3132b60 --- /dev/null +++ b/source/Irrlicht/CSDLManager.cpp @@ -0,0 +1,56 @@ +// Copyright (C) 2022 sfan5 +// This file is part of the "Irrlicht Engine". +// For conditions of distribution and use, see copyright notice in Irrlicht.h + +#include "CSDLManager.h" + +#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && defined(_IRR_COMPILE_WITH_OPENGL_) + +#include "CIrrDeviceSDL.h" +#include "COpenGLCommon.h" + +namespace irr +{ +namespace video +{ + +CSDLManager::CSDLManager(CIrrDeviceSDL* device) : IContextManager(), SDLDevice(device) +{ + #ifdef _DEBUG + setDebugName("CSDLManager"); + #endif +} + +bool CSDLManager::initialize(const SIrrlichtCreationParameters& params, const SExposedVideoData& data) +{ + Data = data; + return true; +} + +const SExposedVideoData& CSDLManager::getContext() const +{ + return Data; +} + +bool CSDLManager::activateContext(const SExposedVideoData& videoData, bool restorePrimaryOnZero) +{ + // unclear if this is still needed: + glFrontFace(GL_CW); + return true; +} + +void* CSDLManager::getProcAddress(const std::string &procName) +{ + return SDL_GL_GetProcAddress(procName.c_str()); +} + +bool CSDLManager::swapBuffers() +{ + SDLDevice->SwapWindow(); + return true; +} + +} +} + +#endif |