|
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; } }