Mercurial > sdl-ios-xcode
annotate README.WinCE @ 3097:0d12e8f1de3c
Date: Thu, 05 Feb 2009 18:07:35 +0100
From: Stefan Klug
Subject: [SDL] SDL 1.3 WinCE backend
as promised, I've started to work on the WinCE backend of SDL 1.3
I've modified the win32 video backend and the gdi renderer, to work
properly in WinCE.
The results till now are great, but there is still some work to do.
Attached are two patches with my changes.
I would be happy if someone could review and propably commit them.
The first one (configure.in.patch) should be straight forward without
any side effects.
The second one does the necessary changes to the win32 backend. I was
really unhappy to start slicing this shiny new backend with
#ifdef/#endif but I saw no other option.
The most problematic issues are:
- WinCe has no GetDIBits, so its practically impossible to fill a
BITMAPINFO with correct values. I therefore removed the bmi member from
the GDI_RenderData in SDL_gdirender.c to prevent usage of a not or not
properly initialized bmi.
- In SDL_win32window.c I exchanged some ASCII function by their general
counterparts, (In CE only the Unicode versions are available). I don't
know if this has a negative effect when running in win32
Cheers
Stefan
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 23 Mar 2009 05:35:21 +0000 |
parents | 86d0d01290ea |
children |
rev | line source |
---|---|
453
a6fa62b1be09
Updated for embedded Visual C++ 4.0
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
1 |
1251
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
2 Project files for embedded Visual C++ 3.0, 4.0 and |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
3 Visual Studio 2005 can be found in VisualCE.zip |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
4 |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
5 SDL supports GAPI and WinDib output for Windows CE. |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
6 |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
7 GAPI driver supports: |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
8 |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
9 - all possible WinCE devices (Pocket PC, Smartphones, HPC) |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
10 with different orientations of video memory and resolutions. |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
11 - 4, 8 and 16 bpp devices |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
12 - special handling of 8bpp on 8bpp devices |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
13 - VGA mode, you can even switch between VGA and GAPI in runtime |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
14 (between 240x320 and 480x640 for example). On VGA devices you can |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
15 use either GAPI or VGA. |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
16 - Landscape mode and automatic rotation of buttons and stylus coordinates. |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
17 To enable landscape mode make width of video screen bigger than height. |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
18 For example: |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
19 SDL_SetVideoMode(320,240,16,SDL_FULLSCREEN) |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
20 - WM2005 |
86d0d01290ea
Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode,
Ryan C. Gordon <icculus@icculus.org>
parents:
453
diff
changeset
|
21 - SDL_ListModes |
0 | 22 |
23 NOTE: | |
24 There are several SDL features not available in the WinCE port of SDL. | |
25 | |
26 - DirectX is not yet available | |
27 - Semaphores are not available | |
28 - Joystick support is not available | |
29 - CD-ROM control is not available | |
30 | |
31 In addition, there are several features that run in "degraded" mode: | |
32 | |
33 Preprocessor Symbol Effect | |
34 =================== ================================= | |
35 | |
36 SDL_systimer.c: | |
37 USE_GETTICKCOUNT Less accurate values for SDL time functions | |
38 USE_SETTIMER Use only a single marginally accurate timer | |
39 | |
40 SDL_syswm.c: | |
41 DISABLE_ICON_SUPPORT Can't set the runtime window icon | |
42 | |
43 SDL_sysmouse.c: | |
44 USE_STATIC_CURSOR Only the arrow cursor is available | |
45 | |
46 SDL_sysevents.c: | |
47 NO_GETKEYBOARDSTATE Can't get modifier state on keyboard focus | |
48 | |
49 SDL_dibevents.c: | |
50 NO_GETKEYBOARDSTATE Very limited keycode translation | |
51 | |
52 SDL_dibvideo.c: | |
53 NO_GETDIBITS Can't distinguish between 15 bpp and 16 bpp | |
54 NO_CHANGEDISPLAYSETTINGS No fullscreen support | |
55 NO_GAMMA_SUPPORT Gamma correction not available |