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

31 lines
1000 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. */
class LowLevelWindow
{
public:
virtual ~LowLevelWindow() { }
virtual void *GetProcAddress(CString s) = 0;
/* Set the video mode as close to the requested settings as possible. They're
* hints only; it's better to get the wrong mode than to bail out. */
virtual bool SetVideoMode( bool windowed, int width, int height, int bpp, int rate, bool vsync ) = 0;
virtual void SwapBuffers() = 0;
/* This is currently only called when we get SDL resize events; any other
* models can probably ignore this. */
virtual void ResolutionChanged(int width, int height) { }
virtual bool IsWindowed() const = 0;
virtual int GetWidth() const = 0;
virtual int GetHeight() const = 0;
virtual int GetBPP() const = 0;
};
#endif