Commit graph

3334 commits

Author SHA1 Message Date
Eli Gottlieb
911e4c49b8 Added SDL_x11shape.h. 2010-07-02 12:02:18 -04:00
Eli Gottlieb
ea29eee83c Finished X11 shaped-window functionality and removed ellipse+polygon rendering. 2010-06-30 16:19:44 -04:00
Eli Gottlieb
2c8b1ce8f7 Added Andreas's fixes to the header and stub file for SDL_shape. 2010-06-21 23:08:10 -04:00
Eli Gottlieb
00e7bc8b93 Replaced the model of treating a window's shape as a render target with treating a window's shape as a surface passed into an SDL_SetWindowShape() function. I'll send this off to Andreas and Sam and start coding. 2010-06-19 23:10:57 -04:00
Eli Gottlieb
6cc179de3d Doxygen commenting is all finished up. 2010-06-10 17:50:38 -04:00
Eli Gottlieb
3389f25629 Stubbed out the new get/set parameter functions, added the start of the enum, union, and struct for those parameters themselves, and added doxygen comments throughout the SDL_shape.h header. 2010-06-10 17:37:19 -04:00
Eli Gottlieb
350a2b464e Fixed names of driver-specific implementation files. 2010-06-05 15:12:27 -04:00
Eli Gottlieb
3b75623708 Removed and added back SDL_shape.{c,h} wholesale. Will this get them tracked properly? 2010-06-05 15:07:14 -04:00
Eli Gottlieb
17e8b4796b Took away a line break to make SDL_shape.c new. Why isn't hg tracking these two files properly? 2010-06-05 15:02:26 -04:00
Eli Gottlieb
58b84350ec Updated SDL_shape.h by adding a line break... somehow it's not being tracked correctly.` 2010-06-05 15:01:40 -04:00
Eli Gottlieb
c8581d3a82 Fixed up new functions and files so that they build as part of SDL. 2010-06-03 17:21:40 -04:00
Eli Gottlieb
af2813acd5 Stubbed out the new drawing, filling, and geometry functions for ellipses and polygons. 2010-06-03 16:21:04 -04:00
Eli Gottlieb
52ed282081 Added management and drawing functions for ellipses and polygons. 2010-06-03 14:43:38 -04:00
Eli Gottlieb
caf743a102 Moved the SDL_Eyes test program for shaped windows into the Hg repository and got it building and linking as a test. 2010-05-31 21:23:06 -04:00
Eli Gottlieb
608b696abd Added the standard headers and footers that make SDL_shape.h and SDL_shape.c integrate properly into the build. 2010-05-27 16:44:35 -04:00
Eli Gottlieb
3e7fb6f4a8 Changed API for shaped windows to make it much, much simpler. A shaped window's shape mask is now accessed as a render target, which means we can get at it with blit and draw functions, as well as (most likely) OpenGL. 2010-05-25 00:23:41 -04:00
Eli Gottlieb
125761a0a1 I'm actually going to have to alter this proposed API a fair bit, but it's coming along. I want to keep it as orthogonal to the rest of SDL as possible. 2010-05-23 01:27:09 -04:00
Eli Gottlieb
1f57c052c4 Moved SDL_shape.h, and building out the API as needed by SDL_Eyes. 2010-05-21 17:28:12 -04:00
Eli Gottlieb
c40fb5a65d Added stub files, working on sample program SDLeyes. 2010-05-21 14:50:04 -04:00
Sam Lantinga
d12afdaedb Add a default revision string if we can't find hg 2010-05-09 19:55:28 -07:00
Sam Lantinga
36bb08a19e Don't assume .bashrc exists. :) 2010-05-09 19:51:21 -07:00
Sam Lantinga
cc3f18a315 Tagging version before everything gets ripped out. 2010-05-09 17:00:56 -07:00
Sam Lantinga
76cf0cd0c0 Make the compiler even happier 2010-05-09 16:16:11 -07:00
Sam Lantinga
2a8171b8b7 Make sure events are current before flushing them. 2010-05-09 16:15:14 -07:00
Sam Lantinga
906341c826 Added missing header 2010-05-09 15:47:21 -07:00
Sam Lantinga
3bc34ef448 Removed unused variables 2010-05-09 15:46:19 -07:00
Sam Lantinga
06d5867775 Fixed compiler warnings 2010-05-09 15:33:10 -07:00
Sam Lantinga
74e352d011 Fixed variable use before initialize warnings 2010-05-09 15:24:31 -07:00
Sam Lantinga
0c3e29cd9c Removed unused variables 2010-05-09 15:24:05 -07:00
Sam Lantinga
dc6629fa52 Fixed Eric's changes to allow building from the command line. 2010-05-09 10:00:33 -07:00
Sam Lantinga
4a2cf3b976 Updated with the SDL 1.3 list of supported operating systems 2010-05-09 09:53:57 -07:00
Eric Wing
f7c1900153 Updated Mac Xcode project for refactored rwops automated test changes. 2010-05-09 07:00:28 -07:00
Eric Wing
6c9da257a1 Refactored automated rwops tests so read and write directories can be more easily customized.
The refactored tests were written in recognition that Mac and iPhone current working directories are usually not going to work. Resource directories are in bundles and write directories are restricted to certain areas. In theory, other platforms may have this problem too, hence the refactoring.

Also updated the Xcode iPhone project to use 3.2 as the Base SDK, but 3.1 as the Deployment SDK (for iPhone/iPad compatibility.)

--HG--
rename : test/automated/rwops/Test_rwopsbundlesupport.h => test/automated/rwops/TestSupportRWops.h
rename : test/automated/rwops/Test_rwopsbundlesupport.m => test/automated/rwops/TestSupportRWops_Cocoa.m
2010-05-09 06:58:30 -07:00
Eric Wing
4d5a9e42ba Fixes to automated test target for iPhone Xcode project.
Looks like there is a problem with the source code base. UIScreenMode and possibly a few other 3.2 only APIs have crept in. 3.2 is only available for iPad, and not iPhone/iPod Touch.
2010-05-08 08:23:46 -07:00
Eric Wing
1a24b61487 Exempted writable modes from bundle check on OS X since bundle areas are typically read-only. 2010-05-08 04:52:17 -07:00
Eric Wing
a67b7bdcab Adding testsdl (automated test) support to iPhone Xcode project (to match Mac Xcode project).
I haven't updated yet to the 3.2 SDK so SDL no longer builds for me so I can't yet verify if the new target completely works.
2010-05-08 01:12:55 -07:00
Eric Wing
95cc075a21 Added automated test to Xcode project plus needed changes to SDL_RWFromFile to be OS X bundle aware.
The Mac OS X project has a new target called testsdl which builds the automated test. I looked at using Xcode's native unit test support, but the impedance mismatch between the existing automated test structure and Apple's was more than I could handle.

As such, the testsdl application is a full blown proper OS X application, which means it is a self-contained .app bundle. This immediately revealed some problems from the automated test. The largest problem was the assumption about the current working directory and where to find resources. (I suspect Windows may have a similar problem depending on circumstance.) To open resources, the test was looking in directories relative to the SDL source directory, but this will not work well with self-contained .app bundles and Xcode which can place its built applications almost anywhere. And for real-world situations, this is pretty useless anyway.

So I modified SDL_RWFromFile to do special things on OS X. First, it will look for a file in the .app bundle. If not found, it will fallback and just call fopen as it used to do.

I also had to modify the automated test itself because it had a contrieved test which called fopen directly to do read from an existing FILE pointer. In addition, there was a write test. Since a .app bundle is likely going to be read-only, I added a special case for OS X to write to NSTemporaryDirectory.

I expect these changes should work for both Mac and iPhone OS (which includes iPad).

I will update the iPhone Xcode project next.

Finally, FYI, the X11 automated test seems to be failing. Below is my output.


Pending breakpoint 4 - "-[NSException raise]" resolved
Platform : All tests successful (2)
SDL_RWops : All tests successful (5)
Rect : All tests successful (1)
SDL_Surface : All tests successful (6)
Rendering with cocoa driver : All tests successful (3)
Assert Failed!
   Blit output not the same.
   Test Case 'Renderer x11'
   Test Suite 'Rendering with x11 driver'
   Last SDL error ''
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
Rendering with x11 driver : Failed 1 out of 4 testcases!
Rendering with dummy driver : All tests successful (3)
SDL_Audio : All tests successful (1)
Tests run with SDL 1.3.0 revision 1095906
System is running Mac OS X and is little endian
2010-05-08 00:54:22 -07:00
Ryan C. Gordon
b6ef5b01d8 Much improved multi-display support for iPad.
Fixes most issues and limitations, I think.
2010-05-02 05:08:12 -04:00
Ryan C. Gordon
953d5e65ea Test for system version in the Apple Recommended way.
(a similar test is output by Xcode for the iPhone View Application template).
2010-05-01 13:50:56 -04:00
Ryan C. Gordon
c236844aac Implemented SDL power APIs for iPhoneOS. 2010-04-30 00:39:31 -04:00
Ryan C. Gordon
4f49f9e01e Implemented display mode functionality for UIKit.
The iPad (and iPhoneOS 3.2) introduce both a larger screen and the ability to
 enumerate and configure external displays. This hooks up SDL's multi-display
 API to this new functionality, and removes the hardcoded iPhone resolution.
2010-04-29 22:53:18 -04:00
Sam Lantinga
33ffbdf29d Fixed bug 978
Yann Leprince      2010-03-31 11:07:53 PDT

Please add a #serial line as below to sdl.m4 and increase the serial number
with each revision of this file. This allows using aclocal --install, thereby
enabling automatic updating of sdl.m4 in SDL-based packages that distribute it.

# serial 1

The complete documentation and rationale for #serial can be found in the
Automake documentation:
<http://www.gnu.org/software/automake/manual/html_node/Serials.html>.
2010-04-23 02:19:34 -07:00
Sam Lantinga
cd734eee3a esigra 2010-04-17 03:53:57 PDT
If this header file is supposed to be includable from C++ code, the code should
of course use one of the SDL_*_cast macros from SDL_stdinc.h.
2010-04-23 02:15:05 -07:00
Jjgod Jiang
4a9fad4714 Fix a crash caused by empty keyboard focus
---
 src/events/SDL_keyboard.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
2010-04-20 07:16:42 -07:00
Sam Lantinga
5740f12d7b changeset: 4434:4e5dd7dc58cd
tag: tip
user: Jjgod Jiang <gzjjgod@gmail.com>
date: Fri Apr 16 13:20:33 2010 +0800
summary: Fix window height calculation for text input rect
2010-04-15 22:27:50 -07:00
Sam Lantinga
fc440f959f Minor cleanup on Jiang's patch 2010-04-15 22:27:01 -07:00
Sam Lantinga
f9a8341561 changeset: 4433:25667ea797fa
tag: tip
user: Jiang Jiang <gzjjgod@gmail.com>
date: Thu Apr 15 12:01:46 2010 +0800
summary: Add windowID to text editing event
2010-04-15 22:14:26 -07:00
Sam Lantinga
6f34ceab02 Fixed bug 984
SDL_CreateTexture allows the creation of textures of size 0, which can lead to div by 0 errors
2010-04-15 21:27:32 -07:00
Sam Lantinga
2f71858a7e Fixed bug 944
Tatu Kilappa      2010-02-11 12:13:20 PST

When compiling with -Wconversion, gcc complains about a cast in SDL_endian.h
that might change the result as we are casting from an int into an Uint16. This
is of course not visible unless we are on a non-x86 platform where the
assembler is not available.

While it's not really an error, the warning is really annoying. To fix, change
SDL_endian.h line 87 to:

  return(Uint16)((x<<8)|(x>>8));

Thank you.
2010-04-13 22:01:14 -07:00
Sam Lantinga
1fb2a69487 General improvements for user custom event registration
* Switched event type to enum (int32)
* Switched polling by mask to polling by type range
* Added SDL_RegisterEvents() to allow dynamic user event registration
* Spread events out to allow inserting new related events without breaking binary compatibility
* Added padding to event structures so they're the same size regardless of 32-bit compiler structure packing settings
* Split SDL_HasEvent() to SDL_HasEvent() for a single event and SDL_HasEvents() for a range of events
* Added SDL_GetEventState() as a shortcut for SDL_EventState(X, SDL_QUERY)
* Added SDL_FlushEvent() and SDL_FlushEvents() to clear events from the event queue
2010-03-25 01:08:26 -07:00