Sam Lantinga
c43ba5edd7
Fixed line drawing for D3D
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404299
2009-12-12 20:31:28 +00:00
Sam Lantinga
4b9d4ff36a
Minor documentation fix
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404298
2009-12-12 20:30:25 +00:00
Sam Lantinga
15e7c4789c
Finished implementing RenderReadPixels()
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404297
2009-12-12 04:01:40 +00:00
Sam Lantinga
d122df1db0
Removed the obsolete testcdrom target
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404296
2009-12-12 01:04:57 +00:00
Sam Lantinga
3be3a8db09
Fixed building on iPhone
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404295
2009-12-12 00:55:13 +00:00
Sam Lantinga
9888012562
Allow points to be outside the window bounds, stress testing the clipping code.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404294
2009-12-12 00:08:45 +00:00
Sam Lantinga
0e0b96d72f
Added mouse position for button handling
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404293
2009-12-12 00:08:02 +00:00
Sam Lantinga
279b20b6d6
minor notes to self
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404292
2009-12-12 00:07:26 +00:00
Sam Lantinga
3e4cece769
Fixed X11 line implementation - clip lines that are going to go outside the window.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404287
2009-12-11 09:59:36 +00:00
Sam Lantinga
60b65d182a
Make sure we fully clip the first point before starting to adjust the second point.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404286
2009-12-11 09:57:54 +00:00
Sam Lantinga
1ba0c1618e
Added an automated test for rectangle routines, currently only testing line clipping.
...
Use the Cohen-Sutherland algorithm for line clipping which uses integer math and preserves ordering of clipped points.
Removed getopt() support in testsdl.c, replaced with simple argv scanning.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404285
2009-12-11 09:22:34 +00:00
Sam Lantinga
4672f074e0
Fixed constness in RenderRects() parameter
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404284
2009-12-11 09:13:51 +00:00
Sam Lantinga
74c8c77e81
Fixed bug #896
...
John Popplewell 2009-12-08 23:05:50 PST
Originally reported by AKFoerster on the mailing list.
Error decoding UTF8 Russian text to UTF-16LE on Windows, but specifically on
platforms without iconv support (the default on Windows).
Valid UTF8 characters are flagged as being overlong and then substituted by the
UNKNOWN_UNICODE character.
After studying the testiconv.c example program, reading the RFCs and putting
some printf statements in SDL_iconv.c the problem is in a test for 'Maximum
overlong sequences', specifically 4.2.1, which is carried out by the following
code:
} else if ( p[0] >= 0xC0 ) {
if ( (p[0] & 0xE0) != 0xC0 ) {
/* Skip illegal sequences
return SDL_ICONV_EILSEQ;
*/
ch = UNKNOWN_UNICODE;
} else {
if ( (p[0] & 0xCE) == 0xC0 ) { <<<<<<<< here
overlong = SDL_TRUE;
}
ch = (Uint32)(p[0] & 0x1F);
left = 1;
}
} else {
Here is the 2-byte encoding of a character in range 00000080 - 000007FF
110xxxxx 10xxxxxx
The line in question is supposed to be checking for an overlong sequence which
would be less than
11000001 10111111
which should be represented as a single byte.
BUT, the mask value (0xCE) is wrong, it isn't checking the top-most bit:
11000001 value
11001110 mask (incorrect)
^
and should be (0xDE):
11000001 value
11011110 mask (correct)
making the above code:
} else if ( p[0] >= 0xC0 ) {
if ( (p[0] & 0xE0) != 0xC0 ) {
/* Skip illegal sequences
return SDL_ICONV_EILSEQ;
*/
ch = UNKNOWN_UNICODE;
} else {
if ( (p[0] & 0xDE) == 0xC0 ) { <<<<<<<< here
overlong = SDL_TRUE;
}
ch = (Uint32)(p[0] & 0x1F);
left = 1;
}
} else {
I can supply a test program and/or a patch if required,
best regards,
John Popplewell
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404283
2009-12-11 08:03:43 +00:00
Sam Lantinga
021fe81f73
X11 driver compiles again, lines are not yet implemented
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404281
2009-12-10 09:27:23 +00:00
Sam Lantinga
d86e44de65
Switch to mixed case for consistency with other enumerations
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404280
2009-12-10 08:28:26 +00:00
Sam Lantinga
8ee9720297
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()
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404279
2009-12-09 15:56:56 +00:00
Sam Lantinga
304a6bbb6c
Hey, those automated tests are coming in handy! Fixed GDI rendering semantics
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404278
2009-12-07 10:08:24 +00:00
Sam Lantinga
5a45284f55
Implemented RenderReadPixels() and RenderWritePixels() for GDI renderer.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404277
2009-12-07 09:44:55 +00:00
Sam Lantinga
5d686e407c
This fixes the OpenGL rendering test, at least with my ATI card...
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404276
2009-12-07 08:02:20 +00:00
Sam Lantinga
ea76da001c
Fixed crash initializing the dummy driver
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404275
2009-12-07 08:01:58 +00:00
Sam Lantinga
ce410261ab
On Windows the minimum window size may be larger than 80, so explicitly request the expected rectangle.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404274
2009-12-07 08:01:20 +00:00
Sam Lantinga
5c77d00a62
The window position is display relative, at least for now...
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404273
2009-12-06 08:39:01 +00:00
Sam Lantinga
712ccbd13c
Fixed crash
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404272
2009-12-06 08:16:23 +00:00
Sam Lantinga
52f2433c29
Added an API function to query geometry of multiple monitors:
...
SDL_GetDisplayBounds()
Implemented multi-monitor window positions on Windows
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404271
2009-12-06 08:03:38 +00:00
Sam Lantinga
540357e23a
Fixed to use the correct display adapter
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404270
2009-12-06 06:21:39 +00:00
Sam Lantinga
656ee60af0
Fixed compiler warnings
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404269
2009-12-05 22:13:36 +00:00
Sam Lantinga
e2ff36e2a3
Fixed compilation on Mac OS X 10.4
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404268
2009-12-05 19:57:49 +00:00
Sam Lantinga
21f0a00736
Allow overriding the number of build jobs
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404267
2009-12-05 19:46:24 +00:00
Sam Lantinga
e7a9fc5a82
Made the window flag comments more consistent
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404266
2009-12-05 05:13:17 +00:00
Sam Lantinga
1f1d8b4e67
Added related functions
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404265
2009-12-05 04:39:59 +00:00
Sam Lantinga
a5eb078863
Don't add any renderers if you can't add any displays
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404264
2009-12-04 09:01:48 +00:00
Sam Lantinga
b6b1631cb5
Fixed calls to SDL_AddRenderDriver()
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404263
2009-12-04 08:45:08 +00:00
Sam Lantinga
678d68d0f6
Fixed compiling the D3D renderer
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404262
2009-12-04 08:26:32 +00:00
Sam Lantinga
5bb70a9b91
Added support for SDL 1.2 environment variables:
...
SDL_VIDEO_FULLSCREEN_DISPLAY, SDL_VIDEO_FULLSCREEN_HEAD
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404261
2009-12-03 08:43:12 +00:00
Sam Lantinga
e12e0c04d3
Fixed mouse events for fullscreen windows on Mac OS X
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404260
2009-12-03 08:33:39 +00:00
Sam Lantinga
013a718a1f
Restore the video mode after shutting down the renderer, which fixes an error deleting the OpenGL context on Mac OS X.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404259
2009-12-03 05:05:26 +00:00
Sam Lantinga
ca0eb1c533
Missing pop over a jump
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404258
2009-12-03 04:33:05 +00:00
Sam Lantinga
3c1211c031
Added Ctrl-Z common key binding
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404255
2009-12-02 07:56:09 +00:00
Sam Lantinga
b5fc901837
Restore the desktop mode when requested
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404254
2009-12-02 07:55:23 +00:00
Sam Lantinga
ae0f3ac642
If we're fullscreen on a single-head system and lose focus, minimize
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404253
2009-12-02 07:42:10 +00:00
Sam Lantinga
e4f2557276
On multi-display systems it's perfectly reasonable to have focus on a window on another monitor while the application is fullscreen.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404252
2009-12-02 07:38:28 +00:00
Sam Lantinga
615000a3bd
Don't need to hide the menu bar if we're not on the main display
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404251
2009-12-02 07:28:58 +00:00
Sam Lantinga
c1b86636fe
Changed so that it's obvious that the two code blocks are related.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404250
2009-12-02 07:25:06 +00:00
Sam Lantinga
437235f9d4
Fixed mouse coordinates for fullscreen mode
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404249
2009-12-02 06:10:18 +00:00
Sam Lantinga
15a731ac2a
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.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404248
2009-12-01 12:08:34 +00:00
Sam Lantinga
10bd98ffe5
Added support for placing windows on different displays
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404247
2009-12-01 11:50:00 +00:00
Sam Lantinga
eceb2d3dbe
Ensure that the main display is picked up first
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404246
2009-12-01 10:41:58 +00:00
Sam Lantinga
df27e595ca
Allow mirrored displays, but only the primary display in a mirrored set.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404245
2009-12-01 10:34:01 +00:00
Sam Lantinga
eac4a9bf35
Explicitly clear fullscreen status rather than relying on the window focus behavior.
...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404244
2009-12-01 09:04:28 +00:00
Sam Lantinga
b98089ee2a
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.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404243
2009-12-01 08:56:12 +00:00