Add ClydeWindow API to set borderless mode#6618
Conversation
|
Incredibly based PR. |
| bool IsFocused { get; } | ||
| bool IsMinimized { get; } | ||
| bool IsVisible { get; set; } | ||
| bool IsTitleBarVisible { get; set; } |
There was a problem hiding this comment.
This probably shouldn't be named this given it changes more than the title bar?
There was a problem hiding this comment.
Thanks for the review, I'll update the names of everything to be centered around the 'border' rather than the 'title bar' since thats how SDL names it.
There was a problem hiding this comment.
I have updated it to be IsBordered rather than IsTitleBarVisible, as that's the naming convention that SDL uses
|
We had a discussion on the SS14 discord, since wayland doesn't support setting the window position then we probably want to make it so that wayland windows cannot be made borderless. The question is whether or not that should be added in this PR, or in a PR that adds the ability to set window positions, since this PR's utility is a lot lower without the ability to set position at runtime. |
For Wayland, a long-term solution would probably be to allow OD to integrate with window dragging implemented directly into the engine. Then we can re-hide the decorations. |
PJB3005
left a comment
There was a problem hiding this comment.
I'm somewhat annoyed at the unwarranted style changes but *shrug
| public string Title = ""; | ||
| public bool Maximized; | ||
| public bool Visible = true; | ||
| public bool TitleBarVisible = true; |
| ### New features | ||
|
|
||
| *None yet* | ||
| * Added the ability to set Clyde windows to borderless mode. |
There was a problem hiding this comment.
I'd avoid using the term "borderless" here because while it is correct, it might confuse people who are used to the "borderless fullscreen" terminology.
Adds support for borderless windows in the Clyde window engine. A window can be set to borderless by calling the
SetWindowTitleBarVisible.A decision needs to be made as to whether I should rename this method to
SetWindowBorderModeor something similar.This is required for fancy TGUI window support in OpenDream: