125 lines · 1.9 KB · C
RawDownload
enum{	PMundef = ~0,			/* Pixmap undefined */	CursorSize= 32,		/* Biggest cursor size */	SnarfSize= 100*1024,	/* snarf buffer size */}; /* Runes */enum {	KF=	0xF000,	/* Beginning of private space */	/* KF|1, KF|2, ..., KF|0xC is F1, F2, ..., F12 */	Khome=	KF|0x0D,	Kup=	KF|0x0E,	Kpgup=	KF|0x0F,	Kprint=	KF|0x10,	Kleft=	KF|0x11,	Kright=	KF|0x12,	Kdown=	0x80,	Kview=	0x80,	Kpgdown=KF|0x13,	Kins=	KF|0x14,	Kend=	KF|0x18, 	Kalt=	KF|0x15,	Kshift=	KF|0x16,	Kctl=		KF|0x17,		Kcmd=	0xF100	/* Beginning of Cmd+'a', Cmd+'A', etc on Mac */}; /* Datatypes: */typedef struct Draw Draw;	/* Defined in devdraw.c: */typedef struct Client Client;	/* Defined in devdraw.c: */typedef struct Kbdbuf Kbdbuf;typedef struct Cursor Cursor;typedef struct Clip Clip;typedef struct Mousebuf Mousebuf;typedef struct Reqbuf Reqbuf;typedef struct Window Window; /* Keyboard */struct Kbdbuf{	Rune	r[32];	int	ri;	int	wi;	int	stall;	/* Used by kbdputc */	uchar k[5*UTFmax];	int	alting, nk;}; /* Pointer */struct  Mouse{	int		buttons;	/* bit array: LMR=124 */	Point	xy;	ulong	msec;}; struct Mousebuf{	int open;	Mouse m[32];	int ri;	int wi;	int stall;	int resized;}; struct Reqbuf{	void *r[32];	int ri;	int wi;}; struct Cursor {	int	hotx;	int	hoty;	int	w;	int	h;	uchar	src[(CursorSize/8)*CursorSize];	/* image and mask bitmaps */	uchar	mask[(CursorSize/8)*CursorSize];}; /* snarf buffer */struct Clip{	char buf[SnarfSize];}; /* Window system */struct Window{	int			id;	int			fullscreen;	int			deleted;	int			pid;	int			resized;	int			visible;	char			*label;	char			*name;	Draw		*draw;	void			*screenimage;	void			*killr;	Kbdbuf		kbd;	Mousebuf		mouse;	Reqbuf		kbdreqs;	Reqbuf		mousereqs;	Cursor		cursor;	Point		orig;	Rectangle		screenr;	Rectangle		newscreenr;	void			*x;}; /* Global Vars */int		debuglevel;int		nwindow;Window	**window;int		nclient;Client	**client;Clip clip;