Skip to content

Commit

Permalink
fix borderless flicker
Browse files Browse the repository at this point in the history
  • Loading branch information
L0laapk3 committed May 6, 2024
1 parent 2386653 commit 3649570
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/SFML/Window/Win32/WindowImplWin32.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,8 @@ m_cursorGrabbed(m_fullscreen)
DWORD win32Style = WS_VISIBLE;
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
{
Expand Down Expand Up @@ -235,6 +236,14 @@ m_cursorGrabbed(m_fullscreen)
if (m_fullscreen)
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
++windowCount;
}
Expand Down

0 comments on commit 3649570

Please sign in to comment.