#include <9pm/u.h>
#include <9pm/libc.h>
#include <9pm/draw.h>
#include <9pm/thread.h>
#include <9pm/event.h>

void
eresized(int new)
{
	Rectangle r;
	r = screen->r;
	if(new && getwindow(display, Refnone) < 0)
		fprint(2,"can't reattach to window");
	draw(screen, screen->r, display->white, nil, ZP);
}

void
threadmain(int argc, char **argv)
{
	Mouse m;
	Image *red, *blue;

	USED(argc);
	USED(argv);

	initdraw(0,0,0);
	eresized(0);
	einit(Emouse);
	red = allocimagemix(display, DRed, DRed);
	blue = allocimagemix(display, DBlue, DBlue);
	for(;;){
		m = emouse();
		if(m.buttons & 4)
			break;
		if(m.buttons & 1){
			fillellipse(screen, m.xy, 5, 5, red, ZP);
			do m=emouse(); while(m.buttons & 1);
			fillellipse(screen, m.xy, 5, 5, blue, ZP);
			continue;
		}
		if(m.buttons & 2){
			do m=emouse(); while(m.buttons & 2);
			draw(screen, screen->r, display->white, nil, ZP);
			continue;
		}
		draw(screen, rectaddpt(Rect(0,0,2,2), m.xy), display->black, nil, ZP);
	}
	threadexitsall(nil);
}


syntax highlighted by Code2HTML, v. 0.9.1