$one = $canvas->createOval(...);
$two = $canvas->createRectangle(...);
$group = $canvas->createGroup([0, 0], -members => [$one, $two]);
$mw->update;
$mw->after(1000);
$canvas->move($group, 100, 100);
####
#!/usr/bin/env perl
use strict;
use warnings;
use Tk;
my $mw = MainWindow::->new();
my $scrl_can = $mw->Scrolled('Canvas',
-scrollregion => [0, 0, 300, 300],
)->pack(qw{-fill both -expand 1});
my $c = $scrl_can->Subwidget('canvas');
for my $x (0, 100, 200) {
my $grassy_creek = $c->createGroup(
[0,0], -members => [grass($c), creek($c)]
);
$mw->update();
$c->move($grassy_creek, $x, 100);
}
MainLoop;
sub grass {
return $_[0]->createRectangle(
0, 0, 100, 100,
-fill => '#009900', -outline => undef
);
}
sub creek {
return $_[0]->createRectangle(
0, 30, 100, 70,
-fill => '#0000cc', -outline => undef
);
}
##
##
my $grassy_creek_bend = $c->createGroup(
[0,0], -members => [
grass($c),
creek_half_w($c),
creek_half_s($c),
creek_bend_ws($c),
]
);
##
##
#!/usr/bin/env perl
use strict;
use warnings;
use Tk;
my $mw = MainWindow::->new();
my $scrl_can = $mw->Scrolled('Canvas',
-scrollregion => [0, 0, 300, 300],
)->pack(qw{-fill both -expand 1});
my $c = $scrl_can->Subwidget('canvas');
for my $x (0, 100) {
my $grassy_creek = $c->createGroup(
[0,0], -members => [grass($c), creek_we($c)]
);
$mw->update();
$c->move($grassy_creek, $x, 100);
}
my $grassy_creek_bend = $c->createGroup(
[0,0], -members => [
grass($c),
creek_half_w($c),
creek_half_s($c),
creek_bend_ws($c),
]
);
$mw->update();
$c->move($grassy_creek_bend, 200, 100);
MainLoop;
sub grass {
return $_[0]->createRectangle(
0, 0, 100, 100,
-fill => '#009900', -outline => undef
);
}
sub creek_we {
return $_[0]->createRectangle(
0, 30, 100, 70,
-fill => '#0000cc', -outline => undef
);
}
sub creek_half_w {
return $_[0]->createRectangle(
0, 30, 50, 70,
-fill => '#0000cc', -outline => undef
);
}
sub creek_half_s {
return $_[0]->createRectangle(
30, 50, 70, 100,
-fill => '#0000cc', -outline => undef
);
}
sub creek_bend_ws {
return $_[0]->createArc(
30, 30, 70, 70,
-fill => '#0000cc', -outline => undef
);
}