mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 23:00:42 +00:00
32 lines
876 B
C++
32 lines
876 B
C++
#pragma once
|
|
|
|
struct Window;
|
|
struct DrawSurface;
|
|
struct GDevice;
|
|
struct IGpDisplayDriver;
|
|
struct Point;
|
|
struct Window;
|
|
|
|
namespace PortabilityLayer
|
|
{
|
|
struct WindowDef;
|
|
|
|
class WindowManager
|
|
{
|
|
public:
|
|
virtual Window *GetPutInFrontSentinel() const = 0;
|
|
virtual Window *CreateWindow(const WindowDef &windowDef) = 0;
|
|
virtual void ResizeWindow(Window *window, int width, int height) = 0;
|
|
virtual void MoveWindow(Window *window, int x, int y) = 0;
|
|
virtual void PutWindowBehind(Window *window, Window *otherWindow) = 0;
|
|
virtual void ShowWindow(Window *window) = 0;
|
|
virtual void HideWindow(Window *window) = 0;
|
|
virtual void FindWindow(const Point &point, Window **outWindow, short *outRegion) const = 0;
|
|
virtual void DestroyWindow(Window *window) = 0;
|
|
|
|
virtual void RenderFrame(IGpDisplayDriver *displayDriver) = 0;
|
|
|
|
static WindowManager *GetInstance();
|
|
};
|
|
}
|