typedef struct { int type; /* Expose */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ Window window; int x, y; int width, height; int count; /* if nonzero, at least this many more */ } XExposeEvent;When you receive this event, the structure members are set as follows.
The type
member is set to the event
type constant name that uniquely identifies it.
For example, when the X server reports a GraphicsExpose
event to a client application, it sends an
XGraphicsExposeEvent structure with the
type
member set to GraphicsExpose.
The display
member is set to a pointer to
the display the event was read on.
The send_event
member is set to True
if the event came from a SendEvent protocol request.
The serial
member is set from the serial number
reported in the protocol but expanded from the 16-bit
least-significant bits to a full 32-bit value.
The window
member is set to the window that
is most useful to toolkit dispatchers.
The window
member is set to the exposed (damaged) window.
The x
and y
members are set
to the coordinates relative to the window's origin
and indicate the upper-left corner of the rectangle.
The width
and height
members are
set to the size (extent) of the rectangle.
The count
member is set to the number of Expose
events that are to follow.
If count
is zero, no more Expose
events follow for this window.
However, if count
is nonzero, at least that number of
Expose events (and possibly more) follow for this window.
Simple applications that do not want to optimize redisplay
by distinguishing between subareas of its window can just
ignore all Expose events with nonzero counts and perform
full redisplays on events with zero counts.