Files
itgmania212121/stepmania/src/arch/LowLevelWindow/LowLevelWindow.h
T

29 lines
864 B
C++
Raw Normal View History

2003-04-07 00:54:32 +00:00
#ifndef LOW_LEVEL_WINDOW_H
#define LOW_LEVEL_WINDOW_H
/* This handles low-level operations that OGL 1.x doesn't give us. Normally,
* we use SDL. Note that not all SDL operations go here; however, nothing
* outside of this can assume that SDL has VIDEO initialized. */
2003-06-05 19:29:27 +00:00
#include "RageDisplay.h" // for RageDisplay::VideoModeParams
2003-04-07 00:54:32 +00:00
class LowLevelWindow
{
public:
virtual ~LowLevelWindow() { }
virtual void *GetProcAddress(CString s) = 0;
// Return "" if mode change was successful, otherwise an error message.
2003-06-05 19:29:27 +00:00
// bNewDeviceOut is set true if a new device was created and textures
// need to be reloaded.
virtual CString TryVideoMode( RageDisplay::VideoModeParams p, bool &bNewDeviceOut ) = 0;
2003-04-07 00:54:32 +00:00
virtual void SwapBuffers() = 0;
virtual void Update(float fDeltaTime) { }
2003-04-07 00:54:32 +00:00
2003-06-05 19:29:27 +00:00
virtual RageDisplay::VideoModeParams GetVideoModeParams() const = 0;
2003-04-07 00:54:32 +00:00
};
#endif