shithub: libacme

ref: b517e0beea8b1adc16160d99f4b5e5e9a4a5d3d6
dir: /acme.h/

View raw version
#pragma lib "libacme.a"

enum {
	AEventSz = 256 * UTFmax,
};

typedef struct AWin AWin;
struct AWin {
	int id;
	int ctl;
	int event;
	int addr;
	int data;
	void *aux;
};

AWin *	awincreate(void);
void	awinclose(AWin *);
int		awinopen(AWin *, char *, int);
void	awintitle(AWin *, char *, ...);
void	awinctl(AWin *, char *, ...);
void	awinclear(AWin *);
void	awinappend(AWin *, char *, ...);
void	awinerror(AWin *, char *,	...);
void	awinaddtag(AWin *, char *);
void	awinsettag(AWin *, char *);

typedef struct AEvent AEvent;
struct AEvent {
	char origin;	/* mouse, keyboard, etc. */
	char type;		/* delete, exec, etc. */
	int p;			/* click point */
	int q0, q1;		/* expanded text */
	int flags;
	int ntext;
	char text[AEventSz + 1];
};

int aeventnext(AWin *, AEvent *);
void aeventsend(AWin *, AEvent *);