home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sa104os2.zip
/
SATHR104.ZIP
/
SATHER
/
CONTRIB
/
SCHNETTR
/
XLIB
/
EVENT_HA.C
< prev
next >
Wrap
C/C++ Source or Header
|
1994-12-08
|
2KB
|
60 lines
/* -*-C-*-
* access to the X Window System for Sather
* (c) 1994/11/03 - 1994/12/08 by Erik Schnetter
*/
#include <X11/X.h>
#include <X11/Xlib.h>
#include "../../System/header.h"
/* declare the callback functions */
void C_X_EVENT_HANDLER_X_Event_Expose
(INT, INT, BOOL, Display*, INT, INT, INT, INT, INT, INT);
void C_X_EVENT_HANDLER_X_Event_KeyPress
(INT, INT, BOOL, Display*, INT, INT, INT, INT, INT, INT, INT, INT, INT, INT,
BOOL);
static void dispatch (XEvent* event)
{
switch(event->type) {
case Expose:
C_X_EVENT_HANDLER_X_Event_Expose
(event->type, event->xexpose.serial, event->xexpose.send_event,
event->xexpose.display, event->xexpose.window,
event->xexpose.x, event->xexpose.y,
event->xexpose.width, event->xexpose.height,
event->xexpose.count);
break;
case KeyPress:
C_X_EVENT_HANDLER_X_Event_KeyPress
(event->type, event->xkey.serial, event->xkey.send_event,
event->xkey.display, event->xkey.window,
event->xkey.root, event->xkey.subwindow,
event->xkey.time, event->xkey.x, event->xkey.y,
event->xkey.x_root, event->xkey.y_root,
event->xkey.state, event->xkey.keycode,
event->xkey.same_screen);
break;
default:
/* ignore event */
}
}
void X_NextEvent (Display* display)
{
XEvent event;
XNextEvent (display, &event);
dispatch (&event);
}
BOOL X_CheckMaskEvent (Display* display, INT mask)
{
XEvent event;
BOOL res;
res = XCheckMaskEvent (display, mask, &event);
dispatch (&event);
return res;
}