Skip to content
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

Closed
wants to merge 2 commits into from
Closed

2 important fixes for borderless fullscreen on rcore_desktop #3657

wants to merge 2 commits into from

Conversation

lesleyrs
Copy link
Contributor

@lesleyrs lesleyrs commented Dec 20, 2023

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).

@ghost
Copy link

ghost commented Dec 20, 2023

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 SDL) to replace rcore and the platforms. Three weeks ago I've finished it. In that process I spotted so many issues, which the fixes I've been kicking back to raylib these last three weeks. But honestly, what's the point? Why bother fix something just to have to argue to not get broken next. Either way, I'm moving permanently to work on my kernel library (already reimplemented the gestures system, camera is next) where I don't have to worry about these. Just wanted to say it was a real pleasure working with you, and I really wish you all the best, but this is just not worth the time.

@lesleyrs
Copy link
Contributor Author

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.

@ghost
Copy link

ghost commented Dec 20, 2023

Sorry, I just don't care anymore. Propose whatever change you like. I moved on.

@raysan5
Copy link
Owner

raysan5 commented Dec 21, 2023

@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!

@raysan5 raysan5 closed this Dec 21, 2023
@lesleyrs
Copy link
Contributor Author

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.

@raysan5
Copy link
Owner

raysan5 commented Dec 21, 2023

@lesleyrs I explained the reasons for the PR to be rejected, it's breaking raylib API and adding uneeded complexity to a simple function:

This change is breaking the API and adding an unneeded extra level of complexity with an unintuitive additional parameter to cover a very-specific use case that will only affect a very small percentadge of user. raylib priority is simplicity.

@lesleyrs
Copy link
Contributor Author

Alright, that message didn't appear for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants