48 lines
1.0 KiB
C++
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
|