- 29 Jan, 2006 8 commits
-
-
Sam Lantinga authored
From: "Michael Leonhard" Subject: [SDL] resize bug on Win32 and patch This is my first post to this mailing list. In this email I will detail a bug in the behavior of resizable SDL windows on Win32. Then I will explain the solution and provide a patch. Symptoms: Under Windows, an SDL display created with the SDL_RESIZABLE flag exhibits quirky behavior when being maximized. The window is resized to the proper size, but it is shifted upwards about half the height of the title bar. Similarly, a window whose origin is above the top of the screen will spontaneously move its upper-left origin upon being resized. After two such resize-induced moves, the title bar will be entirely off the top edge of the screen. Subsequently, when the mouse is clicked and released on the window border, the window will shrink its height spontaneously. This height shrinkage occurs even if the user did not resize the border. To observe this curious situation, please invoke: SDL-1.2.8/test/testwm.exe -resize Cause: A pair of integers, SDL_windowX and SDL_windowY, are defined in video/wincommon/SDL_sysevents.c. They are used by the DirectX video driver and the DIB video driver: video/windx5/SDL_dx5video.c video/windib/SDL_dibvideo.c As I understand the source code, the primary use of these variables is to create a rectangle that represents the surface area in CLIENT SPACE. Client space refers to a coordinate system that originates at the upper left corner of a Win32 Window's drawable area. This is just inside the window border and title bar. This client space rectangle, called bounds, is subsequently converted to screen space with a call to AdjustWindowRectEx. The problem is found in SDL's handling of the WM_WINDOWPOSCHANGED message. According to MSDN, "The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place in the Z order has changed as a result of a call to the SetWindowPos function or another window-management function." I have confirmed that this message is indeed being sent to the SDL window when the mouse is clicked on the window border, even if the window border is not dragged. In video/wincommon/SDL_sysevents.c, on line 464, in response to the WM_WINDOWPOSCHANGED message, the (potentially) new client rectangle is obtained. This rectangle is translated into screen coordinates and THEN assigned to the SDL_windowX and Y variables. Thus screen coordinates are being assigned to client coordinate variables. Once this is understood, the solution is apparent: assign SDL_windowX and Y before translating the rectangle to screen coordinates. This is accomplished by the following patch. -Mike_L --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401290
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401289
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401288
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401287
-
Sam Lantinga authored
From: "SkunkGuru" Subject: [SDL] Repeated mousemotion event on notebook it seems that every ~500ms something fires a mousemotion event, but with the same x and y position. I tryed with both directx and windib video driver. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401286
-
Sam Lantinga authored
From: jimrandomh Subject: [SDL] Re: Modifier keys pressed during initialization stick I wrote a simple test program which initializes SDL, prints the SDL version number, then prints any keydown and keyup events with their modifiers. (Source code below). Compilation was done using Visual Studio 6, release mode. My test sequence was: Start a command prompt. Type the name of the test program. shift down enter down (program starts) Wait for window to appear enter up shift up spacebar down spacebar up Under Windows 98, the output was correct: SDL 1.2.8 left shift down shift-return down shift-return up left shift up space down space up Under Windows 2000 and under Windows XP, the output was: SDL 1.2.8 shift-space down shift-space up Since shift was not held at the time space was pressed, this is incorrect. Similar results were observed with launching in different ways (including double-clicking in Windows Explorer), so it does not depend on the launching terminal. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401285
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401284
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401283
-
- 28 Jan, 2006 1 commit
-
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401282
-
- 27 Jan, 2006 5 commits
-
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401281
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401280
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401279
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401278
-
Sam Lantinga authored
From: "Brian Kropf" Subject: [SDL] Windx5 I was wondering if I could suggest a change for (at least) the mingw/msys build. Every time I do the ./configure, make on a fresh download it crashes when it tries to find directx.h for the audio portion of the build In file included from SDL_dx5audio.c:37: SDL_dx5audio.h:31:21: directx.h: No such file or directory In file included from SDL_dx5audio.c:37: I usually copy the directx.h from the video/windx5 into the audio/windx5 and things go smoothly after that; just thought I'd suggest it for making future builds go smoothly. ;) --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401277
-
- 26 Jan, 2006 6 commits
-
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401276
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401275
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401274
-
Sam Lantinga authored
http://cvs.savannah.gnu.org/viewcvs/config/?root=config --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401273
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401272
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401271
-
- 25 Jan, 2006 7 commits
-
-
Patrice Mandin authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401270
-
Patrice Mandin authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401269
-
Sam Lantinga authored
From: Rob Neff Subject: [SDL] testgl.c minor bug fix for fullscreen mode from: if ( strcmp(argv[1], "-fullscreen") == 0 ) { to: if ( strcmp(argv[i], "-fullscreen") == 0 ) { Minor bug, but might help someone else out who is trying to pass the command-line params -logo -fullscreen like I was! :) --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401268
-
Sam Lantinga authored
From: Tyler Montbriand <tsm@accesscomm.ca> Subject: Re: [SDL] Hardware buttons on pocket pc I found it! :) It has to do with the UNICODE translation code, in SDL_dibevents.c, in the '#ifdef NO_GETKEYBOARDSTATE' block in DIB_HandleMessage(). The error handling is a little... aggressive. If it can't translate from unicode, it wipes out the virtual keycode. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401267
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401266
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401265
-
Sam Lantinga authored
From: Ignacio Casta�o <castanyo@yahoo.es> Subject: [SDL] SDL_GL_GetAttribute( SDL_GL_MULTISAMPLESAMPLES ... It would be nice to add the following lines: case SDL_GL_MULTISAMPLEBUFFERS: *value = 0; break; case SDL_GL_MULTISAMPLESAMPLES: *value = 1; break; in wincommon\SDL_wingl.c int the function WIN_GL_GetAttribute at line 484, so that it returns the correct values when arb_pixel_format is not supported. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401264
-
- 24 Jan, 2006 2 commits
-
-
Sam Lantinga authored
From: Mike Shal Subject: [SDL] Bug in SDL_wave.c? Hey everyone, I'm not sure if this is a bug in SDL, or if I just have incorrect WAV files. The problem I'm having is loading multiple concatenated WAVs from SDL_LoadWAV_RW. Some WAV files put comments at the end of the file (which may be bad form), and SDL doesn't skip past them when reading from the RWops. So the next WAV I try to load will start at the comment section of the previous WAV, which obviously doesn't work. If anyone else is having this problem, one quick fix you can do is run sox on the bad WAVs, which strips out all of the comment sections. Eg: $ sox sound.wav tmp.wav $ mv -f tmp.wav sound.wav The other fix is to patch SDL_wave.c, which is included with this email. (Assuming I made the patch correctly :). All it does is calculate how much remaining space there is in the WAV file after the data chunk, and does SDL_RWseek to skip it. I don't think it should interfere with anything else, but if someone could check it that would be nice :). If the bug is really with SDL and not with my WAVs, can someone work this into the next version of SDL? Thanks, -Mike Shal --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401263
-
Sam Lantinga authored
From: "Jim" Subject: [SDL] Frame buffer patches... Would seem that GCC 3.2.2 promotes all signed values to unsigned if any single vlaue is unsigned in an expression... for instance when calculating an elo touch position....evertyhign is an (int) except for cach_vinfo.xres which is unsigned. THerefore if y ou reverse the SDL_ELO_MIN_X and SDL_ELO_MAX_X values the resulging negative value pegs the expression to it's max. Attached it the accumu lated patch to typecast the unsigned values to (int) - *dx = (cache_vinfo.xres - (cache_vinfo.xres * (input_x - ELO_MIN_X)) / width); + *dx = ((int)cache_vinfo.xres - ((int)cache_vinfo.xres * (input_x - ELO_MIN_X)) / width); and also to provide quite failure to operations which have the screen currently locked... The touch screen I'm using the original values were exactly opposite of any position I touched on the screen - evaluating the math the expr ession SHOULD have handled reversing the min and max values - and after casting the unsigned .xres and .yres to a signed int - worked well. .. Jim --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401262
-
- 20 Jan, 2006 1 commit
-
-
Sam Lantinga authored
From: Vassilis Virvilis <vasvir@iit.demokritos.gr> Subject: [SDL] Request: Please reconsider adding tag in SDL_Event Hi, Patch in question: --- include/SDL_events.h 20 Aug 2004 18:57:01 -0000 1.11 +++ include/SDL_events.h 19 Jan 2006 17:35:09 -0000 @@ -214,7 +214,7 @@ } SDL_SysWMEvent; /* General event structure */ -typedef union { +typedef union SDL_Event { Uint8 type; SDL_ActiveEvent active; SDL_KeyboardEvent key; Reasoning: ---------- 1) Allows forward declaration of the SDL_Event union in C++. Please note that in plain C it is possible to forward declare it. 2) Forward declaration is good because it allows encapsulation. It hides the specific implementation and does not necessarily exposes SDL staff to my appication's namespace 3) It can't harm plain C because tags are living in a different namespace than typenames 4) It is already done like this in other places in SDL. Check for example SDL_KeySym, and SDL_.*Event structures. 5) Right now I have to include SDL/event.h from a C++ header file. See 2) --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401261
-
- 19 Jan, 2006 9 commits
-
-
Patrice Mandin authored
Following commit 1.51, I come accross a problem when SDL must choose between several video modes that could suit the one asked. If I ask 320x240 with this list: 768x480 768x240 640x400 640x200 384x480 384x240 320x400 320x200 The smallest selectables modes are 384x240 and 320x400. And SDL choose the later in this list, but 384x240 is more suitable. So I added a check to compare the pixel count (surface) of modes, and select the one which has the smallest pixel count. In my example, 384x240 has 92160 pixels, and 320x400 has 128000 pixels. So now SDL will choose 384x240 for the asked 320x240 mode. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401260
-
Patrice Mandin authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401259
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401258
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401257
-
Sam Lantinga authored
This is a collaborative effort between Alex Volkov and John Popplewell. Thanks guys! (Fixes bug #39) --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401256
-
Ryan C. Gordon authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401255
-
Ryan C. Gordon authored
updated project files, VS2005 support, VGA mode, more device support, etc, etc, etc. Fixes Bugzilla #47 and #28. --ryan. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401254
-
Ryan C. Gordon authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401253
-
Sam Lantinga authored
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401252
-
- 14 Jan, 2006 1 commit
-
-
Ryan C. Gordon authored
queried for a missing extension (such as the XiG vidmode one that most people don't have), and default Xlib behaviour is to write notification to stderr, this tends to generate incorrect bug reports. Since we'll actually deal with the missing extension when querying for it, we ignore these errors in our hook. The rest continue to pass through to the default handler. Fixes Bugzilla #42. --ryan. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401251
-