TRX/src/glrage/Context.hpp

37 lines
1.1 KiB
C++
Raw Normal View History

2021-11-12 20:03:04 +01:00
#pragma once
#include <cstdint>
#include <string>
2021-11-30 21:30:07 +01:00
#include <windows.h>
2021-11-12 20:03:04 +01:00
namespace glrage {
2021-11-30 21:30:07 +01:00
class Context {
2021-11-12 20:03:04 +01:00
public:
virtual void attach(HWND hwnd) = 0;
virtual void detach() = 0;
2021-11-30 21:30:07 +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;
2021-12-03 18:50:12 +01:00
virtual void scheduleScreenshot(const std::string &path) = 0;
2021-11-14 23:42:18 +01:00
virtual ~Context() = default;
2021-11-12 20:03:04 +01:00
};
2021-11-30 21:30:07 +01:00
}