Commit Graph

5003 Commits

Author SHA1 Message Date
Sam Lantinga
dd8238d718 Switch to mixed case for consistency with other enumerations 2009-12-10 08:28:26 +00:00
Sam Lantinga
70a40d51b2 Added interfaces for batch drawing of points, lines and rects:
SDL_DrawPoints()
    SDL_BlendPoints()
    SDL_BlendLines()
    SDL_DrawLines()
    SDL_FillRects()
    SDL_BlendRects()
    SDL_RenderPoints()
    SDL_RenderLines()
    SDL_RenderRects()
Renamed SDL_RenderFill() to SDL_RenderRect()
2009-12-09 15:56:56 +00:00
Sam Lantinga
fd2629214e Hey, those automated tests are coming in handy! Fixed GDI rendering semantics 2009-12-07 10:08:24 +00:00
Sam Lantinga
cf1e120bcb Implemented RenderReadPixels() and RenderWritePixels() for GDI renderer. 2009-12-07 09:44:55 +00:00
Sam Lantinga
22a1cf4b25 This fixes the OpenGL rendering test, at least with my ATI card... 2009-12-07 08:02:20 +00:00
Sam Lantinga
8d70d2a2b2 Fixed crash initializing the dummy driver 2009-12-07 08:01:58 +00:00
Sam Lantinga
4969fa9624 On Windows the minimum window size may be larger than 80, so explicitly request the expected rectangle. 2009-12-07 08:01:20 +00:00
Sam Lantinga
3e60082b3f The window position is display relative, at least for now... 2009-12-06 08:39:01 +00:00
Sam Lantinga
2f755299d8 Fixed crash 2009-12-06 08:16:23 +00:00
Sam Lantinga
586f3e0dda Added an API function to query geometry of multiple monitors:
SDL_GetDisplayBounds()

Implemented multi-monitor window positions on Windows
2009-12-06 08:03:38 +00:00
Sam Lantinga
973e6e31d8 Fixed to use the correct display adapter 2009-12-06 06:21:39 +00:00
Sam Lantinga
cbe0bbeb02 Fixed compiler warnings 2009-12-05 22:13:36 +00:00
Sam Lantinga
08dd462d5a Fixed compilation on Mac OS X 10.4 2009-12-05 19:57:49 +00:00
Sam Lantinga
489e0472a0 Allow overriding the number of build jobs 2009-12-05 19:46:24 +00:00
Sam Lantinga
a90e5b78ce Made the window flag comments more consistent 2009-12-05 05:13:17 +00:00
Sam Lantinga
428aa51c43 Added related functions 2009-12-05 04:39:59 +00:00
Sam Lantinga
ab85a49998 Don't add any renderers if you can't add any displays 2009-12-04 09:01:48 +00:00
Sam Lantinga
624f566965 Fixed calls to SDL_AddRenderDriver() 2009-12-04 08:45:08 +00:00
Sam Lantinga
f11bc297a2 Fixed compiling the D3D renderer 2009-12-04 08:26:32 +00:00
Sam Lantinga
1b9db6b1d5 Added support for SDL 1.2 environment variables:
SDL_VIDEO_FULLSCREEN_DISPLAY, SDL_VIDEO_FULLSCREEN_HEAD
2009-12-03 08:43:12 +00:00
Sam Lantinga
6d60a7e907 Fixed mouse events for fullscreen windows on Mac OS X 2009-12-03 08:33:39 +00:00
Sam Lantinga
2c7165c6f4 Restore the video mode after shutting down the renderer, which fixes an error deleting the OpenGL context on Mac OS X. 2009-12-03 05:05:26 +00:00
Sam Lantinga
f6828e88f9 Missing pop over a jump 2009-12-03 04:33:05 +00:00
Sam Lantinga
262da78936 Added Ctrl-Z common key binding 2009-12-02 07:56:09 +00:00
Sam Lantinga
17424210d2 Restore the desktop mode when requested 2009-12-02 07:55:23 +00:00
Sam Lantinga
efacf93c19 If we're fullscreen on a single-head system and lose focus, minimize 2009-12-02 07:42:10 +00:00
Sam Lantinga
932374c12d On multi-display systems it's perfectly reasonable to have focus on a window on another monitor while the application is fullscreen. 2009-12-02 07:38:28 +00:00
Sam Lantinga
147d40ba98 Don't need to hide the menu bar if we're not on the main display 2009-12-02 07:28:58 +00:00
Sam Lantinga
7b253b6d72 Changed so that it's obvious that the two code blocks are related. 2009-12-02 07:25:06 +00:00
Sam Lantinga
98d4ce80cb Fixed mouse coordinates for fullscreen mode 2009-12-02 06:10:18 +00:00
Sam Lantinga
8d573748a7 The window positions are relative to the origin of the windowing system (upper left of the primary display).
Fixed the mouse positions for windowed mouse movement.
2009-12-01 12:08:34 +00:00
Sam Lantinga
3a9270299d Added support for placing windows on different displays 2009-12-01 11:50:00 +00:00
Sam Lantinga
339da23b8c Ensure that the main display is picked up first 2009-12-01 10:41:58 +00:00
Sam Lantinga
67759dc02c Allow mirrored displays, but only the primary display in a mirrored set. 2009-12-01 10:34:01 +00:00
Sam Lantinga
4fb5822326 Explicitly clear fullscreen status rather than relying on the window focus behavior. 2009-12-01 09:04:28 +00:00
Sam Lantinga
fcd49aba49 Whenever a window becomes fullscreen, shown, unminimized, and has input focus it will change the display to the corresponding fullscreen video mode.
If it loses any of those properties the desktop mode will be restored.
2009-12-01 08:56:12 +00:00
Sam Lantinga
2ce40757c1 Removed a little redundancy in the naming 2009-12-01 06:15:10 +00:00
Sam Lantinga
8adb9fc3cc Work in progress on multi-display support:
* Added display parameter to many internal functions so video modes can be set on displays that aren't the public current one.
* The fullscreen mode is associated with fullscreen windows - not displays, so different windows more naturally have a mode associated with them based on their width and height.  It's no longer necessary to specify a fullscreen mode, a default one will be picked automatically for fullscreen windows.
2009-12-01 05:57:15 +00:00
Sam Lantinga
27e8049669 Reduced the push/pop sequence to a single pair, and ported this fix over to the other architectures. 2009-11-30 21:04:25 +00:00
Sam Lantinga
e989a1a23e Fixed crash - need to save and restore rbx around cpuid, since the compiler may be assuming the stack pointer isn't being modified when filling in %0.
I did it around each call to cpuid which isn't strictly necessary, but is definitely future proof. :)
2009-11-30 19:52:34 +00:00
Sam Lantinga
e967be32b1 Added support for 32-bit BMP files with an alpha channel 2009-11-30 17:57:12 +00:00
Sam Lantinga
1636b263b6 Joe 2009-11-23 21:31:10 PST
If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions
367     *  (X axis, Y axis and Z axis (with 3 axes)).  ::SDL_HAPTIC_CARTESIAN
uses
368     *  the first three \c dir parameters.  The cardinal directions would
be:
369     *   - North:  0,-1, 0
370     *   - East:  -1, 0, 0
371     *   - South:  0, 1, 0
372     *   - West:   1, 0, 0

typedef struct SDL_HapticDirection
{
    Uint8 type;         /**< The type of encoding. */
    Uint16 dir[3];      /**< The encoded direction. */
} SDL_HapticDirection;

An unsigned int can't store negative values and I don't see an alternate way to
encode them in the docs or source. The best I have been able to come up with is
using a negative magnitude for the effect but this will only get me 2 of the 4
quadrants in the plane for 2d effects. I looked at the win32 and linux
implementations and I believe is is safe to use signed ints in the direction
struct. I am unfamiliar with the darwin haptics API so I don't know if it is
safe.
2009-11-27 19:29:27 +00:00
Sam Lantinga
ef2e845497 Adam Strzelecki to SDL
D3D renderer shall try mapping YV12 and I420 (IYUV) to D3D texture formats via FOURCC. This will enable HW acceleration for those formats when driver is capable (most of them are). Note that SDL's IYUV maps I420 FOURCC on Woe.
2009-11-27 03:11:26 +00:00
Sam Lantinga
c0587b4d69 Adam Strzelecki to SDL
Currently SDL uses GL_RGB for internalFormat when GL_YCBCR_MESA is passed as format for glTextImage2D when using Linux Mesa's OpenGL. However this is wrong and makes glTextImage2D fail with invalid argument error. GL_YCBCR_MESA should be also internalFormat (not GL_RGB) there and this is what can be found googling various source codes using GL_YCBCR_MESA.
2009-11-26 05:55:57 +00:00
Sam Lantinga
eb0a552878 SDL_CreateWindowFrom() is actually going to be supported. :) 2009-11-25 07:42:23 +00:00
Sam Lantinga
3d2358c109 Clarified the windowID parameter 2009-11-25 06:24:15 +00:00
Sam Lantinga
3f0a66d3ef Add error messages for failure cases 2009-11-25 06:00:00 +00:00
Sam Lantinga
f0f7a43ea2 Added the automated test to the Visual Studio 2008 project 2009-11-25 04:41:09 +00:00
Mike Gorchak
b74b046318 Override renderer for OpenGL window, only in case if OpenGL or OpenGL ES renderers are enabled. 2009-11-24 19:28:27 +00:00
Sam Lantinga
9f88d7348e Fixed bug #771
Cleaned up the code a bit and made sure that an OpenGL window gets the OpenGL
renderer.  Inspired by a patch from Mason Wheeler.
2009-11-24 16:43:18 +00:00