Goo-Canvas
view release on metacpan or search on metacpan
xs/goocanvasitemmodel.xs view on Meta::CPAN
gboolean
goo_canvas_item_model_is_container(model)
GooCanvasItemModel *model
gint
goo_canvas_item_model_get_n_children(model)
GooCanvasItemModel *model
GooCanvasItemModel*
goo_canvas_item_model_get_child(model, child_num)
GooCanvasItemModel *model
gint child_num
void
goo_canvas_item_model_add_child(model, child, position)
GooCanvasItemModel *model
GooCanvasItemModel *child
gint position
void
goo_canvas_item_model_move_child(model, old_position, new_position)
GooCanvasItemModel *model
gint old_position
gint new_position
void
goo_canvas_item_model_remove_child(model, child_num)
GooCanvasItemModel *model
gint child_num
gint
goo_canvas_item_model_find_child(model, child)
GooCanvasItemModel *model
GooCanvasItemModel *child
void
goo_canvas_item_model_raise(item, ...)
GooCanvasItemModel *item
CODE:
if ( items == 1 )
goo_canvas_item_model_raise(item, NULL);
else
goo_canvas_item_model_raise(item, SvGooCanvasItemModel (ST(1)));
void
goo_canvas_item_model_lower(item, ...)
GooCanvasItemModel *item
CODE:
if ( items == 1 )
goo_canvas_item_model_lower(item, NULL);
else
goo_canvas_item_model_lower(item, SvGooCanvasItemModel (ST(1)));
void
goo_canvas_item_model_get_transform(item)
GooCanvasItemModel *item
PREINIT:
gboolean ret;
cairo_matrix_t *transform;
PPCODE:
ret = goo_canvas_item_model_get_transform(item, transform);
if ( ret ) {
ST(0) = newSVCairoMatrix (transform);
sv_2mortal(ST(0));
}
else {
XSRETURN_UNDEF;
}
void
goo_canvas_item_model_set_transform(model, matrix)
GooCanvasItemModel *model
cairo_matrix_t *matrix
void
goo_canvas_item_model_set_simple_transform(model, x, y, scale, rotation)
GooCanvasItemModel *model
gdouble x
gdouble y
gdouble scale
gdouble rotation
void
goo_canvas_item_model_translate(model, tx, ty)
GooCanvasItemModel *model
gdouble tx
gdouble ty
void
goo_canvas_item_model_scale(model, sx, sy)
GooCanvasItemModel *model
gdouble sx
gdouble sy
void
goo_canvas_item_model_rotate(model, degrees, cx, cy)
GooCanvasItemModel *model
gdouble degrees
gdouble cx
gdouble cy
void
goo_canvas_item_model_skew_x(model, degrees, cx, cy)
GooCanvasItemModel *model
gdouble degrees
gdouble cx
gdouble cy
void
goo_canvas_item_model_skew_y(model, degrees, cx, cy)
GooCanvasItemModel *model
gdouble degrees
gdouble cx
gdouble cy
GooCanvasStyle*
goo_canvas_item_model_get_style(model)
GooCanvasItemModel *model
void
xs/goocanvasitemmodel.xs view on Meta::CPAN
} else if ( G_IS_PARAM_SPEC_CHAR(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_char(&value), NULL);
} else if ( G_IS_PARAM_SPEC_UCHAR(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_uchar(&value), NULL);
} else if ( G_IS_PARAM_SPEC_INT(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_int(&value), NULL);
} else if ( G_IS_PARAM_SPEC_UINT(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_uint(&value), NULL);
} else if ( G_IS_PARAM_SPEC_LONG(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_long(&value), NULL);
} else if ( G_IS_PARAM_SPEC_ULONG(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_ulong(&value), NULL);
} else if ( G_IS_PARAM_SPEC_INT64(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_int64(&value), NULL);
} else if ( G_IS_PARAM_SPEC_UINT64(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_uint64(&value), NULL);
} else if ( G_IS_PARAM_SPEC_FLOAT(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_float(&value), NULL);
} else if ( G_IS_PARAM_SPEC_DOUBLE(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_double(&value), NULL);
} else if ( G_IS_PARAM_SPEC_ENUM(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_enum(&value), NULL);
} else if ( G_IS_PARAM_SPEC_FLAGS(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_flags(&value), NULL);
} else if ( G_IS_PARAM_SPEC_STRING(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_string(&value), NULL);
} else if ( G_IS_PARAM_SPEC_PARAM(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_param(&value), NULL);
} else if ( G_IS_PARAM_SPEC_BOXED(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_boxed(&value), NULL);
} else if ( G_IS_PARAM_SPEC_POINTER(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_pointer(&value), NULL);
} else if ( G_IS_PARAM_SPEC_OBJECT(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_object(&value), NULL);
} else if ( G_IS_PARAM_SPEC_UNICHAR(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_uint(&value), NULL);
} else if ( G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_boxed(&value), NULL);
} else if ( G_IS_PARAM_SPEC_GTYPE(pspec) ) {
goo_canvas_item_model_set_child_properties(model, child, name, g_value_get_gtype(&value), NULL);
}
g_value_unset (&value);
}
=for apidoc
Not like the original C function, which call as
goo_canvas_item_model_get_child_properties(model, child, key1, &val1, key2,
&val2, ..., NULL). This function call as
$model->get_child_properties($child, $key1, $key2, ...) and return a list
($key1, $val1, $key2, $val2, ...) instead. So you can call like
%pair = $model->get_child_properties($child, $key1, $key2) and use $pair{$key1} and $pair{$key2} to access the value for the property.
=cut
void
goo_canvas_item_model_get_child_properties(model, child, ...)
GooCanvasItemModel *model
GooCanvasItemModel *child
PREINIT:
GParamSpec *pspec;
GValue value = {0,};
int i;
PPCODE:
for ( i = 2; i < items; i++ ) {
char* name = SvPV_nolen(ST(i));
SV* pval;
pspec = goo_canvas_item_model_class_find_child_property(
(GObjectClass*)g_type_class_peek(G_OBJECT_TYPE (G_OBJECT(model))), name);
if ( !pspec ) {
const char* classname =
gperl_object_package_from_type(G_OBJECT_TYPE (G_OBJECT(model)));
if ( !classname )
classname = G_OBJECT_TYPE_NAME(G_OBJECT(model));
croak("type %s does not support property '%s'",
classname, name);
}
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
if ( G_IS_PARAM_SPEC_BOOLEAN(pspec) ) {
gboolean val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_boolean(&value, val);
} else if ( G_IS_PARAM_SPEC_CHAR(pspec) ) {
gchar val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_char(&value, val);
} else if ( G_IS_PARAM_SPEC_UCHAR(pspec) ) {
guchar val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_uchar(&value, val);
} else if ( G_IS_PARAM_SPEC_INT(pspec) ) {
gint val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_int(&value, val);
} else if ( G_IS_PARAM_SPEC_UINT(pspec) ) {
guint val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_uint(&value, val);
} else if ( G_IS_PARAM_SPEC_LONG(pspec) ) {
glong val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_long(&value, val);
} else if ( G_IS_PARAM_SPEC_ULONG(pspec) ) {
gulong val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_ulong(&value, val);
} else if ( G_IS_PARAM_SPEC_INT64(pspec) ) {
gint64 val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_int64(&value, val);
} else if ( G_IS_PARAM_SPEC_UINT64(pspec) ) {
guint64 val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_uint64(&value, val);
} else if ( G_IS_PARAM_SPEC_FLOAT(pspec) ) {
gfloat val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_float(&value, val);
} else if ( G_IS_PARAM_SPEC_DOUBLE(pspec) ) {
gdouble val;
goo_canvas_item_model_get_child_properties(model, child, name, &val, NULL);
g_value_set_double(&value, val);
} else if ( G_IS_PARAM_SPEC_ENUM(pspec) ) {
gint val;
( run in 0.522 second using v1.01-cache-2.11-cpan-5511b514fd6 )