Commit graph

4321 commits

Author SHA1 Message Date
Sam Lantinga
ade868c17f Use boolean value for input grab mode, like we do for fullscreen mode. 2011-02-27 20:06:45 -08:00
Sam Lantinga
ce2aa2ee1d Zero streaming textures at the driver level 2011-02-26 21:39:34 -08:00
Sam Lantinga
c506aacb3a Fix fullscreen origin on Mac OS X 10.4 2011-02-26 11:59:33 -08:00
Sam Lantinga
3f465b7523 Fixed bug 1141
Rebuild the window with the new style on older versions of Mac OS X.
2011-02-26 11:29:23 -08:00
Sam Lantinga
9c8d95eab0 Restore the window title when the title bar is re-added to the window. 2011-02-26 10:15:13 -08:00
Sam Lantinga
fbdf7429d5 Restore the windowed position and size when coming back from fullscreen.
Also fixed problem where Cocoa would move the windows in response to the fullscreen mode change.
2011-02-26 10:11:09 -08:00
Sam Lantinga
0dd9ad216f Hopefully fixed crashes when creating multiple streaming textures of different sizes. 2011-02-24 23:42:58 -08:00
Sam Lantinga
82a00575e9 Tracking rectangles had some problems, it's easier to track things directly. (fixes bug 1149, 1147, 1146) 2011-02-24 18:11:29 -08:00
Sam Lantinga
1a2a914b33 Fixed bug 1145 (GL Context creation fails for OpenGL 3.2 + Alpha buffer with X11 BadMatch)
Matthias      2011-02-23 09:37:51 PST

Please view the attached source file. Using this minimal program (as attached),
it creates an OpenGL 2.0 context with a cleared color buffer. If I set the
OpenGL version to 3.2, the function SDL_GL_CreateContext fails (or more
specifically, glXMakeCurrent fails) with an X11 BadMatch error:


X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  128 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  153
  Current serial number in output stream:  153


Also note that if I do not specify the alpha buffer size, the program works for
OpenGL 2.0 and OpenGL 3.2.

After some further analysis, I believe I have found the problem. The specific
issue is in:

SDL_x11opengl.c::X11_GL_CreateContext.

Note that for OpenGL 3.2 contexts, the GLXFBConfig to use is chosen as the best
match from glXChooseFBConfig. However, opengl attributes originally set with
SDL_GL_SetAttribute are not mapped to GLX attributes and then passed to the
glXChooseFBConfig function. According to the GLX 1.4 specification, if the
attributes are not specified, the function falls back to defaults (which, in
this particular case, prefer alpha channel size == 0).

For testing purposes, I modified the call to glXChooseFBConfig to look
something like this:


int glxAttribs[] =
{
 GLX_RED_SIZE,8,
 GLX_GREEN_SIZE,8,
 GLX_BLUE_SIZE,8,
 GLX_ALPHA_SIZE,8,
 None
};

if (!glXChooseFBConfig ||
 !(framebuffer_config = glXChooseFBConfig(display, DefaultScreen(display),
glxAttribs, &fbcount)))
{
 ...
}


The best match GLXFBConfig then supports 8 bit alpha channel. The program then
works as intended.


Hope this helps!
2011-02-24 17:52:47 -08:00
Sam Lantinga
65af7584bf SDL 1.3 doesn't use nasm anymore. :) 2011-02-24 09:41:04 -08:00
Sam Lantinga
2f682c9d08 Fixed compile error on some versions of Mac OS X. 2011-02-23 15:06:14 -08:00
Sam Lantinga
d79f7ed02d Fixed altivec.h include on Mac OS X 2011-02-22 22:17:44 -08:00
Sam Lantinga
e4a0db291e Re-added the 3DNow! and AltiVec instruction support. 2011-02-22 21:44:36 -08:00
Sam Lantinga
92bf0fc2fd Update the cursor correctly when it enters and leaves the window. 2011-02-21 23:45:48 -08:00
Sam Lantinga
1918f54080 Actually set the cursor! :) 2011-02-21 23:10:00 -08:00
Sam Lantinga
642eea1ebc Simplified the X11 window creation 2011-02-21 22:52:31 -08:00
Sam Lantinga
f817468a0b The OpenGL test window shouldn't be visible. 2011-02-21 22:52:07 -08:00
Sam Lantinga
36be715703 Don't automatically send minimized and maximized events, it's up to the windowing system to decide what to do with them. 2011-02-21 22:51:44 -08:00
Sam Lantinga
252402726d Clear the hidden flag when shown and the shown flag when hidden. 2011-02-21 22:50:15 -08:00
Sam Lantinga
0f6925189c Simplified Windows window creation. 2011-02-21 22:27:19 -08:00
Sam Lantinga
9da77abd36 Fixed compiler warnings 2011-02-21 22:26:59 -08:00
Sam Lantinga
f8481050cd Simplified and unified the window creation process a little. 2011-02-21 22:03:39 -08:00
Sam Lantinga
165076c9c3 We can defer window creation.
Added documentation for why we need an SDLView
2011-02-21 21:32:11 -08:00
Sam Lantinga
f3564c3a8e Fixed compiler warning 2011-02-21 20:35:44 -08:00
Sam Lantinga
24864a72cc Added disabled preferences menu option so it looks more like other application menus. 2011-02-21 20:34:22 -08:00
Sam Lantinga
22779f35b2 Implemented cursor support and SDL_WarpMouseInWindow() on Mac OS X 2011-02-21 17:15:50 -08:00
Sam Lantinga
ada3863500 Implemented Cocoa_SetWindowIcon(), added SDL_ConvertSurfaceFormat() 2011-02-21 16:45:23 -08:00
Sam Lantinga
eb66b35c80 We still want the delegate functionality for windowShouldClose() 2011-02-21 15:25:49 -08:00
Sam Lantinga
9619f0bccf Do error checking in SDL_GetDisplayForWindow() 2011-02-21 15:08:36 -08:00
Sam Lantinga
5d5c23d421 SDL still supports older iPod Touch and first generation iPhones. 2011-02-21 11:04:27 -08:00
Sam Lantinga
658997241d Fixed the responder chain for event handling, the listener fully handles mouse events - even in fullscreen mode.
The only reason we need a custom view is to handle right mouse down.

Implemented mouse grabbing, although it's kind of clunky right now.  I'll be adding a relative mode that will be smoother soon.
2011-02-21 10:50:53 -08:00
Sam Lantinga
c379a10fa4 The valid mouse coordinates actually range from 0 to w-1 and h-1 2011-02-20 23:51:59 -08:00
Sam Lantinga
84c86a8df1 Reverted the experiment, it didn't work. 2011-02-20 23:51:31 -08:00
Sam Lantinga
e4acc9ef07 Experiment to try to account for source clipping 2011-02-20 23:16:58 -08:00
Sam Lantinga
04bd7cfffc Fixed bug 1105 (SDL_GetMouseState returns wrong location upon window re-activation) 2011-02-20 20:49:31 -08:00
Sam Lantinga
7aadbd91ac Updated the template code 2011-02-20 19:15:00 -08:00
Sam Lantinga
1c631c853c Fixed the fireworks demo 2011-02-20 14:59:36 -08:00
Sam Lantinga
9ed73976a5 Fixed bug 1137, updated the keyboard demo with latest rendering API changes. 2011-02-20 14:22:27 -08:00
Sam Lantinga
8e56849e83 Fixed testgles on iOS (bug 1136) 2011-02-20 14:16:11 -08:00
Sam Lantinga
f0c1972949 Fixed compiler warning 2011-02-20 13:56:57 -08:00
Sam Lantinga
b76f908f27 Fixed compiling on Mac OS X 10.4 2011-02-20 12:39:59 -08:00
Sam Lantinga
f2209fb448 Simple rumble API for haptic
Edgar Simo      2011-02-20 10:27:52 PST

Adding patch that adds a simplified API for the haptic subsystem built ontop of
the "real one" for those who want simple rumble without jumping through hoops.

Adds 4 functions:

- extern DECLSPEC int SDLCALL SDL_HapticRumbleSupported(SDL_Haptic * haptic);
- extern DECLSPEC int SDLCALL SDL_HapticRumbleInit(SDL_Haptic * haptic);
- extern DECLSPEC int SDLCALL SDL_HapticRumblePlay(SDL_Haptic * haptic, float
strength, Uint32 length );
- extern DECLSPEC int SDLCALL SDL_HapticRumbleStop(SDL_Haptic * haptic);

Also provided is test/testrumble.c which does test this.

This has all been tested on linux and has worked, but due to being built ontop
of the other haptic API it should work on all OS the same.
2011-02-20 10:54:44 -08:00
Sam Lantinga
e7aaeec596 Added a revision number for easy compile-time tests. 2011-02-20 10:42:51 -08:00
Sam Lantinga
d5af47a5c7 Untested fix for bug 946 (SDL_HapticIndex returns 0 for all devices)
Edgar Simo      2011-02-20 09:02:31 PST

Linux uses fname, which is the name of the device path like for example
/dev/input/event3 so it shouldn't have the issue. However I can confirm that it
looks like haptic->index never gets properly set on windows. Have to look at
mac os x also. I'll see if I can fix it real quick now.
2011-02-20 09:28:13 -08:00
Sam Lantinga
dc7c1fa1df Reset the viewport since we're stretching to the entire window. 2011-02-20 09:24:02 -08:00
Sam Lantinga
3c73e33be7 Linker and deployment target fixes for the test programs. 2011-02-19 23:39:04 -08:00
Sam Lantinga
ee61cc3170 Added OpenGL state caching for decent speed improvement. 2011-02-19 21:51:21 -08:00
Sam Lantinga
8c64c50659 SDL works on older iPod Touch and first generation iPhones running iOS 3.1.3. 2011-02-19 21:51:03 -08:00
Sam Lantinga
464cfffab9 Fixed linking the demos 2011-02-19 21:35:35 -08:00
Sam Lantinga
e2438fbcb2 Yes, it compiles now. 2011-02-19 16:41:01 -08:00