static void qemulator_setup( QEmulator* emulator ) { AndroidOptions* opts = emulator->opts; if ( !emulator->window && !opts->no_window ) { SkinLayout* layout = emulator->layout; double scale = get_default_scale(emulator->opts); static const SkinWindowFuncs skin_window_funcs = { .key_event = &qemulator_window_key_event, .mouse_event = &qemulator_window_mouse_event, .generic_event = &qemulator_window_generic_event, .opengles_show = &android_showOpenglesWindow, .opengles_hide = &android_hideOpenglesWindow, .opengles_redraw = &android_redrawOpenglesWindow, }; emulator->window = skin_window_create(layout, emulator->win_x, emulator->win_y, scale, 0, &skin_window_funcs); if (emulator->window == NULL) return; { SkinTrackBall* ball; SkinTrackBallParameters params; params.diameter = 30; params.ring = 2; params.ball_color = 0xffe0e0e0; params.dot_color = 0xff202020; params.ring_color = 0xff000000; params.event_func = &qemulator_trackball_event; ball = skin_trackball_create( ¶ms ); emulator->trackball = ball; skin_window_set_trackball( emulator->window, ball ); emulator->lcd_brightness = 128; /* 50% */ skin_window_set_lcd_brightness( emulator->window, emulator->lcd_brightness ); } if ( emulator->onion != NULL ) skin_window_set_onion( emulator->window, emulator->onion, emulator->onion_rotation, emulator->onion_alpha ); qemulator_set_title(emulator); skin_window_enable_touch ( emulator->window, !androidHwConfig_isScreenNoTouch(android_hw)); skin_window_enable_dpad ( emulator->window, android_hw->hw_dPad != 0 ); skin_window_enable_qwerty( emulator->window, android_hw->hw_keyboard != 0 ); skin_window_enable_trackball( emulator->window, android_hw->hw_trackBall != 0 ); }
SkinUI* skin_ui_create(SkinFile* layout_file, const char* initial_orientation, const SkinUIFuncs* ui_funcs, const SkinUIParams* ui_params) { SkinUI* ui; ANEW0(ui); ui->layout_file = layout_file; ui->layout = skin_file_select_layout(layout_file->layouts, initial_orientation); ui->ui_funcs = ui_funcs; ui->ui_params = ui_params[0]; ui->keyboard = skin_keyboard_create(ui->ui_params.keyboard_charmap, ui->ui_params.keyboard_raw_keys, ui_funcs->keyboard_flush); ui->window = NULL; skin_keyboard_enable(ui->keyboard, 1); skin_keyboard_on_command(ui->keyboard, _skin_ui_handle_key_command, ui); ui->window = skin_window_create(ui->layout, ui->ui_params.window_x, ui->ui_params.window_y, ui->ui_params.window_scale, 0, ui->ui_funcs->window_funcs); if (!ui->window) { skin_ui_free(ui); return NULL; } if (ui->ui_params.enable_trackball) { ui->trackball = skin_trackball_create(ui->ui_funcs->trackball_params); skin_window_set_trackball(ui->window, ui->trackball); } ui->lcd_brightness = 128; /* 50% */ skin_window_set_lcd_brightness(ui->window, ui->lcd_brightness ); if (ui->onion) { skin_window_set_onion(ui->window, ui->onion, ui->onion_rotation, ui->onion_alpha); } skin_ui_reset_title(ui); skin_window_enable_touch(ui->window, ui->ui_params.enable_touch); skin_window_enable_dpad(ui->window, ui->ui_params.enable_dpad); skin_window_enable_qwerty(ui->window, ui->ui_params.enable_keyboard); skin_window_enable_trackball(ui->window, ui->ui_params.enable_trackball); return ui; }
static void qemulator_setup( QEmulator* emulator ) { AndroidOptions* opts = emulator->opts; if ( !emulator->window && !opts->no_window ) { SkinLayout* layout = emulator->layout; double scale = get_default_scale(emulator->opts); emulator->window = skin_window_create( layout, emulator->win_x, emulator->win_y, scale, 0); if (emulator->window == NULL) return; { SkinTrackBall* ball; SkinTrackBallParameters params; params.diameter = 30; params.ring = 2; params.ball_color = 0xffe0e0e0; params.dot_color = 0xff202020; params.ring_color = 0xff000000; ball = skin_trackball_create( ¶ms ); emulator->trackball = ball; skin_window_set_trackball( emulator->window, ball ); emulator->lcd_brightness = 128; skin_window_set_lcd_brightness( emulator->window, emulator->lcd_brightness ); } if ( emulator->onion != NULL ) skin_window_set_onion( emulator->window, emulator->onion, emulator->onion_rotation, emulator->onion_alpha ); qemulator_set_title(emulator); skin_window_enable_touch ( emulator->window, !androidHwConfig_isScreenNoTouch(android_hw)); skin_window_enable_dpad ( emulator->window, android_hw->hw_dPad != 0 ); skin_window_enable_qwerty( emulator->window, android_hw->hw_keyboard != 0 ); skin_window_enable_trackball( emulator->window, android_hw->hw_trackBall != 0 ); } uicmd_set_brightness_change_callback(qemulator_light_brightness, emulator); }