Example #1
0
void Screen::wheelEvent(QWheelEvent* evt)
{
    do_zoom(evt->delta());
    evt->accept();
}
Example #2
0
static bool
do_main_menu (void)
{
    int selection = 0;
    MENUITEM_STRINGLIST (menu, "Rockbox Goban", NULL,
                         "New",
                         "Save",
                         "Save As",
                         "Game Info",
                         "Playback Control",
                         "Zoom Level",
                         "Options",
                         "Context Menu",
                         "Quit");

    /* for "New" in menu */
    int new_handi = 0, new_bs = MAX_BOARD_SIZE, new_komi = 15;

    char new_save_file[SAVE_FILE_LENGTH];


    bool done = false;

    while (!done)
    {
        selection = rb->do_menu (&menu, &selection, NULL, false);

        switch (selection)
        {
        case MAIN_NEW:
            rb->set_int ("board size", "lines", UNIT_INT,
                         &new_bs, NULL, 1, MIN_BOARD_SIZE, MAX_BOARD_SIZE,
                         NULL);

            rb->set_int ("handicap", "stones", UNIT_INT,
                         &new_handi, NULL, 1, 0, 9, NULL);

            if (new_handi > 0)
            {
                new_komi = 1;
            }
            else
            {
                new_komi = 13;
            }

            rb->set_int ("komi", "moku", UNIT_INT, &new_komi, NULL,
                         1, -300, 300, &komi_formatter);

            setup_game (new_bs, new_bs, new_handi, new_komi);
            draw_screen_display ();
            done = true;
            break;

        case MAIN_SAVE:
            if (!save_game (save_file))
            {
                rb->splash (2 * HZ, "Save Failed!");
            }
            else
            {
                rb->splash (2 * HZ / 3, "Saved");
            }
            done = true;
            draw_screen_display ();
            break;

        case MAIN_SAVE_AS:
            rb->strcpy (new_save_file, save_file);

            if (!rb->kbd_input (new_save_file, SAVE_FILE_LENGTH))
            {
                break;
            }

            if (!save_game (new_save_file))
            {
                rb->splash (2 * HZ, "Save Failed!");
            }
            else
            {
                rb->strcpy (save_file, new_save_file);
                rb->splash (2 * HZ / 3, "Saved");
            }

            done = true;
            draw_screen_display ();
            break;

        case MAIN_GAME_INFO:
            do_gameinfo_menu ();
            break;

        case MAIN_PLAYBACK:
            if (!audio_stolen_sgf ())
            {
                playback_control (NULL);
            }
            else
            {
                rb->splash (1 * HZ, "Audio has been disabled!");
            }
            break;

        case MAIN_ZOOM:
            if (do_zoom ())
            {
                return true;
            }
            done = true;
            draw_screen_display ();
            break;

        case MAIN_OPTIONS:
            do_options_menu();
            break;

        case MAIN_CONTEXT:
            do_context_menu ();
            done = true;
            break;

        case MAIN_QUIT:
        case MENU_ATTACHED_USB:
            return true;

        case GO_TO_ROOT:
        case GO_TO_PREVIOUS:
        default:

            done = true;
            break;
        };
    }

    return false;
}