2023-07-09 22:30:53 +08:00

48 lines
1.0 KiB
C++

#pragma once
#include<hgl/platform/Window.h>
#include<Windows.h>
namespace hgl
{
/**
* Windows平台窗口实现
*/
class WinWindow:public Window
{
HINSTANCE hInstance = nullptr;
HWND win_hwnd = nullptr;
HDC win_dc = nullptr;
MSG win_msg;
protected:
bool Create();
public:
using Window::Window;
~WinWindow();
bool Create(uint w, uint h) override;
bool Create(uint, uint, uint) override;
void Close() override;
HINSTANCE GetInstance(){return hInstance;}
HWND GetWnd(){return win_hwnd;}
HDC GetHDC(){return win_dc;}
void SetCaption(const OSString &caption) override;
void Show() override;
void Hide() override;
void ToMinWindow() override;
void ToMaxWindow() override;
void SetSystemCursor(bool visible) override;
bool MessageProc() override;
bool WaitMessage() override;
};//class WinWindow :public Window
}//namespace win