Can I change a borderless window size?
vertexi opened this issue · comments
I want to create a window that borderless = true
and resizable = true
. But according to GLFW's document
GLFW_DECORATED specifies whether the windowed mode window will have window decorations such as a border, a close widget, etc. An undecorated window will not be resizable by the user but will still allow the user to generate close events on some platforms. Possible values are GLFW_TRUE and GLFW_FALSE. This hint is ignored for full screen windows.
So, I wonder if I can write some code to detect the mouse whether drag the corner of window or not, then call function like setwindowsize()
.
you should try. ImGui provides ImGui::GetMousePos()
+ ImGui::IsMouseDown()
which could help you.
But you may experience difficulties. You are fighting against the OS and/or Glfw.
This is now possible, see new content of AppWindowParams:
struct AppWindowParams
{
std::string windowTitle;
WindowGeometry windowGeometry;
// if true, then save & restore from last run
bool restorePreviousGeometry = false;
bool resizable = true;
bool hidden = false;
bool borderless = false;
bool borderlessMovable = true;
bool borderlessResizable = true;
bool borderlessClosable = true;
ImVec4 borderlessHighlightColor = ImVec4(0.2f, 0.4f, 1.f, 0.3f);
EdgeInsets edgeInsets;
bool handleEdgeInsets = true;
};
Magnificent work! Thank you.