Gtk-Perl

 view release on metacpan or  search on metacpan

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

		if ( argc % 2 )
			croak("too few arguments");
		
		obj = GTK_OBJECT(item);
		argv = malloc(sizeof(GtkArg)*argc);

		i=0;
		for(p=1; p<items;++i) {
			/* g_warning("SETTING: %s -> %s\n", SvPV(ST(p), PL_na), SvPV(ST(p+1),PL_na)); */
			FindArgumentTypeWithObject(obj, ST(p), &argv[i]);
			GtkSetArg(&argv[i], ST(p+1), ST(0), obj);
			p += 2;
		}
		gnome_canvas_item_setv(item, i, argv);
		
		for(p=0;p<i;p++)
			GtkFreeArg(&argv[i]);
		
		free(argv);
	}

#endif

void
gnome_canvas_item_move(item, dx, dy)
	Gnome::CanvasItem	item
	double	dx
	double	dy

#if GNOME_HVER >= 0x010200

void
gnome_canvas_item_affine_relative (item, aff0, aff1, aff2, aff3, aff4, aff5)
	Gnome::CanvasItem	item
	double	aff0
	double	aff1
	double	aff2
	double	aff3
	double	aff4
	double	aff5
	ALIAS:
		Gnome::CanvasItem::affine_relative = 0
		Gnome::CanvasItem::affine_absolute = 1
	CODE:
	{
		double affine[6];
		affine[0] = aff0; affine[1] = aff1; affine[2] = aff2;
		affine[3] = aff3; affine[4] = aff4; affine[5] = aff5;
		if (ix == 0)
			gnome_canvas_item_affine_relative(item, affine);
		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])));
	}

#if 0

void
gnome_canvas_item_scale (item, x, y, scale_x, scale_y)
	Gnome::CanvasItem	item
	double	x
	double	y
	double	scale_x
	double	scale_y

void
gnome_canvas_item_rotate (item, x, y, angle)
	Gnome::CanvasItem	item
	double	x
	double	y
	double	angle

#endif

#endif

void
gnome_canvas_item_raise(item, positions)
	Gnome::CanvasItem	item
	int	positions
	ALIAS:
		Gnome::CanvasItem::raise = 0
		Gnome::CanvasItem::lower = 1
	CODE:
	if (ix == 0)
		gnome_canvas_item_raise(item, positions);
	else if (ix == 1)
		gnome_canvas_item_lower(item, positions);

void
gnome_canvas_item_raise_to_top(item)
	Gnome::CanvasItem	item
	ALIAS:
		Gnome::CanvasItem::raise_to_top = 0
		Gnome::CanvasItem::lower_to_bottom = 1
		Gnome::CanvasItem::show = 2
		Gnome::CanvasItem::hide = 3
		Gnome::CanvasItem::grab_focus = 4
		Gnome::CanvasItem::request_update = 5
	CODE:
	switch (ix) {
	case 0: gnome_canvas_item_raise_to_top(item); break;
	case 1: gnome_canvas_item_lower_to_bottom(item); break;
	case 2: gnome_canvas_item_show(item); break;
	case 3: gnome_canvas_item_hide(item); break;
	case 4: gnome_canvas_item_grab_focus(item); break;
	case 5: gnome_canvas_item_request_update(item); break;
	}

int
gnome_canvas_item_grab(item, event_mask, cursor, time)
	Gnome::CanvasItem	item
	Gtk::Gdk::EventMask	event_mask
	Gtk::Gdk::Cursor	cursor
	int		time

void
gnome_canvas_item_ungrab(item, time)
	Gnome::CanvasItem	item
	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)));
	}

BOOT:
	AddTypeHelper(&type_help);



#endif



( run in 1.712 second using v1.01-cache-2.11-cpan-140bd7fdf52 )