Hi,

I'm trying to get a handle on Goject Introspection
with the GooCanvas.

I've managed to get the basic canvas up, and 
an ellipse, but the polyline eludes me.

In Gtk2, you could just pass in an arrayref of
points, but the Gtk3 version expects a 
GooCanvasPoints object.

I can't figure it out. The following code runs error free,
but the polyline does not appear.

The polyline c docs are at:
https://developer.gnome.org/goocanvas/unstable/GooCanvasPolyline.html

Any clues?

Thanks,
zentara

#!/usr/bin/perl -w
use strict;
use warnings;
use Gtk3 -init;

Glib::Object::Introspection->setup(basename => 'GooCanvas', 
                      version => '2.0', package => 'Goo');


my $window = Gtk3::Window->new('toplevel');
$window->signal_connect('delete_event' => sub { Gtk2->main_quit; });
$window->set_size_request(640, 600);
$window->set_title("Gtk3 GooCanvas with Perl Gobject Introspection");
$window->signal_connect(destroy => sub { Gtk3->main_quit });

my $swin = Gtk3::ScrolledWindow->new;
$swin->set_shadow_type('in');
$window->add($swin);

my $canvas = Goo::Canvas->new; # Gobject Introspection of Gtk3 Goo version
$canvas->set_size_request(800, 650);
$canvas->set_bounds(0, 0, 1000, 1000);
$swin->add($canvas);
my $root = $canvas->get_root_item();

# first point set
my $pts_ref = [50,50,180,120,90,100,50,50]; 

my $points = Goo::CanvasPoints->new(
             $pts_ref, 
             );

my $line = Goo::CanvasPolyline->new(
       'parent' => $root,
       'close-path' => 0,
       'points' => $points, #in Gtk2 could just use $pts_ref
       'stroke-color' => 'black',
       'line-width' => 3,
    );


my $ellipse = Goo::CanvasEllipse->new(
       'parent' => $root,
       'center-x' => 20,  
       'center-y' => 20,  
       'width'  =>  +60,
       'height' =>  +60,  
       'stroke-color' => 'goldenrod',
       'line-width' => 8,
       'fill-color-rgba' => 0x3cb37180,
    );


$root->translate(200,200);

$window->show_all();
Gtk3->main;
__END__
_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to