Commit Graph

4178 Commits

Author SHA1 Message Date
Sam Lantinga
9f410819dc IRIX is not supported anymore. :) 2011-02-28 09:06:29 -08:00
Sam Lantinga
dd9276cac7 SDL_revision.h is always updated as part of the build process now. 2011-02-28 09:06:15 -08:00
Sam Lantinga
f7600494ed Dynamically load the Xinerama and xf86vmode extensions
This fixes a few bugs with different distributions:
http://bugs.freedesktop.org/show_bug.cgi?id=17431
http://bugs.gentoo.org/show_bug.cgi?id=246177
2011-02-28 09:01:53 -08:00
Sam Lantinga
747dbeb744 Fixed compiling AltiVec blitters 2011-02-27 22:22:58 -08:00
Sam Lantinga
f0ee261c7b Implemented mouse relative mode on Mac OS X. 2011-02-27 22:06:46 -08:00
Sam Lantinga
0068b61c49 Added a cleaner way to set the default cursor.
Added a way to cycle through the default cursor in testcursor.c
2011-02-27 21:36:23 -08:00
Sam Lantinga
8b92536842 Fixed minimizing fullscreen windows.
Removed misleading hide/unhide Cocoa notifications.
We have no way of knowing when a Cocoa window is maximized and then restored (right?)
Disabled spamy mouse motion events by default.
2011-02-27 21:17:06 -08:00
Sam Lantinga
d5783ef521 Use boolean value for input grab mode, like we do for fullscreen mode. 2011-02-27 20:06:45 -08:00
Sam Lantinga
663afa2ec2 Zero streaming textures at the driver level 2011-02-26 21:39:34 -08:00
Sam Lantinga
e0e42e337f Fix fullscreen origin on Mac OS X 10.4 2011-02-26 11:59:33 -08:00
Sam Lantinga
3eecee4966 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
01a653d223 Restore the window title when the title bar is re-added to the window. 2011-02-26 10:15:13 -08:00
Sam Lantinga
76b28bb750 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
1dbb371545 Hopefully fixed crashes when creating multiple streaming textures of different sizes. 2011-02-24 23:42:58 -08:00
Sam Lantinga
f6788b9594 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
7cc4fa488d 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
2dea8c1170 SDL 1.3 doesn't use nasm anymore. :) 2011-02-24 09:41:04 -08:00
Sam Lantinga
c2cea8ef59 Fixed compile error on some versions of Mac OS X. 2011-02-23 15:06:14 -08:00
Sam Lantinga
0ac98043e8 Fixed altivec.h include on Mac OS X 2011-02-22 22:17:44 -08:00
Sam Lantinga
7fa84f6a78 Re-added the 3DNow! and AltiVec instruction support. 2011-02-22 21:44:36 -08:00
Sam Lantinga
a971987a27 Update the cursor correctly when it enters and leaves the window. 2011-02-21 23:45:48 -08:00
Sam Lantinga
ad0a084dbe Actually set the cursor! :) 2011-02-21 23:10:00 -08:00
Sam Lantinga
1fafd8d8a4 Simplified the X11 window creation 2011-02-21 22:52:31 -08:00
Sam Lantinga
958603adb9 The OpenGL test window shouldn't be visible. 2011-02-21 22:52:07 -08:00
Sam Lantinga
c34217eac2 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
3de1129815 Clear the hidden flag when shown and the shown flag when hidden. 2011-02-21 22:50:15 -08:00
Sam Lantinga
22a78ea9c2 Simplified Windows window creation. 2011-02-21 22:27:19 -08:00
Sam Lantinga
79f564f37a Fixed compiler warnings 2011-02-21 22:26:59 -08:00
Sam Lantinga
f3c377a8f2 Simplified and unified the window creation process a little. 2011-02-21 22:03:39 -08:00
Sam Lantinga
f225c427f8 We can defer window creation.
Added documentation for why we need an SDLView
2011-02-21 21:32:11 -08:00
Sam Lantinga
afb7a380ef Fixed compiler warning 2011-02-21 20:35:44 -08:00
Sam Lantinga
b860c07c84 Added disabled preferences menu option so it looks more like other application menus. 2011-02-21 20:34:22 -08:00
Sam Lantinga
2294e6ddb0 Implemented cursor support and SDL_WarpMouseInWindow() on Mac OS X 2011-02-21 17:15:50 -08:00
Sam Lantinga
73b17999c1 Implemented Cocoa_SetWindowIcon(), added SDL_ConvertSurfaceFormat() 2011-02-21 16:45:23 -08:00
Sam Lantinga
891ea5b7e5 We still want the delegate functionality for windowShouldClose() 2011-02-21 15:25:49 -08:00
Sam Lantinga
4c8858b49b Do error checking in SDL_GetDisplayForWindow() 2011-02-21 15:08:36 -08:00
Sam Lantinga
65c20a99ce SDL still supports older iPod Touch and first generation iPhones. 2011-02-21 11:04:27 -08:00
Sam Lantinga
008bb00d2b 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
829c30596a The valid mouse coordinates actually range from 0 to w-1 and h-1 2011-02-20 23:51:59 -08:00
Sam Lantinga
0bdae7b3a1 Reverted the experiment, it didn't work. 2011-02-20 23:51:31 -08:00
Sam Lantinga
575ff5fa0d Experiment to try to account for source clipping 2011-02-20 23:16:58 -08:00
Sam Lantinga
187d10d92c Fixed bug 1105 (SDL_GetMouseState returns wrong location upon window re-activation) 2011-02-20 20:49:31 -08:00
Sam Lantinga
5e0f2c8b85 Updated the template code 2011-02-20 19:15:00 -08:00
Sam Lantinga
53afa21ba1 Fixed the fireworks demo 2011-02-20 14:59:36 -08:00
Sam Lantinga
1c678cefe8 Fixed bug 1137, updated the keyboard demo with latest rendering API changes. 2011-02-20 14:22:27 -08:00
Sam Lantinga
437682d6dc Fixed testgles on iOS (bug 1136) 2011-02-20 14:16:11 -08:00
Sam Lantinga
5d2d0a1574 Fixed compiler warning 2011-02-20 13:56:57 -08:00
Sam Lantinga
ba24205a8a Fixed compiling on Mac OS X 10.4 2011-02-20 12:39:59 -08:00
Sam Lantinga
2788694b17 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
a0a3c805a2 Added a revision number for easy compile-time tests. 2011-02-20 10:42:51 -08:00