Mercurial > sdl-ios-xcode
view docs/html/sdluserevent.html @ 1812:9c882e94b545
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).
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 11 May 2006 03:45:55 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_UserEvent</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="SDL Event Structures." HREF="eventstructures.html"><LINK REL="PREVIOUS" TITLE="SDL_SysWMEvent" HREF="sdlsyswmevent.html"><LINK REL="NEXT" TITLE="SDL_QuitEvent" HREF="sdlquitevent.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SDL Library Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="sdlsyswmevent.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdlquitevent.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLUSEREVENT" ></A >SDL_UserEvent</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN4565" ></A ><H2 >Name</H2 >SDL_UserEvent -- A user-defined event type</DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4568" ></A ><H2 >Structure Definition</H2 ><PRE CLASS="PROGRAMLISTING" >typedef struct{ Uint8 type; int code; void *data1; void *data2; } SDL_UserEvent;</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4571" ></A ><H2 >Structure Data</H2 ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN4573" ></A ><P ></P ><TABLE BORDER="0" CLASS="CALSTABLE" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >type</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="LITERAL" >SDL_USEREVENT</TT > through to <TT CLASS="LITERAL" >SDL_NUMEVENTS-1</TT ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >code</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >User defined event code</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >data1</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >User defined data pointer</TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><TT CLASS="STRUCTFIELD" ><I >data2</I ></TT ></TD ><TD ALIGN="LEFT" VALIGN="TOP" >User defined data pointer</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4594" ></A ><H2 >Description</H2 ><P ><SPAN CLASS="STRUCTNAME" >SDL_UserEvent</SPAN > is in the <TT CLASS="STRUCTFIELD" ><I >user</I ></TT > member of the structure <A HREF="sdlevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_Event</SPAN ></A >. This event is unique, it is never created by SDL but only by the user. The event can be pushed onto the event queue using <A HREF="sdlpushevent.html" ><TT CLASS="FUNCTION" >SDL_PushEvent</TT ></A >. The contents of the structure members or completely up to the programmer, the only requirement is that <TT CLASS="STRUCTFIELD" ><I >type</I ></TT > is a value from <TT CLASS="LITERAL" >SDL_USEREVENT</TT > to <TT CLASS="LITERAL" >SDL_NUMEVENTS-1</TT > (inclusive).</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4606" ></A ><H2 >Examples</H2 ><P ><PRE CLASS="PROGRAMLISTING" >SDL_Event event; event.type = SDL_USEREVENT; event.user.code = my_event_code; event.user.data1 = significant_data; event.user.data2 = 0; SDL_PushEvent(&event);</PRE ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN4610" ></A ><H2 >See Also</H2 ><P ><A HREF="sdlevent.html" ><SPAN CLASS="STRUCTNAME" >SDL_Event</SPAN ></A >, <A HREF="sdlpushevent.html" ><TT CLASS="FUNCTION" >SDL_PushEvent</TT ></A ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdlsyswmevent.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdlquitevent.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_SysWMEvent</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="eventstructures.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_QuitEvent</TD ></TR ></TABLE ></DIV ></BODY ></HTML >