gadget_released =
(button == 0 && gi != NULL && new_gi == gi);
+ if (gadget_pressed)
+ gi = new_gi;
+
if (gi)
{
gi->event.x = mx - gi->x;
if (gadget_pressed)
{
- gi = new_gi;
-
DrawGadget(gi, TRUE, TRUE);
gi->state = GD_BUTTON_PRESSED;
pressed_delay = 0;
DelayReached(&pressed_delay, GADGET_FRAME_DELAY);
-
- /*
- printf("new gadget pressed\n");
- */
-
-
if (gi->event_mask & GD_EVENT_PRESSED)
gi->callback(gi);
}
if (gadget_pressed_repeated)
{
- if (gi->event_mask & GD_EVENT_PRESSED_REPEATED &&
+ if (gi->event_mask & GD_EVENT_REPEATED &&
DelayReached(&pressed_delay, GADGET_FRAME_DELAY))
- {
-
-
- /*
- printf("gadget pressed (repeated)\n");
- */
-
-
- gi->callback(gi);
- }
+ gi->callback(gi);
}
if (gadget_moving_inside)
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);
}
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);
}
gi->state = GD_BUTTON_UNPRESSED;
gi->event.type = GD_EVENT_RELEASED;
-
- /*
- printf("gadget released\n");
- */
-
-
if (gi->event_mask & GD_EVENT_RELEASED)
gi->callback(gi);
}