- if (!motion_status) /* mouse button just pressed */
- {
- if (new_gi != NULL)
- {
- gi = new_gi;
- gi->state = GD_BUTTON_PRESSED;
- gi->event.type = GD_EVENT_PRESSED;
- gi->event.button = button;
- DrawGadget(gi, TRUE, TRUE);
-
- /* initialize delay counter */
- pressed_delay = 0;
- DelayReached(&pressed_delay, GADGET_FRAME_DELAY);
-
-
- printf("new gadget pressed\n");
-
-
- if (gi->event_mask & GD_EVENT_PRESSED)
- gi->callback(gi);
-
- pressed = TRUE;
- }
- }
- else /* mouse movement with pressed mouse button */
- {
- if (new_gi != gi && gi != NULL)
- {
- if (pressed)
- DrawGadget(gi, FALSE, TRUE);
- gi->state = GD_BUTTON_UNPRESSED;
- gi->event.type = GD_EVENT_MOVING;
-
-
- printf("outside gadget\n");
-
-
-
-
- if (gi->event_mask & GD_EVENT_MOVING)
- gi->callback(gi);
-
- pressed = FALSE;
- }
- else if (new_gi == gi && gi != NULL)
- {
- if (!pressed)
- DrawGadget(gi, TRUE, TRUE);
- gi->state = GD_BUTTON_PRESSED;
- gi->event.type = GD_EVENT_MOVING;
-
-
- printf("inside gadget\n");
-
-
-
-
- if (gi->event_mask & GD_EVENT_MOVING)
- gi->callback(gi);
-
- pressed = TRUE;
- }
- }
-
- if (gi != NULL &&
- gi->event_mask & GD_EVENT_PRESSED_REPEATED &&
- gi->state == GD_BUTTON_PRESSED &&
- DelayReached(&pressed_delay, GADGET_FRAME_DELAY))
- {
- printf("gadget pressed (repeated)\n");
-