1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $taille = 10;
my $fenetre = new MainWindow( -background => 'red' );
my $caneva = $fenetre->Canvas(
-width => 400,
-height => 400,
-background => 'snow',
-borderwidth => 2
)->pack( qw/-fill both -expand 1/ );
$fenetre->Entry( -textvariable => \$taille )->pack();
# Je passe la référence à $taille
$caneva->Tk::bind( "<ButtonPress-1>", [ \&Clique, Ev('x'), Ev('y'), \$taille ] );
sub Clique {
my ( $widget, $x, $y, $ref_taille ) = @_;
# Dereférence la taille
my $long = ${$ref_taille};
$caneva->create( 'rectangle', $x - $long, $y - $long, $x + $long, $y + $long, -fill => 'blue' );
}
MainLoop(); |