2021-11-12 20:03:04 +01:00
|
|
|
#pragma once
|
|
|
|
|
2021-11-14 23:42:18 +01:00
|
|
|
#include <windows.h>
|
2021-11-12 20:03:04 +01:00
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace glrage {
|
|
|
|
|
|
|
|
class Context
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual void attach(HWND hwnd) = 0;
|
|
|
|
virtual void detach() = 0;
|
2021-11-14 23:59:19 +01:00
|
|
|
virtual LRESULT windowProc(HWND hwnd,
|
|
|
|
UINT msg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam) = 0;
|
2021-11-12 20:03:04 +01:00
|
|
|
virtual bool isFullscreen() = 0;
|
|
|
|
virtual void setFullscreen(bool fullscreen) = 0;
|
2021-11-28 18:56:17 +01:00
|
|
|
virtual void setWindowSize(int32_t width, int32_t height) = 0;
|
2021-11-12 20:03:04 +01:00
|
|
|
virtual void setDisplaySize(int32_t width, int32_t height) = 0;
|
|
|
|
virtual int32_t getDisplayWidth() = 0;
|
|
|
|
virtual int32_t getDisplayHeight() = 0;
|
|
|
|
virtual int32_t getWindowWidth() = 0;
|
|
|
|
virtual int32_t getWindowHeight() = 0;
|
|
|
|
virtual int32_t getScreenWidth() = 0;
|
|
|
|
virtual int32_t getScreenHeight() = 0;
|
|
|
|
virtual void setupViewport() = 0;
|
|
|
|
virtual void swapBuffers() = 0;
|
|
|
|
virtual void setRendered() = 0;
|
|
|
|
virtual bool isRendered() = 0;
|
|
|
|
virtual HWND getHWnd() = 0;
|
2021-11-14 23:42:18 +01:00
|
|
|
virtual std::string getBasePath() = 0;
|
|
|
|
|
|
|
|
virtual ~Context() = default;
|
2021-11-12 20:03:04 +01:00
|
|
|
};
|
|
|
|
|
2021-11-14 23:42:18 +01:00
|
|
|
} // namespace glrage
|