Gnome2-Vte

 view release on metacpan or  search on metacpan

xs/VteTerminal.xs  view on Meta::CPAN


	for (i = 0; i < text_array->len; i++) {
		VteCharAttributes *text_attributes = &g_array_index(text_array, VteCharAttributes, i);
		HV *hash = newHV ();

		hv_store (hash, "row", 3, newSViv (text_attributes->row), 0);
		hv_store (hash, "column", 6, newSViv (text_attributes->column), 0);
		hv_store (hash, "fore", 4, newSVGdkColor_copy (&text_attributes->fore), 0);
		hv_store (hash, "back", 4, newSVGdkColor_copy (&text_attributes->back), 0);
		hv_store (hash, "underline", 9, newSVuv (text_attributes->underline), 0);
		hv_store (hash, "strikethrough", 13, newSVuv (text_attributes->strikethrough), 0);

		av_push (array, newRV_noinc ((SV *) hash));
	}

	return newRV_noinc ((SV *) array);
}

/* ------------------------------------------------------------------------- */

static GPerlCallback *
vte2perl_is_selected_create (SV * func, SV * data)
{
	GType param_types [] = {
		VTE_TYPE_TERMINAL,
		G_TYPE_LONG,
		G_TYPE_LONG
	};
	return gperl_callback_new (func, data, G_N_ELEMENTS (param_types),
				   param_types, G_TYPE_BOOLEAN);
}

static gboolean
vte2perl_is_selected (VteTerminal *terminal,
                      glong column,
                      glong row,
                      gpointer data)
{
	GPerlCallback *callback = (GPerlCallback *) data;
	GValue value = {0,};
	gboolean retval;

	g_value_init (&value, callback->return_type);
	gperl_callback_invoke (callback, &value, terminal, column, row);
	retval = g_value_get_boolean (&value);
	g_value_unset (&value);

	return retval;
}

/* ------------------------------------------------------------------------- */

MODULE = Gnome2::Vte::Terminal	PACKAGE = Gnome2::Vte::Terminal	PREFIX = vte_terminal_

##  GtkWidget *vte_terminal_new(void)
GtkWidget *
vte_terminal_new (class)
    C_ARGS:
	/* void */

##  void vte_terminal_im_append_menuitems(VteTerminal *terminal, GtkMenuShell *menushell)
void
vte_terminal_im_append_menuitems (terminal, menushell)
	VteTerminal *terminal
	GtkMenuShell *menushell

##  pid_t vte_terminal_fork_command(VteTerminal *terminal, const char *command, char **argv, char **envv, const char *directory, gboolean lastlog, gboolean utmp, gboolean wtmp)
int
vte_terminal_fork_command (terminal, command, arg_ref, env_ref, directory, lastlog, utmp, wtmp)
	VteTerminal *terminal
	const char *command
	SV *arg_ref
	SV *env_ref
	const char_ornull *directory
	gboolean lastlog
	gboolean utmp
	gboolean wtmp
    PREINIT:
	char **argv, **envv;
    CODE:
	argv = SvVteCharArray (arg_ref);
	envv = SvVteCharArray (env_ref);

	RETVAL = vte_terminal_fork_command (terminal,
	                                    command,
	                                    argv,
	                                    envv,
	                                    directory,
	                                    lastlog,
	                                    utmp,
	                                    wtmp);

	g_free (argv);
	g_free (envv);
    OUTPUT:
	RETVAL

##  void vte_terminal_feed(VteTerminal *terminal, const char *data, glong length)
void
vte_terminal_feed (terminal, data)
	VteTerminal *terminal
	SV *data
    PREINIT:
	STRLEN len;
	char *real_data;
    CODE:
	real_data = SvPV (data, len);
	vte_terminal_feed (terminal, real_data, len);

##  void vte_terminal_feed_child(VteTerminal *terminal, const char *data, glong length)
void
vte_terminal_feed_child (terminal, data)
	VteTerminal *terminal
	SV *data
    PREINIT:
	STRLEN len;
	char *real_data;
    CODE:
	real_data = SvPV (data, len);
	vte_terminal_feed_child (terminal, real_data, len);

#if VTE_CHECK_VERSION (0, 12, 1)

##  void vte_terminal_feed_child_binary(VteTerminal *terminal, const char *data, glong length);
void



( run in 1.753 second using v1.01-cache-2.11-cpan-98e64b0badf )