rem: W_ColorPanel    *panel = (W_ColorPanel*)data;  switch (event->type) { case ButtonPress: if (getPickerPart(panel, event->xbutton.x, event->xbutton.y) == COLORWHEEL_PART) { panel->flags.dragging = 1; wheelPositionSelection(panel, event->xbutton.x, event->xbutton.y);
add: W_ColorPanel	*panel = (W_ColorPanel*)data;  switch (event->type) { case ButtonPress: if (getPickerPart(panel, event->xbutton.x, event->xbutton.y) == COLORWHEEL_PART) { panel->flags.dragging = 1; wheelPositionSelection(panel, event->xbutton.x, event->xbutton.y); } break;  case ButtonRelease: panel->flags.dragging = 0; if (!panel->flags.continuous) { if (panel->action) (*panel->action)(panel->action, panel->clientData); } break;  case MotionNotify: if (panel->flags.dragging) { if (getPickerPart(panel, event->xmotion.x, event->xmotion.y) == COLORWHEEL_PART) { wheelPositionSelection(panel, event->xmotion.x, event->xmotion.y); } else wheelPositionSelectionOutBounds(panel, event->xmotion.x, event->xmotion.y); } break;
context: wheelHandleActionEvents(XEvent *event, void *data){    W_ColorPanel    *panel = (W_ColorPanel*)data;        switch (event->type) {     case ButtonPress:	if (getPickerPart(panel, event->xbutton.x, event->xbutton.y) == COLORWHEEL_PART) {	    panel->flags.dragging = 1;	    wheelPositionSelection(panel, event->xbutton.x, event->xbutton.y);	}	break;	     case ButtonRelease:	panel->flags.dragging = 0;	if (!panel->flags.continuous) {	    if (panel->action)		(*panel->action)(panel->action, panel->clientData);	}	break;	     case MotionNotify:	if (panel->flags.dragging) {	    if (getPickerPart(panel, event->xmotion.x, event->xmotion.y) == COLORWHEEL_PART) {		wheelPositionSelection(panel, event->xmotion.x, event->xmotion.y);	    }	    else		wheelPositionSelectionOutBounds(panel, event->xmotion.x, event->xmotion.y);	}	break;    }}