void S9xProcessEvents (bool8 block) { #ifdef USE_JOYSTICK JoyEvent event; Binding binding; if (S9xGrabJoysticks ()) { for (int i = 0; gui_config->joystick[i]; i++) { while (gui_config->joystick[i]->get_event (&event)) { binding = Binding (i, event.parameter, 0); S9xReportButton (binding.hex (), event.state == JOY_PRESSED ? 1 : 0); gui_config->screensaver_needs_reset = TRUE; } } S9xReleaseJoysticks (); } #endif return; }
void Snes9xPreferences::show (void) { gint result; GtkWidget *combo; int close_dialog; #ifdef USE_JOYSTICK guint source_id = -1; #endif if (config->allow_xrandr) { #ifdef USE_XRANDR char size_string[256]; combo = get_widget ("resolution_combo"); config->xrr_index = 0; for (int i = 0; i < config->xrr_num_sizes; i++) { if (config->xrr_width == config->xrr_sizes[i].width && config->xrr_height == config->xrr_sizes[i].height) config->xrr_index = i; snprintf (size_string, 256, "%dx%d", config->xrr_sizes[i].width, config->xrr_sizes[i].height); combo_box_append (GTK_COMBO_BOX (combo), size_string); } #endif } else { gtk_widget_hide (get_widget ("resolution_box")); } #ifdef USE_HQ2X combo = get_widget ("scale_method_combo"); combo_box_append (GTK_COMBO_BOX (combo), _("HQ2x")); combo_box_append (GTK_COMBO_BOX (combo), _("HQ3x")); combo_box_append (GTK_COMBO_BOX (combo), _("HQ4x")); #endif #ifdef USE_XBRZ combo = get_widget ("scale_method_combo"); combo_box_append (GTK_COMBO_BOX (combo), _("2xBRZ")); combo_box_append (GTK_COMBO_BOX (combo), _("3xBRZ")); combo_box_append (GTK_COMBO_BOX (combo), _("4xBRZ")); #endif combo = get_widget ("hw_accel"); combo_box_append (GTK_COMBO_BOX (combo), _("None - Use software scaler")); if (config->allow_opengl) combo_box_append (GTK_COMBO_BOX (combo), _("OpenGL - Use 3D graphics hardware")); if (config->allow_xv) combo_box_append (GTK_COMBO_BOX (combo), _("XVideo - Use hardware video blitter")); combo = get_widget ("sound_driver"); #ifdef USE_PORTAUDIO combo_box_append (GTK_COMBO_BOX (combo), _("PortAudio")); #endif #ifdef USE_OSS combo_box_append (GTK_COMBO_BOX (combo), _("Open Sound System")); #endif #ifdef USE_JOYSTICK combo_box_append (GTK_COMBO_BOX (combo), _("SDL")); #endif #ifdef USE_ALSA combo_box_append (GTK_COMBO_BOX (combo), _("ALSA")); #endif #ifdef USE_PULSEAUDIO combo_box_append (GTK_COMBO_BOX (combo), _("PulseAudio")); #endif move_settings_to_dialog (); #ifdef USE_JOYSTICK S9xGrabJoysticks (); source_id = g_timeout_add (100, poll_joystick, (gpointer) this); #endif if (config->preferences_width > 0 && config->preferences_height > 0) resize (config->preferences_width, config->preferences_height); for (close_dialog = 0; !close_dialog; ) { gtk_widget_show (window); result = gtk_dialog_run (GTK_DIALOG (window)); config->preferences_width = get_width (); config->preferences_height = get_height (); switch (result) { case GTK_RESPONSE_OK: get_settings_from_dialog (); config->save_config_file (); close_dialog = 1; gtk_widget_hide (window); break; case GTK_RESPONSE_APPLY: get_settings_from_dialog (); config->save_config_file (); break; case GTK_RESPONSE_CANCEL: case GTK_RESPONSE_CLOSE: case GTK_RESPONSE_DELETE_EVENT: gtk_widget_hide (window); close_dialog = 1; break; default: break; } } #ifdef USE_JOYSTICK g_source_remove (source_id); S9xReleaseJoysticks (); #endif gtk_widget_destroy (window); return; }