IPTR Register__MUIM_HandleEvent(struct IClass *cl, Object *obj, struct MUIP_HandleEvent *msg) { struct Register_DATA *data = INST_DATA(cl, obj); WORD i, x, y; if (msg->muikey != MUIKEY_NONE) { switch (msg->muikey) { case MUIKEY_PRESS: case MUIKEY_RIGHT: case MUIKEY_TOGGLE: nfset(obj, MUIA_Group_ActivePage, MUIV_Group_ActivePage_Next); return MUI_EventHandlerRC_Eat; case MUIKEY_LEFT: nfset(obj, MUIA_Group_ActivePage, MUIV_Group_ActivePage_Prev); return MUI_EventHandlerRC_Eat; case MUIKEY_WORDLEFT: case MUIKEY_LINESTART: nfset(obj, MUIA_Group_ActivePage, MUIV_Group_ActivePage_First); return MUI_EventHandlerRC_Eat; case MUIKEY_WORDRIGHT: case MUIKEY_LINEEND: nfset(obj, MUIA_Group_ActivePage, MUIV_Group_ActivePage_Last); return MUI_EventHandlerRC_Eat; } } if (msg->imsg) { if ((msg->imsg->Class == IDCMP_MOUSEBUTTONS) && (msg->imsg->Code == SELECTDOWN)) { x = msg->imsg->MouseX - data->left; y = msg->imsg->MouseY - data->top; /* D(bug("Register_HandleEvent : %d,%d,%d -- %d,%d,%d\n", 0, x, _width(obj), 0, y, data->tab_height)); */ if (_between(0, x, _width(obj))) { /* D(bug("Register_HandleEvent : in tab, %d,%d\n", x, y)); */ for(i = 0; i < data->numitems; i++) { if (_between(data->items[i].x1, x, data->items[i].x2) && _between(data->items[i].y1, y, data->items[i].y2)) { if (data->active != i) { nfset(obj, MUIA_Group_ActivePage, i); return MUI_EventHandlerRC_Eat; } break; } } } } } return 0; }
struct MUI_ImageSpec * zune_get_muipen_spec (LONG muipen) { g_return_val_if_fail(_between(MPEN_SHINE, muipen, MPEN_COUNT - 1), NULL); return __penSpec[muipen]; }
/************************************************************************** MUIM_HandleEvent **************************************************************************/ IPTR Numericbutton__MUIM_HandleEvent(struct IClass *cl, Object *obj, struct MUIP_HandleEvent *msg) { struct Numericbutton_DATA *data = INST_DATA(cl, obj); if (!msg->imsg) { return 0; } switch(msg->imsg->Class) { case IDCMP_MOUSEBUTTONS: switch(msg->imsg->Code) { case SELECTDOWN: if (_between(_left(obj), msg->imsg->MouseX, _right(obj)) && _between(_top(obj), msg->imsg->MouseY, _bottom(obj)) && (muiAreaData(obj)->mad_Flags & MADF_CANDRAW) && !data->popwin) { data->knob_clickoffset_x = msg->imsg->MouseX - _mleft(obj); if (MakePopupWin(obj, data)) { DoMethod(_win(obj), MUIM_Window_RemEventHandler, (IPTR)&data->ehn); data->ehn.ehn_Events |= IDCMP_MOUSEMOVE; DoMethod(_win(obj), MUIM_Window_AddEventHandler, (IPTR)&data->ehn); return 0; } } break; case SELECTUP: case MENUUP: case MIDDLEUP: default: if (data->popwin) { KillPopupWin(obj, data); if ((msg->imsg->Code == SELECTUP)) { set(obj, MUIA_Numeric_Value, data->knob_val); } return 0; } break; } /* switch(msg->imsg->Code) */ break; case IDCMP_MOUSEMOVE: if (data->popwin) { DrawKnob(obj, data, FALSE); return 0; } break; } /* switch(msg->imsg->Class) */ return 0; }
struct MUI_ImageSpec * zune_get_pattern_spec(LONG muiipatt) { g_return_val_if_fail(_between(MUII_BACKGROUND, muiipatt, MUII_LASTPAT), NULL); return __patternSpec[muiipatt - MUII_BACKGROUND]; }