From c5866f304210618979d03c561b1e3f6f83200bce Mon Sep 17 00:00:00 2001 From: ribet Date: Wed, 21 Mar 2007 10:19:39 +0000 Subject: Import initial --- exemples/exemple_SVG.pl | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 exemples/exemple_SVG.pl (limited to 'exemples/exemple_SVG.pl') diff --git a/exemples/exemple_SVG.pl b/exemples/exemple_SVG.pl new file mode 100755 index 0000000..f19e856 --- /dev/null +++ b/exemples/exemple_SVG.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU GPL General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, +# or refer to http://www.gnu.org/copyleft/gpl.html +# + +BEGIN { + unshift @INC, ".", "./data", "../src"; +} + +use MTools; +use MTools::Comp::MMover; +use MTools::GUI::MRect; +use MTools::Comp::MInertie; + + +# Creation de la frame +new MTools (800, 600, 'Exemple SVG'); + + +# Creation des objets 'litso' et 'pupille' depuis le fichier Malouco.svg +my $visage = minstanciate ('Malouco.svg#litso', 1); +my $pupille = minstanciate ('Malouco.svg#pupille', 1); +MTools::MObjet::recordEvent ($pupille, 'PING'); +# Recherche du sous arbre 'tilt' dans l'objet pupille +my $tilt = mfind ($pupille, 'tilt'); +# On rend l'objet tilt invisible +mconfigure ($tilt, -visible => 0); + +# Quelques interactions sur les objets instancies +$visage -> binding ('', sub {$pupille -> mconfigure (-visible => 0); $pupille -> notify ('PING')}); +$visage -> binding ('', sub {$pupille -> mconfigure (-visible => 1)}); +$pupille -> binding ('', sub {mconfigure (mfind ($pupille, 'tilt'), -visible => 1)}); +$pupille -> binding ('', sub {mconfigure (mfind ($pupille, 'tilt'), -visible => 0)}); + +my $cb = [\&unb, $pupille]; +$pupille -> binding ('PING', $cb); + +# RUN +mrun; + +sub unb { + my ($self) = @_; + print "UNBINDING !!!\n"; + $self -> unbinding ('PING', $cb); + $self -> notify ('PING'); + print "YOUPIE HOURrA, pas de boucle !\n"; +} -- cgit v1.1