/* * Mouse Events * ------------ * This program prints out messages for every possible kind * of event the user can generate using the mouse. It won't * generate events for the middle button of a mouse unless * your computer has a three button mouse and the system * software is set up to allow that middle button to work. */ #include void print_mouse_state(char *name, int buttons, point p) { printf("Mouse %-4s: ", name); printf("point=pt(%3d,%3d) ", p.x, p.y); printf("buttons= "); if (buttons & LeftButton) printf("LeftButton "); if (buttons & MiddleButton) printf("MiddleButton "); if (buttons & RightButton) printf("RightButton "); printf("\n"); } void mouse_down_event(drawing d, int buttons, point p) { print_mouse_state("down", buttons, p); } void mouse_up_event(drawing d, int buttons, point p) { print_mouse_state("up", buttons, p); } void mouse_drag_event(drawing d, int buttons, point p) { print_mouse_state("drag", buttons, p); } void mouse_move_event(drawing d, int buttons, point p) { print_mouse_state("move", buttons, p); } void main(void) { window w; drawing d; w = newwindow("Use the Mouse", rect(50,50,200,200), StandardWindow); d = newdrawing(rect(10,10,180,180), NULL); setbackground(w, LightGrey); setmousedown(d, mouse_down_event); setmouseup(d, mouse_up_event); setmousedrag(d, mouse_drag_event); setmousemove(d, mouse_move_event); show(w); mainloop(); }