aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdoc/exemple_opacite.pl45
-rw-r--r--doc/manuel_utilisateur.txt62
-rw-r--r--src/MTools/Anim/MOpacity.pm4
3 files changed, 109 insertions, 2 deletions
diff --git a/doc/exemple_opacite.pl b/doc/exemple_opacite.pl
new file mode 100755
index 0000000..f52da49
--- /dev/null
+++ b/doc/exemple_opacite.pl
@@ -0,0 +1,45 @@
+#!/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, ".", "../src";
+}
+
+use MTools;
+use MTools::GUI::MRect;
+use MTools::GUI::MGroup;
+use MTools::Anim::MOpacity;
+
+new MTools (800, 600, "Exemple de animation opacity");
+
+new MTools::GUI::MRect (1, 400, 200, 100, 300, -filled => 1, -fillcolor => red
+);
+my $group = new MTools::GUI::MGroup (1);
+
+new MTools::GUI::MRect ($group, 300, 300, 300, 100, -filled => 1);
+
+my $anim = new MTools::Anim::MOpacity(targets => $group,
+ loop => 1,
+ from_opacity => 0,
+ to_opacity => 100,
+ duration => 5
+ );
+
+$anim->start();
+
+mrun;
+
diff --git a/doc/manuel_utilisateur.txt b/doc/manuel_utilisateur.txt
index 1316625..9ce625c 100644
--- a/doc/manuel_utilisateur.txt
+++ b/doc/manuel_utilisateur.txt
@@ -437,6 +437,68 @@ sub moved {
2.5 Les animations
------------------
+Une animation est une évolution progressive d'un paramètre d'un objet
+graphique. Les animations proposées sont :
+- changement de transparence
+- changement de position (translation ou parcours complexe)
+- changement de taille
+___________
+MOpacity.pm :
+MOpacity permet de réaliser une animation sur la transparence d'un ou plusieurs
+groupes ou autres objets ayant une propriété nommée "-alpha".
+
+La fonction de création ne nécessite aucun argument. Elle permet de configurer
+toutes les propriétés comme mconfigure.
+
+Les valeurs modifiables par mconfigure sont :
+ - -visible : permet d'activer ou stopper l'animation
+ - from_opacity : valeur initiale de l'opacité au départ de l'animation
+ - to_opacity : valeur de l'opacité à la fin de l'animation
+ - duration : durée de l'animation (défaut: 1s)
+ - loop : indique le caractère répétitif de l'animation (défaut : faux)
+ - targets : objet ou tableau d'objets cible de cette animation. Ces
+ objets doivent disposer d'une propriété "-alpha" (c'est le cas des
+ MGroup)
+
+Les valeurs d'opacité vont de 0 (transparent) à 100 (opaque).
+
+Les évènements émis sont :
+ - ANIMATION_END : Notifie la fin de l'annimation
+ - OPACITY_CHANGED : Notifie un changement de valeur de l'opacite au
+ cours de l'animation
+ - ANIMATION_ABORD : Notifie un arrêt prématuré de l'animation
+
+Les évènements OPACITY_CHANGED et ANIMATION_ABORD fournissent la valeur courante
+de l'opacité.
+
+Les fonctions applicables à un objet MOpacity sont :
+ - start : démarre l'animation
+ - stop: arrête l'animation
+ - isRunning : détermine si l'animation est en cours
+
+Exemple d'utilisation :
+use MTools;
+use MTools::GUI::MRect;
+use MTools::GUI::MGroup;
+use MTools::Anim::MOpacity;
+new MTools (800, 600, "Exemple de animation opacity");
+new MTools::GUI::MRect(1, 400, 200, 100, 300, -filled => 1, -fillcolor => red);
+my $group = new MTools::GUI::MGroup (1);
+new MTools::GUI::MRect ($group, 300, 300, 300, 100, -filled => 1);
+my $anim = new MTools::Anim::MOpacity(targets => $group,
+ loop => 1,
+ from_opacity => 0,
+ to_opacity => 100,
+ duration => 1
+ );
+$anim->start();
+mrun;
+________
+MPath.pm :
+__________
+MScalor.pm :
+______________
+MTranslator.pm :
2.6 Les comportements
---------------------
diff --git a/src/MTools/Anim/MOpacity.pm b/src/MTools/Anim/MOpacity.pm
index e1882ba..d7aba19 100644
--- a/src/MTools/Anim/MOpacity.pm
+++ b/src/MTools/Anim/MOpacity.pm
@@ -19,12 +19,12 @@ package MTools::Anim::MOpacity;
# MOpacity permet de realiser une animation sur la transparence d'un objet
#
# proprietes :
-# * -visible : permet d'activer ou non l'animation
+# * -visible : permet d'activer ou stopper l'animation
# * from_opacity : valeur initiale de l'opacite au depart de l'animation
# * to_opacity : valeur de l'opacite a la fin de l'animation
# * duration : duree de l'animation
# * loop : marque le caractere repetitif ou non de l'animation
-# * targets : objets cible de cette animation
+# * targets : objet ou tableau d'objets cible de cette animation (de type MGroup ou autre type avec un attribut -alpha.
# Evenements :
# * ANIMATION_END : Notifie lorque l'annimation se termine
# * OPACITY_CHANGED : Notifie lorsque la valeur de l'opacite est changee au cours de l'animation