shithub: cursexp

ref: 044014910f2ffded4bebadbd729d76aa4dea2111
dir: /test/main.c/

View raw version
#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);
		}
	}
}