.TH "SDL_UserEvent" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_UserEvent \- A user-defined event type
.SH "STRUCTURE DEFINITION"
.PP
.nf
\f(CWtypedef struct{
  Uint8 type;
  int code;
  void *data1;
  void *data2;
} SDL_UserEvent;\fR
.fi
.PP
.SH "STRUCTURE DATA"
.TP 20
\fBtype\fR
\fBSDL_USEREVENT\fP through to \fBSDL_NUMEVENTS-1\fP
.TP 20
\fBcode\fR
User defined event code
.TP 20
\fBdata1\fR
User defined data pointer
.TP 20
\fBdata2\fR
User defined data pointer
.SH "DESCRIPTION"
.PP
\fBSDL_UserEvent\fR is in the \fBuser\fR member of the structure \fI\fBSDL_Event\fR\fR\&. 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 \fI\fBSDL_PushEvent\fP\fR\&. The contents of the structure members or completely up to the programmer, the only requirement is that \fBtype\fR is a value from \fBSDL_USEREVENT\fP to \fBSDL_NUMEVENTS-1\fP (inclusive)\&.
.SH "EXAMPLES"
.PP
.PP
.nf
\f(CWSDL_Event event;

event\&.type = SDL_USEREVENT;
event\&.user\&.code = my_event_code;
event\&.user\&.data1 = significant_data;
event\&.user\&.data2 = 0;
SDL_PushEvent(&event);\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_Event\fR\fR, \fI\fBSDL_PushEvent\fP\fR
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00
