Commit graph

2507 commits

Author SHA1 Message Date
Sam Lantinga
7f73dcd4f6 Reset the keyboard when we lose input focus 2012-11-07 11:13:28 -08:00
Sam Lantinga
6b50a0eb68 Don't lose focus if a child window gains focus 2012-11-07 08:49:59 -08:00
Sam Lantinga
209fc0f3aa Fixed XBadWindow error when iconified under Unity3D
Apparently the root window changes in this case.  We want to send to the root window that is being listened to by the window manager, so this should be okay.
2012-11-06 10:34:47 -08:00
Sam Lantinga
f458518119 Add a real fullscreen video mode on Android. 2012-11-05 00:58:52 -08:00
Sam Lantinga
e7b4458d8b Synchronized the on-screen keyboard state with whether we are accepting text input.
The functions to show/hide/toggle the on-screen keyboard have been folded into the text input state.
Calling SDL_StartTextInput() will automatically show the on-screen keyboard if it's available.
Calling SDL_StopTextInput() will automatically hide the on-screen keyboard if it's available.
There is a new API function SDL_IsTextInputActive() which will return whether text input is currently active.
Text input is disabled by default, you must call SDL_StartTextInput() when you are ready to accept text input.
SDL_HasScreenKeyboardSupport() no longer needs to be passed a window.
The iPhone-specific on-screen keyboard functions have been removed.
2012-11-04 21:53:28 -08:00
Sam Lantinga
2228e50b28 Whitespace cleanup 2012-11-04 20:20:53 -08:00
Sam Lantinga
b950bcbbab Added mouse emulation for touch events on Android. 2012-11-04 20:11:51 -08:00
Ryan C. Gordon
4256fc36c0 Cocoa_ShowMessageBox() should call Cocoa_RegisterApp().
Otherwise, message boxes can fail if SDL_Init(SDL_INIT_VIDEO) wasn't completed.
2012-11-02 16:48:47 -04:00
Ryan C. Gordon
dbbd206084 X11: Handle _NET_WM_PING protocol, so window manager knows when app is hung up. 2012-11-02 15:22:37 -04:00
Ryan C. Gordon
d7d06ad754 WM_DELETE_WINDOW should check that the event message_type is WM_PROTOCOLS. 2012-11-02 14:15:21 -04:00
Ryan C. Gordon
2cc01af9ba Works better when you put it in the right file. :) 2012-10-30 23:11:03 -04:00
Ryan C. Gordon
3a10b3e14d One more OS X PowerPC build fix. 2012-10-30 23:03:23 -04:00
Ryan C. Gordon
a65b90e7a1 Fix Mac OS X PowerPC builds, I think. 2012-10-30 22:44:01 -04:00
Sam Lantinga
a523596bb0 Maybe fix PPC build error? 2012-10-30 19:26:30 -07:00
Sam Lantinga
f8a4c99701 Added Windows message box implementation, but it needs a little work on layout. 2012-10-30 18:59:56 -07:00
Sam Lantinga
0d419a6832 Added UIKit implementation of SDL messagebox 2012-10-30 13:44:59 -07:00
Sam Lantinga
d8679eeba3 Added Cocoa message box implementation 2012-10-30 12:31:26 -07:00
Sam Lantinga
8850825033 Added an assert log category, and NSLog support on Mac OS X and iOS 2012-10-30 12:30:02 -07:00
Sam Lantinga
57f18e2fc2 Use the correct variable for the button spacing (even though they end up being the same thing) 2012-10-30 12:21:15 -07:00
Sam Lantinga
debf91fba3 Don't try to create an OpenGL window if we can't load the OpenGL library. 2012-10-28 14:16:18 -07:00
Sam Lantinga
a7b4572eb2 Fixed tab spacing 2012-10-23 17:40:19 -07:00
Sam Lantinga
227bb9413f Added API for simple messagebox, courtesy of Mike Sartain 2012-10-23 17:11:22 -07:00
Sam Lantinga
59f291a1a3 Remember what finger was used for left button down and only send mouse events for that finger. 2012-10-21 22:38:09 -07:00
Sam Lantinga
40117e88dc Implemented drop events in iOS 2012-10-14 01:05:04 -07:00
Sam Lantinga
89e0662973 Only install/uninstall the colormap if we've created a DirectColor colormap. 2012-10-11 14:43:13 -07:00
Sam Lantinga
c0731b25b4 Added missing X11 call XUninstallColormap() 2012-10-11 14:42:49 -07:00
Michael Sartain
5d4e794683 Add GLX_X_VISUAL_TYPE_EXT so created window will use DirectColor if available (instead of TrueColor).
Our new X11 window was being created with the TrueColor attribute, and trying to set the gamma
on that would fail. This change checks for the visual_info extension, and uses that to ask for
DirectColor if available.
2012-10-11 09:41:43 -07:00
Michael Sartain
2538e2af2f Add XInitThreads to X11_CreateDevice.
The nVidia driver requires XInitThreads to be called for it to work in multithreaded mode. Sam also
says that the overhead for this is small enough that it should just be done by default at this point.
If this causes issues, we can add a hint later to enable / disable this call.
2012-10-11 09:37:38 -07:00
Michael Sartain
195b20e40e Fix Colormap when using X11_SetWindowFullscreenViaWM() path.
This was needed to get X11_SetWindowGammaRamp() working. Sam points out that there is an issue right now where
colormaps will only work with fullscreen windows, and we may want to set this when getting input focus for
windowed apps.
2012-10-11 09:34:13 -07:00
Ryan C. Gordon
5700832cb3 Allow specifying of OpenGL 3.2 Core Profile on Mac OS X. 2012-10-10 23:10:04 -04:00
Sam Lantinga
b642847d0d Add flags to the vidmode debug output 2012-10-06 12:16:32 -07:00
Sam Lantinga
ed51c5f966 When using Xinerama, XVidMode always works on screen 0. Otherwise use the real X11 screen. 2012-10-06 11:23:47 -07:00
Sam Lantinga
c123ff043b XVidMode only works on the screen at the origin 2012-10-06 10:53:47 -07:00
Ryan C. Gordon
b73e16cc4a Fixed memory leak in X11_SetWindowIcon(). 2012-10-05 22:43:00 -04:00
Ryan C. Gordon
7706dcdcdc Fixed compiler warning in debug code. 2012-10-04 23:56:37 -04:00
Sam Lantinga
6326730adb Turn off video mode debugging 2012-10-04 20:41:22 -07:00
Sam Lantinga
15453a515c I'm becoming more and more convinced that the application should never use XRandR, and it's the window manager's responsibility to track and manage display modes for fullscreen windows.
Because it's so broken, I'm going to disable XRandR by default.  You can still enable it via environment variable or application hint (SDL_HINT_VIDEO_X11_XRANDR)
2012-10-04 13:50:41 -07:00
Sam Lantinga
ad941c8027 Support iPhone 5 launch images 2012-10-04 02:56:25 -07:00
Sam Lantinga
76927d4175 Keep the launch image up until the application has created an OpenGL view 2012-10-04 02:13:12 -07:00
Sam Lantinga
e6c0215444 Fixed bug 1614 - SDL for Android does not implement TextInput API
Andrey Isakov 2012-10-03 08:30:25 PDT

I've found out in the process of porting one OS project to Android/SDL2 that
there is no support for TextInput events/APIs on Android.
So I implemented some kind of initial support of that feature, and at the very
least it seems to work fine with latin chars input with soft and hardware
keyboards on my Moto Milestone2. I've also tried playing around with more
complex IMEs, like japanese, logging the process and it seemed to work too. I'm
not sure since the app itself I am working on does not have support for
non-latin input.

The main point of the patch is to place a fake input view in the region
specified by SDL_SetTextInputRect and create a custom InputConnection for it.
The reason to make it a separate view is to support Android's pan&scan on input
feature properly. For details please refer to
http://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html
Even though the manual states that SetTextInputRect is used to determine the
IME variants position, I thought this would be a proper use for this too.
2012-10-03 20:49:16 -07:00
Sam Lantinga
a2a3c4ae55 Fixed compiler warning 2012-10-03 20:22:14 -07:00
Sam Lantinga
e58466c00c This hack doesn't work very well. I'd rather just show the problem so it can be fixed. 2012-10-03 19:39:12 -07:00
Sam Lantinga
1a755a5361 Fixed refresh rate calculation 2012-10-03 19:25:08 -07:00
Sam Lantinga
c0bf64438a Don't try to query outputs that are not hooked up to a crtc 2012-10-03 19:24:11 -07:00
Sam Lantinga
0a55594783 Added a delay hack to let the window manager adjust to the mode change. I'm not sure if this is a good idea, but at least it works sometimes now. :) 2012-10-03 19:02:46 -07:00
Sam Lantinga
925bca7d2a Rewritten X11 video mode support to directly set requested modes and exactly restore the desktop mode at shutdown. 2012-10-03 18:56:29 -07:00
Sam Lantinga
02dd74ba7e A window being fullscreen takes precedence over coordinate checks
This fixes restoring video mode on the second display at shutdown in some circumstances.
2012-10-03 18:54:31 -07:00
Sam Lantinga
28fc0e9923 Keep track of the configure events we've received from the X server.
When programmatically resizing a window on Unity 3D, we'll get a move event with the old size before we get a size event with the new size, and we don't want to clobber our internal state with the old size.
2012-10-03 13:37:44 -07:00
Sam Lantinga
670eb787d6 Poke window managers to get them to respect the resize hints. 2012-10-03 12:33:42 -07:00
Sam Lantinga
39f2156ead Fix the size to the windowed mode, not the fullscreen mode. 2012-10-03 12:19:55 -07:00