shithub: pain

ref: 434c6ce50a65ecfdfc4e537edbb2ed4f50da6312
dir: /fns.h/

View raw version
#define BIT(b)	(0x01 << (b))
#define RECTANGLE(w, h) ((Rectangle){(Point){(0),(0)}, (Point){(w),(h)}})
#define NOOP() ((void)(nil))
#define ARRLEN(a) ((sizeof(a))/(sizeof(a[0])))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define MIN(a, b) ((a) < (b) ? (a) : (b))

ulong msec(void);
void setbackground(ulong col);
void drawcanvas(void);
void zoom(int);
void zoomin(void);
void zoomout(void);
void stroke(void);
void clearlayer(Layer *);
void setbrushcolor(ulong col);
int resizeimage(Image *, Rectangle, int, Image *, Point);
int newtask(ulong, void (*)(void));
int removetask(int);
void runtasks(void);

Point globaltoscreenpt(Point p);
Point globaltoscreenatcanvaspt(Point p);
Point screentocanvaspt(Point p);
Point canvastoscreenpt(Point p);
Point screentoglobalpt(Point p);
Point screentoglobalatcanvaspt(Point p);

// fs
int fsinit(char *);
void fsclose(void);

// bindings
void freebinding(Binding * b);
int removebindings(int, int);
Binding * addbinding(int, int);
int runbindings(int, int);
Binding * adduniquebinding(int, int);
void setdefaultbindings(void);

// utils
void quitloop(void);