|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T e
Length: 1276 (0x4fc)
Types: TextFile
Names: »event.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/X/Xtetris/event.c«
#include "defs.h"
#define BUFSIZE 100
void
canvas_event_proc(w, client_data, event)
Widget w;
caddr_t client_data;
XEvent *event;
{
char buf[BUFSIZE];
int length;
if (event->type == ButtonRelease)
return;
if (event->type == ButtonPress) {
switch (event->xbutton.button) {
case Button1:
if (event->xbutton.state == (Button1Mask || ShiftMask))
anti_proc();
else
left_proc();
break;
case Button3:
if (event->xbutton.state == (Button3Mask || ShiftMask))
clock_proc();
else
right_proc();
break;
case Button2:
if (event->xbutton.state != (Button2Mask || ShiftMask))
fast_proc();
break;
}
return;
}
if (event->type == KeyRelease)
return;
if (event->type == KeyPress) {
length = XLookupString (event, buf, BUFSIZE, NULL, NULL);
switch (buf[0]) {
case 'j':
left_proc();
break;
case 'k':
anti_proc();
break;
case 'l':
right_proc();
break;
case ' ':
fast_proc();
break;
}
return;
}
}