Exemple #1
0
static int position_proc(struct menu_item *item,
                         enum menu_callback_reason reason,
                         void *data)
{
  struct member_data *member_data = data;
  struct menu_item *watch = menu_userwatch_watch(member_data->userwatch);
  if (!member_data->position_set) {
    member_data->position_set = 1;
    member_data->x = watch->pxoffset;
    member_data->y = watch->pyoffset;
  }
  int dist = 2;
  if (input_pad() & BUTTON_Z)
    dist *= 2;
  switch (reason) {
    case MENU_CALLBACK_ACTIVATE:    input_reserve(BUTTON_Z);  break;
    case MENU_CALLBACK_DEACTIVATE:  input_free(BUTTON_Z);     break;
    case MENU_CALLBACK_NAV_UP:      member_data->y -= dist;   break;
    case MENU_CALLBACK_NAV_DOWN:    member_data->y += dist;   break;
    case MENU_CALLBACK_NAV_LEFT:    member_data->x -= dist;   break;
    case MENU_CALLBACK_NAV_RIGHT:   member_data->x += dist;   break;
    default:
      break;
  }
  watch->pxoffset = member_data->x;
  watch->pyoffset = member_data->y;
  return 0;
}
Exemple #2
0
static int enter_proc(struct menu_item *item, enum menu_switch_reason reason)
{
  input_reserve(BUTTON_D_UP | BUTTON_D_DOWN | BUTTON_D_LEFT | BUTTON_D_RIGHT |
                BUTTON_Z);
  input_bind_set_disable(COMMAND_PREVROOM, 0);
  input_bind_set_disable(COMMAND_NEXTROOM, 0);
  return 0;
}