void veta_handleevent(event_t *event){ switch(event->type){ case QUIT: uk_log("Quit"); ui_quit(); break; case RESET: uk_log("Reset"); clear_selection(root_cell); veta_render(); break; case SELECT_CELL: uk_log("select cell %i",event->cell); // debug_print_tree(root); select_cell(root_cell,event->cell); symbol *sym; if(NULL!=(sym=get_selected_symbol(root_cell))){ clear_selection(root_cell); if(ui2_onselect_symbol(sym)) break; sendkey(sym->data,1,0); } refresh(); break; case UNDEFINED: uk_log("got event UNDEFINED\n"); break; default: uk_log("WARNING undefined event type"); break; } }
Sys_Error (int exitcode, const char *error, ...) { va_list argptr; char text[4096]; va_start (argptr, error); vsnprintf (text, sizeof(text), error, argptr); va_end (argptr); fprintf(stderr, "%s\n", text); ui_error (text); ui_quit (); /* shouldn't be necessary.. */ exit (exitcode); }
static void processevents(int wait, int *mx, int *my, int *mb, int *k) { int c = -1; *mb = 0; *k = 0; Processevents(wait, mx, my, mb, k, &c); if (c > -1) { ui_key(c); } if (c == -2) ui_quit(); // -2 signals program exit if (resized) { ui_resize(); // tell Xaos to resize } }
void launch_hexen2_bin (void) { char *args[MAX_ARGS], *ptr; size_t i = 0; memset (string_buf, 0, STRING_BUFSIZE); ptr = &string_buf[0]; /* add the binary name first: */ if (opengl_support) strcpy (string_buf, "gl"); if (destiny == DEST_HW) strcat (string_buf, HW_BINARY_NAME); else strcat (string_buf, H2_BINARY_NAME); string_buf[BINNAME_CHARS-1] = '\0'; args[i] = ptr; while (*ptr) ptr++; if (basedir_nonstd && game_basedir[0]) { args[++i] = "-basedir"; args[++i] = game_basedir; } #if !defined(DEMOBUILD) if (destiny == DEST_H2 && mp_support) args[++i] = "-portals"; #endif /* DEMOBUILD */ args[++i] = (fullscreen) ? "-f" : "-w"; args[++i] = "-width"; args[++i] = resolution_args[resolution][0]; args[++i] = "-height"; args[++i] = resolution_args[resolution][1]; if (opengl_support && use_con && conwidth < resolution) { args[++i] = "-conwidth"; args[++i] = resolution_args[conwidth][0]; } args[++i] = snddrv_names[sound][0]; if (sound != 0) { if (sndrate != 0) { args[++i] = "-sndspeed"; args[++i] = snd_rates[sndrate]; } if (sndbits == 0) /* 16-bit is default already */ { args[++i] = "-sndbits"; args[++i] = "8"; } if (midi == 0) args[++i] = "-nomidi"; if (cdaudio == 0) args[++i] = "-nocdaudio"; } else { /* engine doesn't -nocdaudio upon -nosound, but it simply is what the name implies */ args[++i] = "-nocdaudio"; } #if !defined(DEMOBUILD) if (destiny == DEST_HW && hwgame > 0) { args[++i] = "-game"; args[++i] = hwgame_names[hwgame].dirname; } else if (destiny == DEST_H2 && h2game > 0) { args[++i] = "-game"; args[++i] = h2game_names[h2game].dirname; /* bot matches require -listen */ if (h2game_names[h2game].is_botmatch) { args[++i] = "-listen"; lan = 1; /* -listen can't work with -nolan */ } } #endif /* DEMOBUILD */ if (lan == 0 && destiny == DEST_H2) args[++i] = "-nolan"; if (!mouse) args[++i] = "-nomouse"; if (opengl_support && fxgamma) args[++i] = "-3dfxgamma"; if (opengl_support && is8bit) args[++i] = "-paltex"; if (opengl_support && use_fsaa && aasamples) { args[++i] = "-fsaa"; snprintf (++ptr, AASAMPLES_CHARS, "%i", aasamples); args[++i] = ptr; while (*ptr) ptr++; } if (opengl_support && vsync) args[++i] = "-vsync"; if (opengl_support && use_lm1 == 1) /* -lm_4 is default already */ args[++i] = "-lm_1"; if (gl_nonstd && opengl_support && gllibrary[0]) { args[++i] = "-g"; args[++i] = gllibrary; } if (use_heap && heapsize >= HEAP_MINSIZE) { args[++i] = "-heapsize"; snprintf (++ptr, HEAPSIZE_CHARS, "%i", heapsize); args[++i] = ptr; while (*ptr) ptr++; } if (use_zone && zonesize >= ZONE_MINSIZE) { args[++i] = "-zone"; snprintf (++ptr, ZONESIZE_CHARS, "%i", zonesize); args[++i] = ptr; while (*ptr) ptr++; } if (debug2) args[++i] = "-devlog"; else if (debug) args[++i] = "-condebug"; /* parse the extra user arguments */ if (use_extra && ext_args[0]) { memcpy (++ptr, ext_args, MAX_EXTARGS-1); string_buf[STRING_BUFSIZE-1] = '\0'; while (1) { if (!*ptr || (i+2 >= MAX_ARGS)) break; while (*ptr && isspace(*ptr)) *ptr++ = '\0'; if (*ptr) { args[++i] = ptr; while (*ptr && !isspace(*ptr)) ptr++; } } } /* finish the list of args */ args[++i] = NULL; write_config_file (); ui_quit (); printf ("\nLaunching %s\n", &string_buf[0]); printf ("Command line is :\n "); i = 0; while (args[i]) { printf (" %s", args[i]); i++; } printf ("\n\n"); execv (&string_buf[0], args); exit (0); }
static void ui_menu_quit_cb(GtkWidget *widget, gpointer data) { ui_quit(); }
static gboolean ui_window_delete_event_cb(GtkWidget *widget, gpointer data) { ui_quit(); //Do not destroy window, will die on application quit return TRUE; }