Now that there a function to get orientation in SDL 2.0.9 I decided to experiment with it on my iOS devices. In the past I have always fixed SDL applications to a specific orientation and never let the device rotate.
I have no problems on any iOS device with a Home button, but I am running into a major problem on iPhone X, XS and XR. I can even reproduce the problems in the simulators. To illustrate my problem, I have a very simple SDL application that just generates a checkerboard test screen. It takes no input or does anything special (I use it to test resolution on new devices).
When I rotate to the side it starts ofd correct, until I touch the screen. Then the image shifts to the left and half of the screen is dead. It looks like this:
That blank side is not a render problem. It is like it is not even there. No touches register to that side of the screen, even when I put breakpoints in uikitview. It is as if the root UIView has shifted to the left, off screen.
Does anyone have any idea what is going on here?
EDIT: I just got an iPad with a home button to do the same thing. The problem seems to be that auto rotation is not completely disabled in some cases. The screen does the rotation animation just before it does this to me. I see in the SDL code that the auto rotation is supposed to be turned off. But auto rotation always kicks in on the iPhone X+. And on an iPad it will kick in only if you have upside down orientation supported. Turn that off, and the home button devices remain locked and work fine.