DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T e

⟦0a84aaf35⟧ TextFile

    Length: 1276 (0x4fc)
    Types: TextFile
    Names: »event.c«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/X/Xtetris/event.c« 

TextFile

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