README.WinCE
author Sam Lantinga <slouken@libsdl.org>
Thu, 11 May 2006 03:45:55 +0000
changeset 1812 9c882e94b545
parent 1251 86d0d01290ea
child 5894 414b2fa01526
child 6430 48d519500f7e
permissions -rw-r--r--
Fixed bug #208

So, here's a patch with a reimplementation of QZ_SetIcon() that does what I
described above. I apologize for the delay, I've been quite busy in the last
few days.

It appears to work here on 10.4.5 PPC in the limited testing that I've done;
I'll try to test it on 10.3.9 and 10.2.8 as well, but that might take another
week or so. Please test on i386.

Regarding alpha channels, per-surface alpha, and color keys, the same semantics
as for regular blits to an RGB surface should apply (for the final icon
composited onto the dock), unless I made a mistake - except in one pathological
case: if the icon surface has an alpha channel, its SDL_SRCALPHA flag is not
set (i.e. it has been explicitly cleared, since it's on by default for RGBA
surfaces), and it has a color key, plus an explicit mask was specified (instead
of the one autogenerated from the colorkey), then the color-keyed areas appear
black instead of transparent. I found no elegant way of fixing this, was too
lazy to implement the inelegant one, and decided that it isn't worth the effort
(but if someone disagrees, I can do it).
slouken@453
     1
icculus@1251
     2
Project files for embedded Visual C++ 3.0, 4.0 and 
icculus@1251
     3
Visual Studio 2005 can be found in VisualCE.zip
icculus@1251
     4
icculus@1251
     5
SDL supports GAPI and WinDib output for Windows CE.
icculus@1251
     6
icculus@1251
     7
GAPI driver supports:
icculus@1251
     8
icculus@1251
     9
- all possible WinCE devices (Pocket PC, Smartphones, HPC)
icculus@1251
    10
  with different orientations of video memory and resolutions.
icculus@1251
    11
- 4, 8 and 16 bpp devices
icculus@1251
    12
- special handling of 8bpp on 8bpp devices
icculus@1251
    13
- VGA mode, you can even switch between VGA and GAPI in runtime
icculus@1251
    14
  (between 240x320 and 480x640 for example). On VGA devices you can
icculus@1251
    15
  use either GAPI or VGA.
icculus@1251
    16
- Landscape mode and automatic rotation of buttons and stylus coordinates.
icculus@1251
    17
  To enable landscape mode make width of video screen bigger than height.
icculus@1251
    18
  For example: 
icculus@1251
    19
    SDL_SetVideoMode(320,240,16,SDL_FULLSCREEN)
icculus@1251
    20
- WM2005
icculus@1251
    21
- SDL_ListModes
slouken@0
    22
slouken@0
    23
NOTE:
slouken@0
    24
There are several SDL features not available in the WinCE port of SDL.
slouken@0
    25
slouken@0
    26
- DirectX is not yet available
slouken@0
    27
- Semaphores are not available
slouken@0
    28
- Joystick support is not available
slouken@0
    29
- CD-ROM control is not available
slouken@0
    30
slouken@0
    31
In addition, there are several features that run in "degraded" mode:
slouken@0
    32
slouken@0
    33
Preprocessor Symbol		Effect
slouken@0
    34
===================		=================================
slouken@0
    35
slouken@0
    36
SDL_systimer.c:
slouken@0
    37
USE_GETTICKCOUNT		Less accurate values for SDL time functions
slouken@0
    38
USE_SETTIMER			Use only a single marginally accurate timer
slouken@0
    39
slouken@0
    40
SDL_syswm.c:
slouken@0
    41
DISABLE_ICON_SUPPORT		Can't set the runtime window icon
slouken@0
    42
slouken@0
    43
SDL_sysmouse.c:
slouken@0
    44
USE_STATIC_CURSOR		Only the arrow cursor is available
slouken@0
    45
slouken@0
    46
SDL_sysevents.c:
slouken@0
    47
NO_GETKEYBOARDSTATE		Can't get modifier state on keyboard focus
slouken@0
    48
slouken@0
    49
SDL_dibevents.c:
slouken@0
    50
NO_GETKEYBOARDSTATE		Very limited keycode translation
slouken@0
    51
slouken@0
    52
SDL_dibvideo.c:
slouken@0
    53
NO_GETDIBITS			Can't distinguish between 15 bpp and 16 bpp
slouken@0
    54
NO_CHANGEDISPLAYSETTINGS	No fullscreen support
slouken@0
    55
NO_GAMMA_SUPPORT		Gamma correction not available