Fixed window for Windows.
All checks were successful
Build & Release / Windows-AMD64-Build (push) Successful in 1m15s
Build & Release / Linux-AMD64-Build (push) Successful in 1m21s
Build & Release / Linux-AARCH64-Build (push) Successful in 3m20s

This commit is contained in:
Arron David Nelson 2024-02-05 23:55:53 -08:00
parent a7331d5561
commit 586ed2dfd2
3 changed files with 50 additions and 31 deletions

View File

@ -40,11 +40,11 @@ namespace ehs
BaseWindow& operator=(const BaseWindow& win);
virtual void Create_32(const Str_32& title, const Vec2_s32& pos, const Vec2_u32 scale) = 0;
virtual void Create_32(const Str_32& title, const Vec2_s32& pos, Vec2_u32 scale) = 0;
virtual void Create_16(const Str_16& title, const Vec2_s32& pos, const Vec2_u32 scale) = 0;
virtual void Create_16(const Str_16& title, const Vec2_s32& pos, Vec2_u32 scale) = 0;
virtual void Create_8(const Str_8& title, const Vec2_s32& pos, const Vec2_u32 scale) = 0;
virtual void Create_8(const Str_8& title, const Vec2_s32& pos, Vec2_u32 scale) = 0;
virtual void OnCreated() = 0;
@ -60,7 +60,7 @@ namespace ehs
bool HasFocus() const;
void EnableResizing(const bool enable);
void EnableResizing(bool enable);
bool IsResizable() const;
@ -77,7 +77,7 @@ namespace ehs
/// @returns The current status.
bool IsCursorVisible() const;
virtual void ConstrainCursor(const bool constrain) = 0;
virtual void ConstrainCursor(bool constrain) = 0;
bool IsCursorConstrained() const;
@ -109,6 +109,6 @@ namespace ehs
virtual void SetClipboard(Serializer<UInt_64> data) = 0;
virtual void SetCursorImg(const CursorImg img) = 0;
virtual void SetCursorImg(CursorImg img) = 0;
};
}

View File

@ -26,7 +26,7 @@ namespace ehs
static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
public:
virtual ~Window() override;
~Window() override;
Window();
@ -34,22 +34,22 @@ namespace ehs
Window& operator=(const Window &win);
virtual bool Poll() override;
bool Poll() override;
///Creates the native window.
void Create_32(const Str_32& title, const Vec2_s32& pos, const Vec2_u32 scale) override;
void Create_32(const Str_32& title, const Vec2_s32& pos, Vec2_u32 scale) override;
///Creates the native window.
void Create_16(const Str_16& title, const Vec2_s32& pos, const Vec2_u32 scale) override;
void Create_16(const Str_16& title, const Vec2_s32& pos, Vec2_u32 scale) override;
///Creates the native window.
void Create_8(const Str_8& title, const Vec2_s32& pos, const Vec2_u32 scale) override;
void Create_8(const Str_8& title, const Vec2_s32& pos, Vec2_u32 scale) override;
///Uses an already existing window to render an overlay.
void Use(HWND windowHdl);
///Closes the window.
virtual void Close() override;
void Close() override;
///Shows the window.
void Show() override;
@ -59,15 +59,15 @@ namespace ehs
void SetTitle_32(const Str_32& title) override;
Str_32 GetTitle_32();
Str_32 GetTitle_32() const override;
void SetTitle_16(const Str_16& title) override;
Str_16 GetTitle_16();
Str_16 GetTitle_16() const override;
void SetTitle_8(const Str_8& title) override;
Str_8 GetTitle_8();
Str_8 GetTitle_8() const override;
void SetIcon(const Str_8& filePath);
@ -99,29 +99,35 @@ namespace ehs
/// Sets the windows position on the desktop.
/// @param [in] x The x axis in pixels.
/// @param [in] y The y axis in pixels.
void SetPos(int x, int y);
void SetPos(const Vec2_s32& newPos) override;
/// Gets the windows current position on the desktop.
/// @returns The current value.
Vec2<Int_32> GetPos();
Vec2_s32 GetPos() const override;
virtual void OnResized(const Vec2<UInt_32>& newSize);
/// Sets the windows scale which includes the border.
/// @param [in] w The width in pixels.
/// @param [in] h The height in pixels.
void SetSize(int w, int h);
void SetScale(const Vec2_u32& newScale) override;
/// Gets the windows current scale.
/// @returns The current value.
Vec2<Int_32> GetSize();
Vec2_u32 GetScale() const override;
void ShowCursor(bool toggle) override;
void ConstrainCursor(const bool toggle) override;
void ConstrainCursor(bool toggle) override;
Serializer<UInt_64> GetClipboard() override;
void SetClipboard(Serializer<UInt_64> data) override;
void SetCursorImg(CursorImg img) override;
protected:
void SendMsg(const UINT msg, const WPARAM wParam, const LPARAM lParam);
void SendMsg(UINT msg, WPARAM wParam, LPARAM lParam);
};
}

View File

@ -437,7 +437,7 @@ namespace ehs
EHS_LOG_INT("Error", 0, "Failed to set window title with error #" + Str_8::FromNum(GetLastError()) + ".");
}
Str_32 Window::GetTitle_32()
Str_32 Window::GetTitle_32() const
{
int size = GetWindowTextLengthW(hdl);
if (!size)
@ -474,7 +474,7 @@ namespace ehs
EHS_LOG_INT("Error", 0, "Failed to set window title with error #" + Str_8::FromNum(GetLastError()) + ".");
}
Str_16 Window::GetTitle_16()
Str_16 Window::GetTitle_16() const
{
int size = GetWindowTextLengthW(hdl);
if (!size)
@ -511,7 +511,7 @@ namespace ehs
EHS_LOG_INT("Error", 0, "Failed to set window title with error #" + Str_8::FromNum(GetLastError()) + ".");
}
Str_8 Window::GetTitle_8()
Str_8 Window::GetTitle_8() const
{
int size = GetWindowTextLengthW(hdl);
if (!size)
@ -590,15 +590,15 @@ namespace ehs
return IsWindowEnabled(hdl);
}
void Window::SetPos(int x, int y)
void Window::SetPos(const Vec2_s32& newPos)
{
if (!created)
return;
SetWindowPos(hdl, nullptr, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
SetWindowPos(hdl, nullptr, newPos.x, newPos.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
}
Vec2<Int_32> Window::GetPos()
Vec2_s32 Window::GetPos() const
{
if (!created)
return {};
@ -643,15 +643,15 @@ namespace ehs
{
}
void Window::SetSize(int w, int h)
void Window::SetScale(const Vec2_u32& newScale)
{
if (!created)
return;
SetWindowPos(hdl, nullptr, 0, 0, w, h, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
SetWindowPos(hdl, nullptr, 0, 0, (int)newScale.x, (int)newScale.y, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
}
Vec2<Int_32> Window::GetSize()
Vec2_u32 Window::GetScale() const
{
if (!created)
return {};
@ -659,7 +659,7 @@ namespace ehs
RECT tmp = {};
GetWindowRect(hdl, &tmp);
return {(Int_32)(tmp.right - tmp.left), (Int_32)(tmp.bottom - tmp.top)};
return {(UInt_32)(tmp.right - tmp.left), (UInt_32)(tmp.bottom - tmp.top)};
}
void Window::ShowCursor(bool toggle)
@ -717,6 +717,19 @@ namespace ehs
cursorConstrained = toggle;
}
Serializer<UInt_64> Window::GetClipboard()
{
return {};
}
void Window::SetClipboard(Serializer<UInt_64> data)
{
}
void Window::SetCursorImg(CursorImg img)
{
}
void Window::SendMsg(const UINT msg, const WPARAM wParam, const LPARAM lParam)
{
if (!hdl)