mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 14:21:04 +08:00
fix borderless flicker
This commit is contained in:
parent
2386653bd3
commit
3649570e0c
@ -179,7 +179,8 @@ m_cursorGrabbed(m_fullscreen)
|
|||||||
DWORD win32Style = WS_VISIBLE;
|
DWORD win32Style = WS_VISIBLE;
|
||||||
if (style == Style::None)
|
if (style == Style::None)
|
||||||
{
|
{
|
||||||
win32Style |= WS_POPUP;
|
// You cannot spawn a window as a true borderless window. Remove the caption after creation.
|
||||||
|
win32Style |= WS_CAPTION;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -235,6 +236,14 @@ m_cursorGrabbed(m_fullscreen)
|
|||||||
if (m_fullscreen)
|
if (m_fullscreen)
|
||||||
switchToFullscreen(mode);
|
switchToFullscreen(mode);
|
||||||
|
|
||||||
|
if (style == Style::None)
|
||||||
|
{
|
||||||
|
// For a true borderless window, remove the titlebar now.
|
||||||
|
// from: https://github.com/Codeusa/Borderless-Gaming/blob/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming.Logic/Windows/Manipulation.cs#L71-L94
|
||||||
|
constexpr long long borderlessStyleRemove = WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
|
||||||
|
SetWindowLongPtr(m_handle, GWL_STYLE, GetWindowLongPtr(m_handle, GWL_STYLE) & ~borderlessStyleRemove);
|
||||||
|
}
|
||||||
|
|
||||||
// Increment window count
|
// Increment window count
|
||||||
++windowCount;
|
++windowCount;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user