June 1994
Intermediate to advanced
821 pages
24h 40m
English
ButtonPress,ButtonRelease — xbutton
There are two types of pointer button events:
ButtonPress and ButtonRelease.
Both contain the same information.
May be selected separately, using
ButtonPressMask and
ButtonReleaseMask.
typedef union _XEvent {
.|.|.
XButtonEvent xbutton;
.|.|.
} XEvent;typedef struct {
int type; /* of event */
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; /* event window it is reported relative to */
Window root; /* root window that the event occurred under */
Window subwindow; /* child window */
Time time; /* when event occurred, in milliseconds */
int x, y; /* pointer coordinates relative to receiving
* window */
int x_root, y_root; /* coordinates relative to root */
unsigned int state; /* mask of all buttons and modifier keys */
unsigned int button; /* button that triggered event */
Bool same_screen; /* same screen flag */
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;subwindowIf the source window is the child of the receiving
window, then the subwindow member is set to
the ID of that child.
timeThe server time when the button event occurred, in
milliseconds. Time is declared as
unsigned long, so it wraps around when it reaches the maximum value of a 32-bit number (every ...