ref: 736749cad809e6c9cfaed8ed35caa33d24f45af7
dir: /drw.c/
#include <u.h> #include <libc.h> #include <thread.h> #include <draw.h> #include "dat.h" #include "fns.h" Rectangle fbr; Image *fb; void (*renderfn)(void); Image * eallocimage(Rectangle r, ulong chan, int repl, ulong col) { Image *i; if((i = allocimage(display, r, chan, repl, col)) == nil) sysfatal("allocimage: %r"); return i; } void updatedraw(void) { renderfn(); draw(screen, screen->r, fb, nil, ZP); flushimage(display, 1); } void redraw(void) { updatedraw(); } void resetdraw(void) { freeimage(fb); fbr = rectsubpt(screen->r, screen->r.min); fb = eallocimage(fbr, screen->chan, 0, DNofill); redraw(); }