Goo-Canvas

 view release on metacpan or  search on metacpan

xs/goocanvas.xs  view on Meta::CPAN

    GooCanvasItemModel *model

void
goo_canvas_get_bounds(canvas)
    GooCanvas *canvas
   PREINIT:
    gdouble left;
    gdouble top;
    gdouble right;
    gdouble bottom;
   PPCODE:
    goo_canvas_get_bounds(canvas, &left, &top, &right, &bottom);
    mXPUSHn(left);
    mXPUSHn(top);
    mXPUSHn(right);
    mXPUSHn(bottom);

void
goo_canvas_set_bounds(canvas, left, top, right, bottom)
    GooCanvas *canvas
    gdouble left

xs/goocanvasitem.xs  view on Meta::CPAN

       goo_canvas_item_lower(item, NULL);
    else
       goo_canvas_item_lower(item, SvGooCanvasItem (ST(1)));

void
goo_canvas_item_get_transform(item)
    GooCanvasItem *item
   PREINIT:
    gboolean ret;
    cairo_matrix_t *transform;
   PPCODE:
    ret = goo_canvas_item_get_transform(item, transform);
    if ( ret ) {
        ST(0) = newSVCairoMatrix (transform);
        sv_2mortal(ST(0));
    }
    else {
        XSRETURN_UNDEF;
    }

void

xs/goocanvasitem.xs  view on Meta::CPAN

%pair = $item->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_get_child_properties(item, child, ...)
    GooCanvasItem *item
    GooCanvasItem *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_class_find_child_property(
            (GObjectClass*)g_type_class_peek(G_OBJECT_TYPE (G_OBJECT(item))),  name);
        if ( !pspec ) {
            const char* classname =
                gperl_object_package_from_type(G_OBJECT_TYPE (G_OBJECT(item)));
            if ( !classname )
                classname = G_OBJECT_TYPE_NAME(G_OBJECT(item)); 

xs/goocanvasitemmodel.xs  view on Meta::CPAN

    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

xs/goocanvasitemmodel.xs  view on Meta::CPAN

%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)); 



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