-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2 important fixes for borderless fullscreen on rcore_desktop #3657
Conversation
I give up. Please stop tagging on these, I quit. Edit: @raysan5 Six weeks ago I got tired of having to argue against these PRs, so I started writing my own kernel library (with |
This is the first time I tagged you for the side note because I saw you added fullscreen for web which i'm thankful for. So sorry about that I don't want to give you extra work and it's good as it is. Are you implying my borderless fullscreen changes breaks anything? Because borderless fullscreen on Windows (desktop) in it's current state is not worth using for me and these changes are a must. If there is a problem I'd like to know. |
Sorry, I just don't care anymore. Propose whatever change you like. I moved on. |
@lesleyrs I'm afraid I'm not merging this PR, check the review comment for details. @ubkp I understand your concerns and I'm sorry you decide to stop contributing to the project, your contributions has been indeed unvaluable. Thanks again for all the work you put into raylib and every great PR. It's been also a pleasure having you as a contibutor. Thanks and all the best with your future projects, I'm sure they will be amazing! |
Hmm I feel like neither of you tried this PR before shutting it down, I realize that fullscreen functions were reworked to be compatible but this change doesn't really interact with the others. Even just the topmost change just lets you alt tab and does nothing else which has no downsides. I don't like the way this PR got dismissed so quickly just because the other guy is upset, this along with the other PR regarding pointerlock were both good changes. But yes, let's keep borderless fullscreen in it's current state and I'll just go away. |
@lesleyrs I explained the reasons for the PR to be rejected, it's breaking raylib API and adding uneeded complexity to a simple function:
|
Alright, that message didn't appear for me. |
Fix 1: In windowfocuscallback, toggle topmost flag if borderless fullscreen is active so that you can alt tab while retaining borderless fullscreen. Currently it will let you lose focus but it won't go to the background.
Fix 2: When in an opengl window, setting the window size to monitor size causes some flickering which can be really annoying. Other games get around this by adding or removing 1 pixel to either size or position. This is not opinionated you can see games like supertuxkart doing it for yourself. I decided to only add a parameter for extra width because imo it's the least noticable but you can still set it to 0 to have it work the same as now.
You can test 1. by going fullscreen and alt tabbing, and 2. by setting extrawidth to -1 or +1.
Also changed comments for some documentation and updating the functions to remove the desktop only as I think that was forgotten to be changed.
1 problem with fix 2 is that SetWindowState only sets extraWidth to 0 now, ideally you'd have some value you can set and read because you don't really change it anyway. But not sure how you want to add that and I just want this merged to have a nice cross platform way to get fullscreen (I used custom fullscreen before this implementing the above).