Esempio n. 1
0
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;
	}
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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);
}
Esempio n. 5
0
File: window.c Progetto: MiKom/clipt
static void ui_menu_quit_cb(GtkWidget *widget, gpointer data)
{
    ui_quit();
}
Esempio n. 6
0
File: window.c Progetto: MiKom/clipt
static gboolean ui_window_delete_event_cb(GtkWidget *widget, gpointer data)
{
    ui_quit();
    //Do not destroy window, will die on application quit
    return TRUE;
}