/* Simple paint program. */ #include #include #include "xshmu.h" int main() { xshmu_pic img = xshmu_canvas(1024, 1024); memset(img.p, -1, img.w * img.h * 4); // Clear canvas to white xshmu w = xshmu_open("micropaint", img.w, img.h, ""); for (;;) { xshmu_wait(w); // Wait for user input for (xshmu_event *ev; (ev = xshmu_get_event(w));) { // Process all waiting user input xshmu_mouse_event *m = xshmu_as_mouse_event(ev); if (m) { // if it was a mouse event: if (m->x < 0 || m->x >= img.w || m->y < 0 || m->y >= img.h) continue; if (m->buttons) *xshmu_pix(img, m->x, m->y) = m->buttons & 1 ? 0 : -1; } } xshmu_copy(xshmu_framebuffer(w), img); xshmu_flush(w); // Update the window, as in munching squares demo } }