aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/Lib/com/glow.m
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/Lib/com/glow.m')
-rw-r--r--Src/Wasabi/Lib/com/glow.m111
1 files changed, 111 insertions, 0 deletions
diff --git a/Src/Wasabi/Lib/com/glow.m b/Src/Wasabi/Lib/com/glow.m
new file mode 100644
index 00000000..12e0406b
--- /dev/null
+++ b/Src/Wasabi/Lib/com/glow.m
@@ -0,0 +1,111 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: glow.m
+Version: 1.0
+
+Type: maki/glow class
+Date: 16. Jun. 2007 - 23:13
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Usage: 1: #include glow.m
+ 2: #define GLOW_OBJECT MyGlow
+ 3: call _MyGlow_GlowInit (someObj, otherObj)
+ to init the objects.
+ You can also call _MyGlow_GlowInit (NULL, otherObj)
+ and load a bunch of GuiObjects in _MyGlow_GlowTrigger
+ or load up to 5 objects via _MyGlow_addTarget(obj);
+
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#ifndef GLOW_OBJECT
+#error GLOW_OBJECT not defined!
+#endif
+
+Class GuiObject _##GLOW_OBJECT##_GlowTrigger;
+Global _##GLOW_OBJECT##_GlowTrigger _##GLOW_OBJECT##_trigger0, _##GLOW_OBJECT##_trigger1, _##GLOW_OBJECT##_trigger2, _##GLOW_OBJECT##_trigger3, _##GLOW_OBJECT##_trigger4, _##GLOW_OBJECT##_trigger5;
+Global GuiObject _##GLOW_OBJECT##_glow;
+Global float _##GLOW_OBJECT##_fdoutspeed;
+Global boolean _##GLOW_OBJECT##_mouseDown;
+
+Function _##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed);
+Function _##GLOW_OBJECT##_addTrigger (GuiObject triggerObject);
+
+_##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed)
+{
+ if (triggerObject) _##GLOW_OBJECT##_trigger0 = triggerObject;
+ if (glowObject) _##GLOW_OBJECT##_glow = glowObject;
+
+ _##GLOW_OBJECT##_fdoutspeed = fdoutspeed;
+}
+
+_##GLOW_OBJECT##_addTrigger(GuiObject triggerObject)
+{
+ if (triggerObject)
+ {
+ if (!_##GLOW_OBJECT##_trigger1)
+ {
+ _##GLOW_OBJECT##_trigger1 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger2)
+ {
+ _##GLOW_OBJECT##_trigger2 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger3)
+ {
+ _##GLOW_OBJECT##_trigger3 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger4)
+ {
+ _##GLOW_OBJECT##_trigger4 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger5)
+ {
+ _##GLOW_OBJECT##_trigger5 = triggerObject;
+ return;
+ }
+ }
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onEnterArea ()
+{
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ _##GLOW_OBJECT##_glow.setAlpha(255);
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onLeftButtonDown (int x, int y)
+{
+ _##GLOW_OBJECT##_mouseDown = 1;
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ _##GLOW_OBJECT##_glow.setAlpha(0);
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onLeftButtonUp (int x, int y)
+{
+ _##GLOW_OBJECT##_mouseDown = 0;
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ if (_##GLOW_OBJECT##_GlowTrigger.isMouseOverRect()) _##GLOW_OBJECT##_glow.setAlpha(255);
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onLeaveArea ()
+{
+ if (_##GLOW_OBJECT##_mouseDown) return;
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ _##GLOW_OBJECT##_glow.setTargetA(0);
+ _##GLOW_OBJECT##_glow.setTargetX(_##GLOW_OBJECT##_glow.getGuiX());
+ _##GLOW_OBJECT##_glow.setTargetSpeed(_##GLOW_OBJECT##_fdoutspeed);
+ _##GLOW_OBJECT##_glow.gotoTarget();
+}
+
+#undef GLOW_OBJECT \ No newline at end of file