Gtk-Perl

 view release on metacpan or  search on metacpan

Bonobo/xs/BonoboControlFrame.xs  view on Meta::CPAN

bonobo_control_frame_get_control (control_frame)
	Gnome::BonoboControlFrame	control_frame

CORBA::Object
bonobo_control_frame_get_ui_container (control_frame)
	Gnome::BonoboControlFrame	control_frame

void
bonobo_control_frame_size_request (control_frame)
	Gnome::BonoboControlFrame	control_frame
	PPCODE:
	{
		int	desired_width, desired_height;
		bonobo_control_frame_size_request (control_frame, &desired_width, &desired_height);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSViv(desired_width)));
		PUSHs(sv_2mortal(newSViv(desired_height)));
	}

#endif

Bonobo/xs/BonoboWidget.xs  view on Meta::CPAN

		if ((items-1)%2)
			croak("set_property requires (name, value) pairs");
		for (i=1; i <items-1; i+=2)
			getset_prop_value(control, SvPV(ST(i), PL_na), ST(i+1));
	}

void
bonobo_widget_get_property (control, first_prop, ...)
	Gnome::BonoboWidget	control
	char *	first_prop
	PPCODE:
	{
		int i;
		EXTEND(SP, items-1);
		for (i=1; i <items; i++)
			PUSHs(sv_2mortal(getset_prop_value(control, SvPV(ST(i), PL_na), NULL)));
	}


#endif

GdkImlib/xs/GdkImlib.xs  view on Meta::CPAN

	RETVAL = gdk_imlib_load_alpha(file);
	OUTPUT:
	RETVAL

void
gdk_imlib_best_color_match (Class, r, g, b)
	SV *	Class
	int	r
	int	g
	int	b
	PPCODE:
	{
		int res = gdk_imlib_best_color_match(&r, &g, &b);
		EXTEND(sp, 4);
		XPUSHs(sv_2mortal(newSViv(res)));
		XPUSHs(sv_2mortal(newSViv(r)));
		XPUSHs(sv_2mortal(newSViv(g)));
		XPUSHs(sv_2mortal(newSViv(b)));
	}

int

GdkImlib/xs/GdkImlib.xs  view on Meta::CPAN

		border.left = left;
		border.right = right;
		border.top = top;
		border.bottom = bottom;
		gdk_imlib_set_image_border(image, &border);
	}

void
gdk_imlib_get_image_border (image)
	Gtk::Gdk::ImlibImage image
	PPCODE:
	{
		GdkImlibBorder border;
		gdk_imlib_get_image_border (image, &border);
		EXTEND(sp, 4);
		XPUSHs(sv_2mortal(newSViv(border.left)));
		XPUSHs(sv_2mortal(newSViv(border.right)));
		XPUSHs(sv_2mortal(newSViv(border.top)));
		XPUSHs(sv_2mortal(newSViv(border.bottom)));
	}

GdkImlib/xs/GdkImlib.xs  view on Meta::CPAN


int
gdk_imlib_save_image_to_ppm(image, file)
	Gtk::Gdk::ImlibImage image
	char* file

void
gdk_imlib_load_file_to_pixmap(Class, file)
	SV * Class
	char* file
	PPCODE:
	{
		GdkPixmap * result = 0;
		GdkBitmap * mask = 0;
		int ret;
		ret = gdk_imlib_load_file_to_pixmap(file, &result, &mask);
		if (result) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkPixmap(result)));
		}
		if (mask) {

GdkImlib/xs/GdkImlib.xs  view on Meta::CPAN

			lines[i-1] = SvPV(ST(i),PL_na);
		RETVAL = gdk_imlib_create_image_from_xpm_data(lines);
		free(lines);
	}
	OUTPUT:
	RETVAL

void
gdk_imlib_data_to_pixmap(Class, data, ...)
	SV *	data
	PPCODE:
	{
		GdkPixmap * result = 0;
		GdkBitmap * mask = 0;
		int ret;
		char ** lines = (char**)malloc(sizeof(char*)*(items-1));
		int i;
		for(i=1;i<items;i++)
			lines[i-1] = SvPV(ST(i),PL_na);
		ret = gdk_imlib_data_to_pixmap(lines, &result, &mask);
		if (result) {

GdkImlib/xs/GdkImlib.xs  view on Meta::CPAN

		if (mask) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkBitmap(mask)));
		}
		free(lines);
	}

void
gdk_imlib_get_cache_info(Class)
	SV *	Class
	PPCODE:
	{
		int cache_p, cache_i;
		gdk_imlib_get_cache_info(&cache_p, &cache_i);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(cache_p)));
		PUSHs(sv_2mortal(newSViv(cache_i)));
	}

void
gdk_imlib_set_cache_info(Class, cache_pixmaps, cache_images)

GdkPixbuf/xs/GdkPixbuf.xs  view on Meta::CPAN

	Gtk::Gdk::PixbufAlphaMode	alpha_mode
	int	alpha_threshold
	Gtk::Gdk::Rgb::Dither	dither
	int	x_dither
	int	y_dither

void
gdk_pixbuf_render_pixmap_and_mask (pixbuf, alpha_threshold)
	Gtk::Gdk::Pixbuf	pixbuf
	int	alpha_threshold
	PPCODE:
	{
		GdkPixmap *pixmap=NULL;
		GdkBitmap *bitmap=NULL;
		gdk_pixbuf_render_pixmap_and_mask (pixbuf, &pixmap, &bitmap, alpha_threshold);
		if (pixmap) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGdkPixmap(pixmap)));
		}
		if (bitmap) {
			EXTEND(sp, 1);

Gnome/xs/Gnome.xs  view on Meta::CPAN


void
section_contents (Class, path)
	SV *	Class
	char *	path
	ALIAS:
		Gnome::Config::section_contents = 0
		Gnome::Config::sections = 1
		Gnome::Config::private_section_contents = 2
		Gnome::Config::private_sections = 3
	PPCODE:
	{
		void* iter = 0;
		char *key = NULL, *val = NULL;
		int sections = 0;
		switch (ix) {
		case 0: iter = gnome_config_init_iterator (path); break;
		case 1: iter = gnome_config_init_iterator_sections(path); sections++; break;
		case 2: iter = gnome_config_private_init_iterator (path); break;
		case 3: iter = gnome_config_private_init_iterator_sections(path); sections++; break;
		}

Gnome/xs/Gnome.xs  view on Meta::CPAN

			}
		}
	}


MODULE = Gnome		PACKAGE = Gnome::Paper	PREFIX = gnome_paper_

void
name_list (Class)
	SV *	Class
	PPCODE:
	{
		GList * p = gnome_paper_name_list ();
		GList * tmp = p;
		while (tmp) {
			EXTEND(SP, 1);
			PUSHs(sv_2mortal(newSVpv((char*)tmp->data, 0)));
			tmp = tmp->next;
		}
	}

Gnome/xs/GnomeCanvas.xs  view on Meta::CPAN

gnome_canvas_set_scroll_region(canvas, x1, y1, x2, y2)
	Gnome::Canvas	canvas
	double	x1
	double	y1
	double	x2
	double	y2

void
gnome_canvas_get_scroll_region (canvas)
	Gnome::Canvas	canvas
	PPCODE:
	{
		double x1, y1, x2, y2;
		gnome_canvas_get_scroll_region(canvas, &x1, &y1, &x2, &y2);
		EXTEND(sp, 4);
		PUSHs(sv_2mortal(newSVnv(x1)));
		PUSHs(sv_2mortal(newSVnv(y1)));
		PUSHs(sv_2mortal(newSVnv(x2)));
		PUSHs(sv_2mortal(newSVnv(y2)));
	}

Gnome/xs/GnomeCanvas.xs  view on Meta::CPAN


void
gnome_canvas_scroll_to(canvas, x, y)
	Gnome::Canvas	canvas
	int	x
	int	y

void
gnome_canvas_get_scroll_offsets (canvas)
	Gnome::Canvas	canvas
	PPCODE:
	{
		int x, y;
		gnome_canvas_get_scroll_offsets(canvas, &x, &y);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSViv(x)));
		PUSHs(sv_2mortal(newSViv(y)));
	}

void
gnome_canvas_update_now(canvas)

Gnome/xs/GnomeCanvas.xs  view on Meta::CPAN

	int	x1
	int	y1
	int	x2
	int	y2

# missing: gnome_canvas_request_redraw_uta

void
gnome_canvas_w2c_affine (canvas)
	Gnome::Canvas	canvas
	PPCODE:
	{
		double affine[6];
		int i;
		gnome_canvas_w2c_affine(canvas, affine);
		EXTEND(sp, 6);
		for(i=0; i < 6; ++i)
			PUSHs(sv_2mortal(newSVnv(affine[i])));
	}

void
gnome_canvas_w2c (canvas, wx, wy)
	Gnome::Canvas	canvas
	double	wx
	double	wy
	PPCODE:
	{
		int cx, cy;
		gnome_canvas_w2c(canvas, wx, wy, &cx, &cy);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSViv(cx)));
		PUSHs(sv_2mortal(newSViv(cy)));

	}

void
gnome_canvas_w2c_d (canvas, wx, wy)
	Gnome::Canvas	canvas
	double	wx
	double	wy
	PPCODE:
	{
		double cx, cy;
		gnome_canvas_w2c_d(canvas, wx, wy, &cx, &cy);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSVnv(cx)));
		PUSHs(sv_2mortal(newSVnv(cy)));
	}

void
gnome_canvas_c2w (canvas, cx, cy)
	Gnome::Canvas	canvas
	int	cx
	int	cy
	PPCODE:
	{
		double wx, wy;
		gnome_canvas_c2w(canvas, cx, cy, &wx, &wy);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSVnv(wx)));
		PUSHs(sv_2mortal(newSVnv(wy)));
	}

void
gnome_canvas_window_to_world (canvas, winx, winy)
	Gnome::Canvas	canvas
	double	winx
	double	winy
	PPCODE:
	{
		double wx, wy;
		gnome_canvas_window_to_world(canvas, winx, winy, &wx, &wy);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSVnv(wx)));
		PUSHs(sv_2mortal(newSVnv(wy)));
	}

void
gnome_canvas_world_to_window (canvas, wx, wy)
	Gnome::Canvas	canvas
	double	wx
	double	wy
	PPCODE:
	{
		double winx, winy;
		gnome_canvas_world_to_window(canvas, wx, wy, &winx, &winy);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSVnv(winx)));
		PUSHs(sv_2mortal(newSVnv(winy)));
	}

Gtk::Gdk::Color
gnome_canvas_get_color (canvas, spec)

Gnome/xs/GnomeCanvasItem.xs  view on Meta::CPAN

		else if (ix == 1)
			gnome_canvas_item_affine_absolute(item, affine);
	}

void
gnome_canvas_item_i2w_affine (item)
	Gnome::CanvasItem	item
	ALIAS:
		Gnome::CanvasItem::i2w_affine = 0
		Gnome::CanvasItem::i2c_affine = 1
	PPCODE:
	{
		double affine[6];
		int i;
		if (ix == 0)
			gnome_canvas_item_i2w_affine(item, affine);
		else if (ix == 1)
			gnome_canvas_item_i2c_affine (item, affine);
		EXTEND(sp, 6);
		for(i=0; i < 6; ++i)
			PUSHs(sv_2mortal(newSVnv(affine[i])));

Gnome/xs/GnomeCanvasItem.xs  view on Meta::CPAN

	int		time

void
gnome_canvas_item_reparent (item, new_group)
	Gnome::CanvasItem	item
	Gnome::CanvasGroup	new_group

void
gnome_canvas_item_get_bounds (item)
	Gnome::CanvasItem	item
	PPCODE:
	{
		double x1, y1, x2, y2;
		gnome_canvas_item_get_bounds(item, &x1, &y1, &x2, &y2);
		EXTEND(sp, 4);
		PUSHs(sv_2mortal(newSVnv(x1)));
		PUSHs(sv_2mortal(newSVnv(y1)));
		PUSHs(sv_2mortal(newSVnv(x2)));
		PUSHs(sv_2mortal(newSVnv(y2)));
	}

void
gnome_canvas_item_w2i(item, x, y)
	Gnome::CanvasItem	item
	double	x
	double	y
	ALIAS:
		Gnome::CanvasItem::w2i = 0
		Gnome::CanvasItem::i2w = 1
	PPCODE:
	{
		if (ix == 0)
			gnome_canvas_item_w2i(item, &x, &y);
		else if (ix == 1)
			gnome_canvas_item_i2w(item, &x, &y);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSVnv(x)));
		PUSHs(sv_2mortal(newSVnv(y)));
	}

Gnome/xs/GnomeColorPicker.xs  view on Meta::CPAN

gnome_color_picker_set_i16(colorpicker, r, g, b, a)
	Gnome::ColorPicker	colorpicker
	int	r
	int	g
	int	b
	int	a

void
gnome_color_picker_get_d(colorpicker)
	Gnome::ColorPicker	colorpicker
	PPCODE:
	{
		double r,g,b,a;
		gnome_color_picker_get_d(colorpicker, &r, &g, &b, &a);
		EXTEND(sp, 4);
		PUSHs(sv_2mortal(newSVnv(r)));
		PUSHs(sv_2mortal(newSVnv(g)));
		PUSHs(sv_2mortal(newSVnv(b)));
		PUSHs(sv_2mortal(newSVnv(a)));
	}

void
gnome_color_picker_get_i8(colorpicker)
	Gnome::ColorPicker	colorpicker
	PPCODE:
	{
		guint8 r,g,b,a;
		gnome_color_picker_get_i8(colorpicker, &r, &g, &b, &a);
		EXTEND(sp, 4);
		PUSHs(sv_2mortal(newSViv(r)));
		PUSHs(sv_2mortal(newSViv(g)));
		PUSHs(sv_2mortal(newSViv(b)));
		PUSHs(sv_2mortal(newSViv(a)));
	}

void
gnome_color_picker_get_i16(colorpicker)
	Gnome::ColorPicker	colorpicker
	PPCODE:
	{
		guint16 r,g,b,a;
		gnome_color_picker_get_i16(colorpicker, &r, &g, &b, &a);
		EXTEND(sp, 4);
		PUSHs(sv_2mortal(newSViv(r)));
		PUSHs(sv_2mortal(newSViv(g)));
		PUSHs(sv_2mortal(newSViv(b)));
		PUSHs(sv_2mortal(newSViv(a)));
	}

Gnome/xs/GnomeDialog.xs  view on Meta::CPAN

action_area(dialog)
	Gnome::Dialog dialog
	CODE:
	RETVAL = GTK_WIDGET(dialog->action_area);
	OUTPUT:
	RETVAL

void
buttons(dialog)
	Gnome::Dialog	dialog
	PPCODE:
	{
		GList * l = dialog->buttons;
		while(l) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGtkWidget((GtkWidget*)l->data)));
			l=l->next;
		}
	}

#endif

Gnome/xs/GnomeDock.xs  view on Meta::CPAN

	Gtk::Widget	widget

Gtk::Widget_Up
gnome_dock_get_client_area (dock)
	Gnome::Dock	dock

void
gnome_dock_get_item_by_name (dock, name)
	Gnome::Dock	dock
	char *	name
	PPCODE:
	{
		GnomeDockItem *item;
		guint band, position, offset;
		GnomeDockPlacement placement;

		item = gnome_dock_get_item_by_name (dock, name, &placement, &band, &position, &offset);
		if (GIMME != G_ARRAY) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGnomeDockItem(item)));
		} else {

Gnome/xs/GnomeDockBand.xs  view on Meta::CPAN

gnome_dock_band_drag_to (band, item, x, y)
	Gnome::DockBand	band
	Gnome::DockItem	item
	int	x
	int	y

void
gnome_dock_band_get_item_by_name (band, name)
	Gnome::DockBand	band
	char *	name
	PPCODE:
	{
		GnomeDockItem *item;
		guint position, offset;

		item = gnome_dock_band_get_item_by_name (band, name, &position, &offset);
		if (GIMME != G_ARRAY) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGnomeDockItem(item)));
		} else {
			EXTEND(sp, 3);

Gnome/xs/GnomeGeometry.xs  view on Meta::CPAN


#include "GtkDefs.h"
#include "GnomeDefs.h"


MODULE = Gnome::Geometry		PACKAGE = Gnome::Geometry		PREFIX = gnome_geometry_

void
gnome_geometry_parse(Class, geometry)
	char *	geometry
	PPCODE:
	{
		int xpos, ypos, width, height;
		if (gnome_parse_geometry(geometry, &xpos, &ypos, &width, &height)) {
			EXTEND(sp, 4);
			PUSHs(sv_2mortal(newSViv(xpos)));
			PUSHs(sv_2mortal(newSViv(ypos)));
			PUSHs(sv_2mortal(newSViv(width)));
			PUSHs(sv_2mortal(newSViv(height)));
		}
	}

void
gnome_geometry_string(Class, window)
	Gtk::Window	window
	PPCODE:
	{
		char * s = gnome_geometry_string(window);
		if (s) {
			PUSHs(sv_2mortal(newSVpv(s, 0)));
			g_free(s);
		}
	}

Gnome/xs/GnomePixmap.xs  view on Meta::CPAN

	int	rgb_width
	int	rgb_height
	int	width
	int	height
	CODE:
	gnome_pixmap_load_rgb_d_at_size(pixmap, data,alpha,rgb_width, rgb_height, width, height);

void
file(orig)
	char *orig
	PPCODE:
		char *s = gnome_pixmap_file(orig);
		EXTEND(sp,1);
		if(s) {
			PUSHs(sv_2mortal(newSVpv(s,0)));
		} else {
			PUSHs(&PL_sv_undef);
		}
		g_free(s);


Gnome/xs/GnomeStock.xs  view on Meta::CPAN

	char *	text
	CODE:
	RETVAL = (GtkMenuItem*)(gnome_stock_menu_item(type, text));
	OUTPUT:
	RETVAL

void
gnome_stock_menu_accel (Class, type)
	SV *	Class
	char *	type
	PPCODE:
	{
		gboolean result;
		guchar	key;
		guint8	mod;
		result = gnome_stock_menu_accel(type, &key, &mod);
		EXTEND(sp, 3);
		PUSHs(sv_2mortal(newSViv(result)));
		/* return symbolic names? */
		PUSHs(sv_2mortal(newSViv(key)));
		PUSHs(sv_2mortal(newSViv(mod)));

Gnome/xs/GnomeStock.xs  view on Meta::CPAN

	CODE:
	RETVAL = GTK_WINDOW(gnome_stock_transparent_window (icon, subtype));
	OUTPUT:
	RETVAL

void
gnome_stock_pixmap_gdk (Class, icon, subtype)
	SV *	Class
	char *	icon
	char *	subtype
	PPCODE:
	{
		GdkPixmap * pixmap = NULL;
		GdkBitmap * mask = NULL;
		gnome_stock_pixmap_gdk (icon, subtype, &pixmap, &mask);
		if (pixmap) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkPixmap(pixmap)));
		}
		if (mask) {
			EXTEND(sp,1);

Gnome/xs/GtkImage.xs  view on Meta::CPAN


void
gtk_image_set(image, val, mask)
	Gtk::Image	image
	Gtk::Gdk::Image	val
	Gtk::Gdk::Bitmap	mask

void
gtk_image_get(image)
	Gtk::Image	image
	PPCODE:
	{
		GdkImage * val;
		GdkBitmap * mask;
		gtk_image_get(image, &val, &mask);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(val ? newSVGdkImage(val) : newSVsv(&PL_sv_undef)));
		PUSHs(sv_2mortal(mask ? newSVGdkBitmap(mask) : newSVsv(&PL_sv_undef)));
	}

#endif

Gnome/xs/ZvtTerm.xs  view on Meta::CPAN

	int	scrollback

void
zvt_term_get_buffer (term, type, sx, sy, ex, ey)
	Gnome::ZvtTerm	term
	int	type
	int	sx
	int	sy
	int	ex
	int	ey
	PPCODE:
	{
		char* res;
		int len=0;

		res = zvt_term_get_buffer (term, &len, type, sx, sy, ex, ey);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSVpv(res, 0)));
		PUSHs(sv_2mortal(newSViv(len)));
		g_free(res);
	}

GnomePrint/xs/GnomePrint.xs  view on Meta::CPAN

		GnomePrint_InstallTypedefs();
		GnomePrint_InstallObjects();
	}

# convenience functions ...

void
affine_rotate (Class, angle)
	SV *	Class
	double	angle
	PPCODE:
	{
		double m[6];
		int i;
		art_affine_rotate (m, angle);
		EXTEND(sp, 6);
		for (i=0; i < 6; ++i)
			PUSHs(sv_2mortal(newSVnv(m[i])));
	}

void
affine_scale (Class, sx, sy)
	SV *	Class
	double	sx
	double	sy
	PPCODE:
	{
		double m[6];
		int i;
		art_affine_scale (m, sx, sy);
		EXTEND(sp, 6);
		for (i=0; i < 6; ++i)
			PUSHs(sv_2mortal(newSVnv(m[i])));
	}

void
affine_translate (Class, dx, dy)
	SV *	Class
	double	dx
	double	dy
	PPCODE:
	{
		double m[6];
		int i;
		art_affine_translate (m, dx, dy);
		EXTEND(sp, 6);
		for (i=0; i < 6; ++i)
			PUSHs(sv_2mortal(newSVnv(m[i])));
	}

INCLUDE: ../build/boxed.xsh

GnomePrint/xs/GnomePrintCopies.xs  view on Meta::CPAN


void
gnome_print_copies_set_copies (gpc, copies, collate)
	Gnome::PrintCopies	gpc
	int	copies
	int	collate

void
gnome_print_copies_get_copies (gpc)
	Gnome::PrintCopies	gpc
	PPCODE:
	{
		int copies, collate;
		gnome_print_copies_get_copies(gpc, &copies, &collate);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSViv(copies)));
		PUSHs(sv_2mortal(newSViv(collate)));
	}

#endif

GnomePrint/xs/GnomePrintDialog.xs  view on Meta::CPAN


void
gnome_print_dialog_set_copies (pdialog, copies, collate)
	Gnome::PrintDialog	pdialog
	int	copies
	int	collate

void
gnome_print_dialog_get_copies (pdialog)
	Gnome::PrintDialog	pdialog
	PPCODE:
	{
		int copies, collate;
		gnome_print_dialog_get_copies(pdialog, &copies, &collate);
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSViv(copies)));
		PUSHs(sv_2mortal(newSViv(collate)));
	}

Gnome::Printer
gnome_print_dialog_get_printer (pdialog)

Gtk/xs/Gtk-1.2.xs  view on Meta::CPAN

	int	time

Gtk::Gdk::Atom
gdk_drag_get_selection (context)
	Gtk::Gdk::DragContext	context

void
gdk_drag_get_protocol (Class, xid)
	SV *	Class
	guint32	xid
	PPCODE:
	{
		GdkDragProtocol protocol;
		guint32 retval;

		retval = gdk_drag_get_protocol(xid, &protocol);
		XPUSHs(sv_2mortal(newSViv(retval)));
		XPUSHs(sv_2mortal(newSVGdkDragProtocol(protocol)));
	}

void
gdk_drag_find_window (context, drag_window, x_root, y_root)
	Gtk::Gdk::DragContext	context
	Gtk::Gdk::Window	drag_window
	int	x_root
	int	y_root
	PPCODE:
	{
		GdkWindow * dest_window;
		GdkDragProtocol protocol;
		gdk_drag_find_window (context, drag_window, x_root, y_root, &dest_window, &protocol);
		XPUSHs(sv_2mortal(newSVGdkWindow(dest_window)));
		XPUSHs(sv_2mortal(newSVGdkDragProtocol(protocol)));
	}

gboolean
gdk_drag_motion (context, dest_window, protocol, x_root, y_root, suggested_action, possible_action, time=GDK_CURRENT_TIME)

Gtk/xs/Gtk-1.2.xs  view on Meta::CPAN

	CODE:
	RETVAL = context->suggested_action;
	OUTPUT:
	RETVAL

 #OUTPUT: list
 #RETURNS: a list of targets (integers)
void
targets (context)
	Gtk::Gdk::DragContext	context
	PPCODE:
	{
		GList * tmpl = context->targets;
		while(tmpl) {
			XPUSHs(sv_2mortal(newSViv(GPOINTER_TO_UINT(tmpl->data))));
			tmpl = tmpl->next;
		}
	}


MODULE = Gtk12		PACKAGE = Gtk::Gdk::DragContext		PREFIX = gtk_drag_

Gtk/xs/Gtk-1.2.xs  view on Meta::CPAN


void
gtk_target_list_remove (target_list, target)
	Gtk::TargetList target_list
	Gtk::Gdk::Atom	target

void
gtk_target_list_find (target_list, target)
	Gtk::TargetList target_list
	Gtk::Gdk::Atom	target
	PPCODE:
	{
		guint info;
		if (gtk_target_list_find(target_list, target, &info))
			XPUSHs(sv_2mortal(newSViv(info)));
	}

MODULE = Gtk12		PACKAGE = Gtk::Button		PREFIX = gtk_button_

Gtk::ReliefStyle
gtk_button_get_relief (button)

Gtk/xs/Gtk-1.2.xs  view on Meta::CPAN


void
gtk_widget_size_allocate (widget, allocation)
	Gtk::Widget	widget
	Gtk::Allocation	allocation

void
gtk_widget_size_request (widget, request=0)
	Gtk::Widget	widget
	Gtk::Requisition	request
	PPCODE:
	{
		gtk_widget_size_request (widget, request);
		EXTEND(SP, 2);
		PUSHs(sv_2mortal(newSViv(request->width)));
		PUSHs(sv_2mortal(newSViv(request->height)));
	}

void
gtk_widget_set_visual (widget, visual)
	Gtk::Widget	widget

Gtk/xs/Gtk-1.2.xs  view on Meta::CPAN


void
gtk_widget_pop_composite_child (Class)
	SV *	Class
	CODE:
	gtk_widget_pop_composite_child();

void
gtk_widget_path (widget)
	Gtk::Widget	widget
	PPCODE:
	{
		guint len;
		gchar * path;
		gchar * rpath;
		gtk_widget_path(widget, &len, &path, &rpath);
		XPUSHs(sv_2mortal(newSVpv(path, len)));
		XPUSHs(sv_2mortal(newSVpv(rpath, len)));
		g_free(path);
		g_free(rpath);
	}

void
gtk_widget_class_path (widget)
	Gtk::Widget	widget
	PPCODE:
	{
		guint len;
		gchar * path;
		gchar * rpath;
		gtk_widget_class_path(widget, &len, &path, &rpath);
		XPUSHs(sv_2mortal(newSVpv(path, len)));
		XPUSHs(sv_2mortal(newSVpv(rpath, len)));
		g_free(path);
		g_free(rpath);
	}

Gtk/xs/Gtk-1.2.xs  view on Meta::CPAN


gint
gtk_widget_hide_on_delete (widget)
	Gtk::Widget	widget

#if 0
# FIXME: destroyed is already mapped to a widget flag :-(
void
gtk_widget_destroyed (widget)
	Gtk::Widget widget
	PPCODE:
	{
		GtkWidget * res=NULL;
		gtk_widget_destroyed (widget, &res);
		if (res)
			XPUSHs(sv_2mortal(newSVGtkWidget(res)));
	}

#endif

void

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #OUTPUT: bool
 #PARAMS: $Class

 # DESC: Initialize the Gtk module.
 # Parses the args out of @ARGV.
void
init(Class)
	SV * Class
	ALIAS:
		Gtk::init_check = 1
	PPCODE:
	{
	int argc;
	char ** argv;
	AV * ARGV;
	SV * ARGV0;
	int i;

	if (pgtk_did_we_init_gtk)
		XSRETURN_UNDEF;
#ifdef PGTK_THREADS

Gtk/xs/Gtk.xs  view on Meta::CPAN

gtk_menu_factory_remove_subfactory(factory, subfactory, path)
	Gtk::MenuFactory	factory
	Gtk::MenuFactory	subfactory
	char *	path

 #OUTPUT: string
void
gtk_menu_factory_find(factory, path)
	Gtk::MenuFactory	factory
	char *	path
	PPCODE:
	{
		GtkMenuPath * p = gtk_menu_factory_find(factory, path);
		if (p) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGtkObjectRef(GTK_OBJECT(p->widget), 0)));
			if (GIMME == G_ARRAY) {
				EXTEND(sp,1);
				PUSHs(sv_2mortal(newSVpv(p->path, 0)));
			}
		}

Gtk/xs/Gtk.xs  view on Meta::CPAN

		gtk_rc_set_default_files(files);
		free(files);
	}

 #DESC: Get a list of the default resource files.
 #OUTPUT: list
 #RETURNS: a list of filenames
void
gtk_rc_get_default_files (Class=0)
	SV * Class
	PPCODE:
	{
		char ** files = gtk_rc_get_default_files();
		int i;
		for (i=0; files && files[i]; ++i) {
			EXTEND(sp, 1);
			XPUSHs(sv_2mortal(newSVpv(files[i], 0)));
		}
	}

 #DESC: Parse again all the resource files loaded by the application and apply

Gtk/xs/Gtk.xs  view on Meta::CPAN

		else
			croak("type '%s' must be an enum or a flag type", type);
	}
	OUTPUT:
	RETVAL

 #DESC: internal: do not use.
void
_PerlTypeFromGtk(gtktype)
	char *	gtktype
	PPCODE:
	{
		char * s;
		if ((s = ptname_for_gtname(gtktype))) {
			XPUSHs (sv_2mortal(newSVpv(s, 0)));
		}
	}

void
_get_packages (Class)
	SV	*Class
	PPCODE:
	{
		GList * p = pgtk_get_packages ();
		GList *tmp = p;

		while (tmp) {
			XPUSHs(sv_2mortal(newSVpv((char*)tmp->data, 0)));
			tmp = tmp->next;
		}
		g_list_free (p);
	}

void
_get_children (Class, basetype)
	SV	*Class
	char	*basetype
	PPCODE:
	{
		GList * p = gtk_type_children_types(gtk_type_from_name(basetype));
		GList * tmp = p;
		while (tmp) {
			XPUSHs(sv_2mortal(newSVpv(gtk_type_name(GPOINTER_TO_UINT(tmp->data)), 0)));
			tmp = tmp->next;
		}
		g_list_free (p);
	}

void
_get_nicknames (Class, type)
	SV	*Class
	char	*type
	PPCODE:
	{
		GtkEnumValue * vals;
		GtkType gtype = gtk_type_from_name(type);

		if (GTK_FUNDAMENTAL_TYPE(gtype) == GTK_TYPE_ENUM)
			vals = gtk_type_enum_get_values(gtype);
		else if (GTK_FUNDAMENTAL_TYPE(gtype) == GTK_TYPE_FLAGS)
			vals = (GtkFlagValue*)gtk_type_flags_get_values(gtype);
		else
			croak("type '%s' must be an enum or a flag type", type);

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #OUTPUT: bool
 #PARAMS: $Class

 # DESC: Initialize the Gtk::Gdk module.
 # Parses the args out of @ARGV.
void
init(Class)
	SV *	Class
	ALIAS:
		Gtk::Gdk::init_check = 1
	PPCODE:
	{
		if (!pgtk_did_we_init_gdk && !pgtk_did_we_init_gtk) {
			int argc;
			char ** argv = 0;
			AV * ARGV = perl_get_av("ARGV", FALSE);
			SV * ARGV0 = perl_get_sv("0", FALSE);
			int i;

			argc = av_len(ARGV)+2;
			if (argc) {

Gtk/xs/Gtk.xs  view on Meta::CPAN

		RETVAL = gdk_event_copy(&e);
	}
	OUTPUT:
	RETVAL

 #DESC: Get the next event from the event queue (may return undef).
 #OUTPUT: Gtk::Gdk::Event
void
event_get(Class=0)
	SV *	Class
	PPCODE:
	{
		GdkEvent * e;
		HV * hash;
		GV * stash;
		int i, dohandle=0;

		if ((e = gdk_event_get())) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkEvent(e)));
		} 

Gtk/xs/Gtk.xs  view on Meta::CPAN

	CODE:
	RETVAL = gdk_keyval_is_lower(keyval);
	OUTPUT:
	RETVAL

 #OUTPUT: Gtk::Gdk::Event
 #DESC: Returns an event from the queue if one is available (may return undef).
void
event_peek(Class=0)
	SV *    Class
	PPCODE:
	{
		GdkEvent * e;
		if ((e = gdk_event_peek())) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkEvent(e)));
		}
	}

guint32
gdk_event_get_time (Class, event)

Gtk/xs/Gtk.xs  view on Meta::CPAN

	RETVAL

 #OUTPUT: integer
 #DESC: Get the pixel value for the given (red, green, blue) tuple.
void
get_pixel(colorc, red, green, blue)
	Gtk::Gdk::ColorContext	colorc
	int	red
	int	green
	int	blue
	PPCODE:
	{
		int failed = 0;
		unsigned long result = gdk_color_context_get_pixel(colorc, red, green, blue, &failed);
		if (!failed) {
			XPUSHs(sv_2mortal(newSViv(result)));
		}
	}

void
free(colorc)

Gtk/xs/Gtk.xs  view on Meta::CPAN

gdk_window_set_back_pixmap(window, pixmap, parent_relative)
	Gtk::Gdk::Window	window
	Gtk::Gdk::Pixmap	pixmap
	int	parent_relative

 #DESC: Get info about the geometry of the window.
 #RETURNS: a list with the (x, y) coordinates, width, height and depth.
void
gdk_window_get_geometry(window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		int x,y,width,height,depth;
		gdk_window_get_geometry(window,&x,&y,&width,&height,&depth);
		if (GIMME != G_ARRAY)
			croak("must accept array");
		EXTEND(sp,5);
		PUSHs(sv_2mortal(newSViv(x)));
		PUSHs(sv_2mortal(newSViv(y)));
		PUSHs(sv_2mortal(newSViv(width)));
		PUSHs(sv_2mortal(newSViv(height)));
		PUSHs(sv_2mortal(newSViv(depth)));
	}

 #DESC: Get the position of the window. This function croaks if not called in list context.
 #RETURNS: a list with the (x, y) coordinates.
void
gdk_window_get_position(window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		int x,y;
		gdk_window_get_position(window,&x,&y);
		if (GIMME != G_ARRAY)
			croak("must accept array");
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(x)));
		PUSHs(sv_2mortal(newSViv(y)));
	}

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #DESC: Get the colormap of the window.
Gtk::Gdk::Colormap
gdk_window_get_colormap(window)
	Gtk::Gdk::Window	window

 #OUTPUT: list
 #RETURNS: the x and y position
void
gdk_window_get_origin(window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		int x,y;
		gdk_window_get_origin(window,&x,&y);
		if (GIMME != G_ARRAY)
			croak("must accept array");
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(x)));
		PUSHs(sv_2mortal(newSViv(y)));
	}

 #DESC: Get information about the pointer position in window. This function croaks if not 
 #called in list context.
 #RETURNS: a list with the x and y position of the pointer relative to window, the actual
 #window the pointer is in and the state of the keyboard modifiers.
void
gdk_window_get_pointer(window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		int x,y;
		GdkModifierType mask;
		GdkWindow * w;
		w = gdk_window_get_pointer(window,&x,&y,&mask);
		if (GIMME != G_ARRAY)
			croak("must accept array");
		EXTEND(sp,4);
		PUSHs(sv_2mortal(newSViv(x)));
		PUSHs(sv_2mortal(newSViv(y)));

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #DESC: Get the toplevel window.
Gtk::Gdk::Window
gdk_window_get_toplevel(window)
	Gtk::Gdk::Window	window

 #DESC: Get the children of window.
 #RETURNS: a list with the windows that are children of window.
void
gdk_window_get_children(window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		GList * l = gdk_window_get_children(window);
		while(l) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkWindow((GdkWindow*)l->data)));
			l=l->next;
		}
	}

 #DESC: Get the event mask for window.

Gtk/xs/Gtk.xs  view on Meta::CPAN


#if GTK_HVER >= 0x010200

 #DESC: Get the window at the current pointer coordinates.
 #OUTPUT: list
 #RETURNS: a list with the window and the (x, y) coordinates of the
 #pointer inside the window.
void
gdk_window_at_pointer (Class=0)
	SV *	Class
	PPCODE:
	{
		gint wx, wy;
		GdkWindow * win = gdk_window_at_pointer(&wx, &wy);
		if (win) {
			XPUSHs(sv_2mortal(newSVGdkWindow(win)));
			XPUSHs(sv_2mortal(newSViv(wx)));
			XPUSHs(sv_2mortal(newSViv(wy)));
		}
	}

 #OUTPUT: list
 #RETURNS: the x and y position.
void
gdk_window_get_deskrelative_origin (window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		gint wx, wy;
		gboolean res = gdk_window_get_deskrelative_origin(window, &wx, &wy);
		if (res) {
			XPUSHs(sv_2mortal(newSViv(wx)));
			XPUSHs(sv_2mortal(newSViv(wy)));
		}
	}

 #OUTPUT: list
 #RETURNS: the x and y position.
void
gdk_window_get_root_origin (window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		gint wx, wy;
		gdk_window_get_root_origin(window, &wx, &wy);
		XPUSHs(sv_2mortal(newSViv(wx)));
		XPUSHs(sv_2mortal(newSViv(wy)));
	}

 #DESC: Get info about the window visibility.
gboolean
gdk_window_is_visible (window)

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #OUTPUT: list
 #RETURNS: the data, the type (a Gtk::Gdk::Atom) and the format (integer)
void
gdk_property_get(window, property, type, offset, length, pdelete)
	Gtk::Gdk::Window	window
	Gtk::Gdk::Atom	property
	Gtk::Gdk::Atom	type
	int	offset
	int	length
	int	pdelete
	PPCODE:
	{
		guchar * data;
		GdkAtom actual_type;
		int actual_format, actual_length;
		int result = gdk_property_get(window, property, type, offset, length, pdelete, &actual_type, &actual_format, &actual_length, &data);
		if (result) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVpv(data, actual_length)));
			if (GIMME == G_ARRAY) {
				EXTEND(sp,2);

Gtk/xs/Gtk.xs  view on Meta::CPAN

	Gtk::Gdk::Window_OrNULL	window
	Gtk::Gdk::Atom	selection
	guint32	time
	gint	send_event

 #DESC: Get the value and type of the selection property.
 #RETURNS: the data (or undef), a Gtk::Gdk::Atom for the type and the format.
void
gdk_selection_property_get (window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		guchar *data;
		GdkAtom prop_type;
		int prop_format, result;
		result = gdk_selection_property_get(window, &data, &prop_type, &prop_format);
		if (result)
			XPUSHs(sv_2mortal(newSVpv(data, result)));
		else
			XPUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));
		XPUSHs(sv_2mortal(newSVGdkAtom(prop_type)));

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #DESC: Get the type of the drawable.
Gtk::Gdk::WindowType
gdk_window_get_type(window)
	Gtk::Gdk::Window	window

 #DESC: Get the size of the drawable. This function croaks if not called in list context.
 #RETURNS: width and height
void
gdk_window_get_size(window)
	Gtk::Gdk::Window	window
	PPCODE:
	{
		int width,height;
		gdk_window_get_size(window,&width,&height);
		if (GIMME != G_ARRAY)
			croak("must accept array");
		EXTEND(sp,2);
		/* FIXME: reverse.... */
		PUSHs(sv_2mortal(newSViv(height)));
		PUSHs(sv_2mortal(newSViv(width)));
	}

Gtk/xs/Gtk.xs  view on Meta::CPAN

#endif

MODULE = Gtk		PACKAGE = Gtk::Gdk::Colormap	PREFIX = gdk_

 #DESC: Allocate $color in $colormap.
 #RETURNS: a new color if successfull ($color->pixel is valid).
void
gdk_color_alloc(colormap, color)
	Gtk::Gdk::Colormap	colormap
	Gtk::Gdk::Color	color
	PPCODE:
	{
		GdkColor col = *color;
		int result = gdk_color_alloc(colormap, &col);
		if (result)
			XPUSHs(sv_2mortal(newSVGdkColor(&col)));
	}

void
gdk_color_change(colormap, color)
	Gtk::Gdk::Colormap	colormap
	Gtk::Gdk::Color	color

 #DESC: Get the white color from $colormap.
 #RETURNS: the white color if successfull.
void
gdk_color_white(colormap)
	Gtk::Gdk::Colormap	colormap
	PPCODE:
	{
		GdkColor col;
		int result = gdk_color_white(colormap, &col);
		if (result)
			XPUSHs(sv_2mortal(newSVGdkColor(&col)));
	}

 #DESC: Get the black color from $colormap.
 #RETURNS: the black color if successfull.
void
gdk_color_black(colormap)
	Gtk::Gdk::Colormap	colormap
	PPCODE:
	{
		GdkColor col;
		int result = gdk_color_black(colormap, &col);
		if (result)
			XPUSHs(sv_2mortal(newSVGdkColor(&col)));
	}


MODULE = Gtk		PACKAGE = Gtk::Gdk::Color		PREFIX = gdk_color_

Gtk/xs/Gtk.xs  view on Meta::CPAN

	color
	RETVAL

 #DESC: Query the red, green and blue components of the named color.
 #OUTPUT: Gtk::Gdk::Color
 #CONSTRUCTOR: yes
void
parse_color(Class, name)
	SV*	Class
	char *	name
	PPCODE:
	{
		GdkColor col;
		int result = gdk_color_parse(name, &col);
		if (result)
			XPUSHs(sv_2mortal(newSVGdkColor(&col)));
	}

 #DESC: Find out if two colors are equal.
int
gdk_color_equal(colora, colorb)

Gtk/xs/Gtk.xs  view on Meta::CPAN


 #DESC: Create a pixmap from $filename.
 #RETURNS: if successfull a list with the pixmap and the mask.
 #OUTPUT: list
void
create_from_xpm(Class, window, transparent_color, filename)
	SV *	Class
	Gtk::Gdk::Window	window
	Gtk::Gdk::Color	transparent_color
	char *	filename
	PPCODE:
	{
		GdkPixmap * result = 0;
		GdkBitmap * mask = 0;
		result = gdk_pixmap_create_from_xpm(window, (GIMME == G_ARRAY) ? &mask : 0,
			transparent_color, filename); 
		if (result) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkPixmap(result)));
		}
		if (mask) {

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #DESC: Create a pixmap from the XPM formatted data. The data is a list of
 #strings each of which has a line of data.
 #RETURNS: if successfull a list with the pixmap and the mask.
 #OUTPUT: list
void
create_from_xpm_d(Class, window, transparent_color, data, ...)
	SV *	Class
	Gtk::Gdk::Window	window
	Gtk::Gdk::Color_OrNULL	transparent_color
	SV *	data
	PPCODE:
	{
		GdkPixmap * result = 0;
		GdkBitmap * mask = 0;
		char ** lines = (char**)malloc(sizeof(char*)*(items-3));
		int i;
		for(i=3;i<items;i++)
			lines[i-3] = SvPV(ST(i),PL_na);
		result = gdk_pixmap_create_from_xpm_d(window, (GIMME == G_ARRAY) ? &mask : 0,
			transparent_color, lines); 
		free(lines);

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #but not both.
 #RETURNS: if successfull a list with the pixmap and the mask.
 #OUTPUT: list
void
gdk_pixmap_colormap_create_from_xpm (Class, window, colormap, transparent_color, filename)
	SV *	Class
	Gtk::Gdk::Window_OrNULL	window
	Gtk::Gdk::Colormap_OrNULL	colormap
	Gtk::Gdk::Color_OrNULL	transparent_color
	char *	filename
	PPCODE:
	{
		GdkPixmap * result = 0;
		GdkBitmap * mask = 0;
		result = gdk_pixmap_colormap_create_from_xpm(window, colormap, (GIMME == G_ARRAY) ? &mask : 0,
			transparent_color, filename); 
		if (result) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkPixmap(result)));
		}
		if (mask) {

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #but not both.
 #RETURNS: if successfull a list with the pixmap and the mask.
 #OUTPUT: list
void
gdk_pixmap_colormap_create_from_xpm_d(Class, window, colormap, transparent_color, data, ...)
	SV *	Class
	Gtk::Gdk::Window_OrNULL	window
	Gtk::Gdk::Colormap_OrNULL	colormap
	Gtk::Gdk::Color_OrNULL	transparent_color
	SV *	data
	PPCODE:
	{
		GdkPixmap * result = 0;
		GdkBitmap * mask = 0;
		char ** lines = (char**)malloc(sizeof(char*)*(items-4));
		int i;
		for(i=4;i<items;i++)
			lines[i-4] = SvPV(ST(i),PL_na);
		result = gdk_pixmap_colormap_create_from_xpm_d(window, colormap, (GIMME == G_ARRAY) ? &mask : 0,
			transparent_color, lines); 
		free(lines);

Gtk/xs/Gtk.xs  view on Meta::CPAN

				RETVAL = gdk_visual_get_best();
	}
	OUTPUT:
	RETVAL

 #OUTPUT: list
 #RETURNS: the list of depths
void
depths(Class=0)
	SV *	Class
	PPCODE:
	{
		gint *depths;
		gint count;
		int i;
		gdk_query_depths(&depths, &count);
		for(i=0;i<count;i++) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSViv(depths[i])));
		}
	}

 #OUTPUT: list
 #RETURNS: the list of visual types (Gtk::Gdk::VisualType)
void
visual_types(Class=0)
	SV *	Class
	PPCODE:
	{
		GdkVisualType *types;
		gint count;
		int i;
		gdk_query_visual_types(&types, &count);
		for(i=0;i<count;i++) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkVisualType(types[i])));
		}
	}

 #OUTPUT: list
 #RETURNS: the list of visuals (Gtk::Gdk::Visual)
void
visuals(Class=0)
	SV *	Class
	PPCODE:
	{
		GList *list, *tmp;
		list = gdk_list_visuals();
		tmp = list;
		while (tmp) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkVisual((GdkVisual*)tmp->data)));
			tmp = tmp->next;
		}
		g_list_free(list);

Gtk/xs/Gtk.xs  view on Meta::CPAN

 #RETURNS: the data, the type (a Gtk::Gdk::Atom) and the format (integer)
void
gdk_property_get(Class, window, property, type, offset, length, pdelete)
	SV *	Class
	Gtk::Gdk::Window	window
	Gtk::Gdk::Atom	property
	Gtk::Gdk::Atom	type
	int	offset
	int	length
	int	pdelete
	PPCODE:
	{
		guchar * data;
		GdkAtom actual_type;
		int actual_format, actual_length;
		int result = gdk_property_get(window, property, type, offset, length, pdelete, &actual_type, &actual_format, &actual_length, &data);
		if (result) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVpv(data, actual_length)));
			if (GIMME == G_ARRAY) {
				EXTEND(sp,2);

Gtk/xs/Gtk.xs  view on Meta::CPAN

	RETVAL

MODULE = Gtk		PACKAGE = Gtk::Gdk::Rectangle	PREFIX = gdk_rectangle_

 #OUTPUT: Gtk::Gdk::Rectangle
void
gdk_rectangle_intersect(Class, src1, src2)
	SV *	Class
	Gtk::Gdk::Rectangle	src1
	Gtk::Gdk::Rectangle	src2
	PPCODE:
	{
		GdkRectangle dest;
		int result = gdk_rectangle_intersect(src1,src2,&dest);
		if (result) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVGdkRectangle(&dest)));
		}
	}

 #OUTPUT: Gtk::Gdk::Rectangle
void
gdk_rectangle_union(Class, src1, src2)
	SV *    Class
	Gtk::Gdk::Rectangle     src1
	Gtk::Gdk::Rectangle     src2
	PPCODE:
	{
		GdkRectangle dest;
		gdk_rectangle_union(src1,src2,&dest);
		EXTEND(sp,1);
		PUSHs(sv_2mortal(newSVGdkRectangle(&dest)));
	}

MODULE = Gtk		PACKAGE = Gtk::Gdk::Font	PREFIX = gdk_

 #DESC: Get the width of $string.

Gtk/xs/Gtk.xs  view on Meta::CPAN


 #DESC: Get infromation about $text's extents.
 #RETURNS: a list with lbearing, rbearing, width, ascent and descent.
void
gdk_string_extents(font, text, len=0)
	Gtk::Gdk::Font	font
	SV *	text
	int	len
	ALIAS:
		Gtk::Gdk::Font::text_extents = 1
	PPCODE:
	{
		gint lbearing, rbearing, width, ascent, descent;
		STRLEN tlen;
		char * t = SvPV(text, tlen);
		gdk_text_extents(font, t, ix==1?len:tlen, &lbearing, &rbearing, &width, &ascent, &descent);
		EXTEND(sp, 5);
		XPUSHs(sv_2mortal(newSViv(lbearing)));
		XPUSHs(sv_2mortal(newSViv(rbearing)));
		XPUSHs(sv_2mortal(newSViv(width)));
		XPUSHs(sv_2mortal(newSViv(ascent)));

Gtk/xs/GtkAccelGroup.xs  view on Meta::CPAN

	Gtk::Gdk::ModifierType	modifiers
	CODE:
	RETVAL = gtk_accelerator_valid(keyval, modifiers);
	OUTPUT:
	RETVAL

void
gtk_accelerator_parse(Class, accelerator)
	SV	*Class
	char	*accelerator
	PPCODE:
	{
		unsigned int accel_key;
		GdkModifierType accel_mods=0;
		gtk_accelerator_parse(accelerator, &accel_key, &accel_mods);
		/* FIXME: GIMME */
		EXTEND(sp, 2);
		PUSHs(sv_2mortal(newSViv(accel_key)));
		PUSHs(sv_2mortal(newSVGdkModifierType(accel_mods)));
	}

Gtk/xs/GtkBox.xs  view on Meta::CPAN

	Gtk::Widget child
	int pos

void
gtk_box_query_child_packing (box, child)
	Gtk::Box    box
	Gtk::Widget child
	PREINIT:
	int expand, fill, padding;
	GtkPackType pack_type;
	PPCODE:
		gtk_box_query_child_packing (box, child, &expand, &fill, &padding, &pack_type);
		EXTEND(sp,4);
		PUSHs(sv_2mortal(newSViv(expand)));
		PUSHs(sv_2mortal(newSViv(fill)));
		PUSHs(sv_2mortal(newSViv(padding)));
		PUSHs(sv_2mortal(newSViv(pack_type)));
		

void
gtk_box_set_child_packing (box, child, expand, fill, padding, pack_type)
	Gtk::Box    box
	Gtk::Widget child
	int expand
	int fill
	int padding
	Gtk::PackType pack_type

void
children(box)
	Gtk::Box	box
	PPCODE:
	{
		GList * list;
		if (GIMME != G_ARRAY) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSViv(g_list_length(box->children))));
		} else {
			for(list = box->children; list; list = list->next) {
				EXTEND(sp, 1);
				PUSHs(sv_2mortal(newSVGtkBoxChild((GtkBoxChild*)list->data)));
			}

Gtk/xs/GtkButtonBox.xs  view on Meta::CPAN

gtk_button_box_set_child_size_default(Class, min_width, min_height)
	SV *	Class
	int	min_width
	int	min_height
	CODE:
	gtk_button_box_set_child_size_default(min_width, min_height);

void
gtk_button_box_get_child_size_default (Class)
	SV *    Class
	PPCODE:
	{
		int min_width, min_height;
		gtk_button_box_get_child_size_default(&min_width, &min_height);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(min_width)));
		PUSHs(sv_2mortal(newSViv(min_height)));
	}

void
gtk_button_box_get_child_size(buttonbox)
	Gtk::ButtonBox   buttonbox
	PPCODE:
	{
		int min_width, min_height;
		gtk_button_box_get_child_size(buttonbox, &min_width, &min_height);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(min_width)));
		PUSHs(sv_2mortal(newSViv(min_height)));
	}

void
gtk_button_box_set_child_ipadding(buttonbox, ipad_x, ipad_y)

Gtk/xs/GtkButtonBox.xs  view on Meta::CPAN

gtk_button_box_set_child_ipadding_default(Class, ipad_x, ipad_y)
	Gtk::ButtonBox	Class
	int	ipad_x
	int	ipad_y
	CODE:
	gtk_button_box_set_child_ipadding_default(ipad_x, ipad_y);

void
gtk_button_box_get_child_ipadding_default (Class)
	SV *    Class
	PPCODE:
	{
		int ipad_x, ipad_y;
		gtk_button_box_get_child_ipadding_default(&ipad_x, &ipad_y);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(ipad_x)));
		PUSHs(sv_2mortal(newSViv(ipad_y)));
	}

void
gtk_button_box_get_child_ipadding(buttonbox)
	Gtk::ButtonBox    buttonbox
	PPCODE:
	{
		int ipad_x, ipad_y;
		gtk_button_box_get_child_ipadding(buttonbox, &ipad_x, &ipad_y);
		EXTEND(sp,2);
		PUSHs(sv_2mortal(newSViv(ipad_x)));
		PUSHs(sv_2mortal(newSViv(ipad_y)));
	}


#endif

Gtk/xs/GtkCList.xs  view on Meta::CPAN

	int			row
	int			column
	Gtk::Gdk::Pixmap	pixmap
	Gtk::Gdk::Bitmap_OrNULL	mask

void
gtk_clist_get_pixmap (clist, row, column)
	Gtk::CList	clist
	int		row
	int		column
	PPCODE:
	{
		GdkPixmap * pixmap = NULL;
		GdkBitmap * bitmap = NULL;
		int result;
		result = gtk_clist_get_pixmap(clist, row, column, &pixmap, (GIMME == G_ARRAY) ?&bitmap: NULL);
		if ( result ) {
			if ( pixmap ) {
				EXTEND(sp, 1);
				PUSHs(sv_2mortal(newSVGdkPixmap(pixmap)));
			}

Gtk/xs/GtkCList.xs  view on Meta::CPAN

	char*	text
	int		spacing
	Gtk::Gdk::Pixmap	pixmap
	Gtk::Gdk::Bitmap_OrNULL	mask

void
gtk_clist_get_pixtext (clist, row, column)
	Gtk::CList  clist
	int		row
	int		column
	PPCODE:
	{
		gchar* text = NULL;
		guint8 spacing;
		GdkPixmap * pixmap = NULL;
		GdkBitmap * bitmap = NULL;
		int result;
		/* FIXME: require GIMME == G_ARRAY? */
		result = gtk_clist_get_pixtext(clist, row, column, &text, &spacing, &pixmap, &bitmap);
		if ( result ) {
			EXTEND(sp, 4);

Gtk/xs/GtkCList.xs  view on Meta::CPAN

gtk_clist_unselect_row(clist, row, column)
	Gtk::CList  clist
	int		row
	int		column

void
gtk_clist_get_selection_info (clist, x, y)
	Gtk::CList  clist
	int x
	int y
   	PPCODE:
	{
		int row, column;
		if (gtk_clist_get_selection_info (clist, x, y, &row, &column)) {
			EXTEND(sp, 2);
			PUSHs(sv_2mortal(newSViv(row)));
			PUSHs(sv_2mortal(newSViv(column)));
		}
	}

Gtk::Gdk::Window

Gtk/xs/GtkCList.xs  view on Meta::CPAN

	Gtk::CList	clist
	CODE:
	RETVAL=clist->selection_mode;
	OUTPUT:
	RETVAL

 #RETURNS: a list of the row numbers of the current selection
void
selection (clist)
	Gtk::CList      clist
	PPCODE:
	{
		GList * selection = clist->selection;
		while(selection) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVgint(GPOINTER_TO_INT(selection->data))));
			selection=g_list_next(selection);
		}
	}

 #RETURNS: a list of Gtk::CListRow
void
row_list (clist)
	Gtk::CList	clist
	PPCODE:
	{
		GList * row_list = clist->row_list;
		while(row_list) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCListRow(row_list->data)));
			row_list=g_list_next(row_list);
		}

	}

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

 #OUTPUT: list
 #RETURNS: the pixmap and the bitmap at the specified column
void
gtk_ctree_node_get_pixmap (ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column
	ALIAS:
		Gtk::CTree::node_get_pixmap = 0
		Gtk::CTree::get_pixmap = 1
	PPCODE:
	{
		GdkPixmap * pixmap = NULL;
		GdkBitmap * bitmap = NULL;
		int result;
		result = gtk_ctree_node_get_pixmap(ctree, node, column, &pixmap, (GIMME == G_ARRAY) ?&bitmap: NULL);
		if ( result ) {
			if ( pixmap ) {
				EXTEND(sp, 1);
				PUSHs(sv_2mortal(newSVGdkPixmap(pixmap)));
			}

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

 #OUTPUT: list
 #RETURNS: ($text, $spacing, $pixmap, $bitmap)
void
gtk_ctree_node_get_pixtext (ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column
	ALIAS:
		Gtk::CTree::node_get_pixtext = 0
		Gtk::CTree::get_pixtext = 1
	PPCODE:
	{
		gchar* text = NULL;
		guint8 spacing;
		GdkPixmap * pixmap = NULL;
		GdkBitmap * bitmap = NULL;
		int result;
		/* FIXME: require GIMME == G_ARRAY? */
		result = gtk_ctree_node_get_pixtext(ctree, node, column, &text, &spacing, &pixmap, &bitmap);
		if ( result ) {
			EXTEND(sp, 4);

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

	Gtk::Gdk::Bitmap_OrNULL	mask_opened
	gboolean	is_leaf
	gboolean	expanded

 #OUTPUT: list
 #RETURNS: ($text, $spacing, $openpix, $openbitmap, $closedpix, $closedbitmap, $isleaf, $expanded)
void
gtk_ctree_get_node_info (ctree, node)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	PPCODE:
	{
		char * text;
		guint8 spacing;
		GdkPixmap *pc = NULL, * po=NULL;
		GdkBitmap *bc=NULL, *bo=NULL;
		gboolean is_leaf, expanded;

		if (gtk_ctree_get_node_info(ctree, node, &text, &spacing, &pc, &bc, &po, &bo, &is_leaf, &expanded)) {
			EXTEND(sp, 8);
			PUSHs(sv_2mortal(newSVpv(text, 0)));

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

gtk_ctree_is_hot_spot (ctree, x, y)
	Gtk::CTree	ctree
	int	x
	int	y

 #OUTPUT: list
 #RETURNS: list of Gtk::CTreeNode
void
selection (ctree)
	Gtk::CTree	ctree
	PPCODE:
	{
		GList * selection = GTK_CLIST(ctree)->selection;
		while(selection) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeNode(GTK_CTREE_NODE(selection->data))));
			selection=selection->next;
		}
	}

int

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

	CODE:
	RETVAL = g_list_position(GTK_CLIST(ctree)->row_list, (GList*)node);
	OUTPUT:
	RETVAL

 #OUTPUT: list
 #RETURNS: list of Gtk::CTreeRow
void
row_list (ctree)
	Gtk::CTree	ctree
	PPCODE:
	{
		GList * row_list = GTK_CLIST(ctree)->row_list;
		while(row_list) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeRow(row_list->data)));
			row_list=row_list->next;
		}

	}

#endif

MODULE = Gtk::CTree		PACKAGE = Gtk::CTreeNode		PREFIX = gtk_ctree_node_

#ifdef GTK_CTREE

 #OUTPUT: Gtk::CTreeRow
void
row(ctree_node)
	Gtk::CTreeNode	ctree_node
	PPCODE:
	{
		if (ctree_node) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeRow(GTK_CTREE_ROW(ctree_node))));
		}
	}

 #OUTPUT: Gtk::CTreeNode
void
next(ctree_node)
	Gtk::CTreeNode	ctree_node
	PPCODE:
	{
		if (ctree_node) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeNode(GTK_CTREE_NODE_NEXT(ctree_node))));
		}
	}

 #OUTPUT: Gtk::CTreeNode
void
prev(ctree_node)
	Gtk::CTreeNode	ctree_node
	PPCODE:
	{
		if (ctree_node) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeNode(GTK_CTREE_NODE_PREV(ctree_node))));
		}
	}

#endif

Gtk/xs/GtkCalendar.xs  view on Meta::CPAN

	Gtk::Calendar	calendar

void
gtk_calendar_display_options (calendar, flags)
	Gtk::Calendar	calendar
	Gtk::CalendarDisplayOptions	flags

void
gtk_calendar_get_date (calendar)
	Gtk::Calendar	calendar
	PPCODE:
	{
		guint year, month, day;
		gtk_calendar_get_date(calendar, &year, &month, &day);
		XPUSHs(sv_2mortal(newSViv(year)));
		XPUSHs(sv_2mortal(newSViv(month)));
		XPUSHs(sv_2mortal(newSViv(day)));
	}

void
gtk_calendar_freeze (calendar)

Gtk/xs/GtkColorSelection.xs  view on Meta::CPAN

		c[0] = red;
		c[1] = green;
		c[2] = blue;
		c[3] = opacity;
		gtk_color_selection_set_color(color_selection, c);
	}

void
get_color(color_selection)
	Gtk::ColorSelection	color_selection
	PPCODE:
	{
		double c[4];
		gtk_color_selection_get_color(color_selection, c);
		EXTEND(sp,3);
		PUSHs(sv_2mortal(newSVnv(c[0])));
		PUSHs(sv_2mortal(newSVnv(c[1])));
		PUSHs(sv_2mortal(newSVnv(c[2])));
		if (color_selection->use_opacity) {
			EXTEND(sp,1);
			PUSHs(sv_2mortal(newSVnv(c[3])));

Gtk/xs/GtkContainer.xs  view on Meta::CPAN


 #ARG: $handler subroutine (a subroutine that will get each children of the container)
 #ARG: ... list (additional arguments for $handler)
void
foreach(container, handler, ...)
	Gtk::Container	container
	SV *	handler
	ALIAS:
		Gtk::Container::foreach = 0
		Gtk::Container::forall = 1
	PPCODE:
	{
		AV * args;
		SV * arg;
		int i;
		int type;
		args = newAV();
		
		av_push(args, newRV_inc(SvRV(ST(0))));
		PackCallbackST(args, 1);

Gtk/xs/GtkContainer.xs  view on Meta::CPAN

			gtk_container_foreach(container, foreach_container_handler, args);
		else
			gtk_container_forall(container, foreach_container_handler, args);
		
		SvREFCNT_dec(args);
	}

void
children(container)
	Gtk::Container	container
	PPCODE:
	{
		GList * c = gtk_container_children(container);
		GList * start = c;
		while(c) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkObjectRef(GTK_OBJECT((GtkWidget*)c->data), 0)));
			c = c->next;
		}
		if (start)
			g_list_free(start);

Gtk/xs/GtkContainer.xs  view on Meta::CPAN

gtk_container_queue_resize (container)
	Gtk::Container	container

void
gtk_container_clear_resize_widgets (container)
	Gtk::Container	container

void
gtk_container_get_toplevels (Class)
	SV *	Class
	PPCODE:
	{
		GList * tmp = gtk_container_get_toplevels ();
		while (tmp) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkObjectRef(GTK_OBJECT(tmp->data), 0)));
			tmp = tmp->next;
		}
	}

#endif

Gtk/xs/GtkCurve.xs  view on Meta::CPAN

		for(i=1;i<items;i++)
			vec[i-1] = SvNV(ST(i));
		gtk_curve_set_vector(curve, items-1, vec);
		free(vec);
	}

void
get_vector(curve, points=32)
	Gtk::Curve	curve
	int	points
	PPCODE:
	{
		gfloat * vec;
		int i;
		if (points<=0)
			croak("points must be positive integer");
		vec = malloc(points * sizeof(gfloat));
		gtk_curve_get_vector(curve, points, vec);
		EXTEND(sp, points);
		for(i=0;i<points;i++)
			PUSHs(sv_2mortal(newSVnv(vec[i])));



( run in 1.535 second using v1.01-cache-2.11-cpan-5511b514fd6 )