author Sam Lantinga <>
Thu, 11 May 2006 03:45:55 +0000
changeset 1812 9c882e94b545
parent 21 75a95f82bc1f
child 3888 6d2e1961661a
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).
     1 This is the porting of 1.2.0 version of SDL (the latest stable one)
     2 to AmigaOS/68k.
     4 All the bugs known of the past version have been corrected. And I've
     5 added all the new SDL features.
     7 This version of SDL needs Cybergraphx V3 (r69+) or CyberGraphX V4
     8 and AHI v3+. Probably it works also with P96 or CGXAga, but it's 
     9 untested.
    11 This version is available as linked library for SAS/C and GCC, only 68k this 
    12 time, a powerup (ppcemu compatible) and a morphos version will be ready quite 
    13 soon (i hope).
    15 Implemented:
    17 - 8/16/24/32bit video modes, both fullscreen and windowed.
    18 - Hardware surfaces.
    19 - CGX blitting acceleration.
    20 - CGX colorkey blitting acceleration.
    21 - AHI audio (8/16 bit, with any audio format), always uses unit 0 for now.
    22 - Thread support (maybe not 100% compatible with other implementations)
    23 - Semaphores 
    24 - Window resizing and backdrop windows (NEW)
    25 - Joystick/Joypad support.
    27 To do:
    29 - CDRom audio playing support
    30 - OpenGL (A guy was working on it but I've lost his tracks :( )
    32 The SAS/C library is distributed with debug info attached, to strip debug info 
    33 simply add STRIPDEBUG argument to the linker.
    35 NOTE: SDL includes debug output using kprintf, to disable it add to your 
    36 project a function like this:
    38 void kprintf(char *a,...)
    39 {
    40 }
    42 Otherwise you can redirect the debug to a console window with sushi, sashimi or
    43 similar tools (the default output is the internal serial port). 
    45 For info, support, bugfix and other feel free to mail me:
    47 Gabriele Greco (
    49 You can find also a small SDL Amiga page at: