ref: 044014910f2ffded4bebadbd729d76aa4dea2111
dir: /test/main.c/
#include <u.h> #include <libc.h> #include <draw.h> #include <event.h> #include <keyboard.h> #include <cursor.h> Cursor cursor = { 0, 0, #include "out.inc" }; Image *grey; Image *original = nil; void eresized(int new) { if (new && getwindow(display, Refnone) < 0) sysfatal("%r"); draw(screen, screen->r, grey, nil, ZP); draw(screen, rectaddpt(screen->r, Pt(50, 50)), original, nil, ZP); } void main(int argc, char **argv) { Event ev; int fd; int run = 0; ARGBEGIN{ case 'r': run++; break; }ARGEND; if (!run) { print("cursexp/test/main needs -r to be run (needs graphics).\n"); exits(nil); } initdraw(nil, nil, "test"); fd = open("in.img", OREAD); if (fd < 0) sysfatal("open: %r"); original = readimage(display, fd, 0); close(fd); einit(Emouse|Ekeyboard); esetcursor(&cursor); grey = allocimage(display, Rect(0, 0, 1, 1), screen->chan, 1, 0xaaaaaaff); eresized(0); for (;;) { event(&ev); switch (ev.kbdc) { case 'q': case Kdel: exits(nil); } } }