Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
176
Src/Wasabi/Lib/com/glowobject.m
Normal file
176
Src/Wasabi/Lib/com/glowobject.m
Normal file
|
@ -0,0 +1,176 @@
|
|||
/**
|
||||
* glowobject.m
|
||||
*
|
||||
* @package com.winamp.maki.lib.community.glowobject
|
||||
* @author mpdeimos
|
||||
* @date 18/10/01
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#define GLOW_TYPE_HOLD 0
|
||||
#define GLOW_TYPE_FLASH 1
|
||||
#define GLOW_TYPE_BOUNCE 2
|
||||
|
||||
Class GuiObject GlowLayer;
|
||||
// {
|
||||
Member GuiObject GlowLayer.trigger;
|
||||
// }
|
||||
|
||||
Class GuiObject GlowObject;
|
||||
// {
|
||||
Member float GlowObject.fadeInSpeed;
|
||||
Member float GlowObject.fadeOutSpeed;
|
||||
Member int GlowObject.glowType;
|
||||
Member boolean GlowObject.glowing;
|
||||
|
||||
Member GuiObject GlowObject.glow;
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*
|
||||
* @param GuiObject that will be used to trigger the glow on mouse entering it's region
|
||||
* @param the glowing object
|
||||
* @ret GlowObject object
|
||||
*/
|
||||
Function GlowObject GlowObject_construct(GlowObject trigger, GlowLayer glow);
|
||||
|
||||
/**
|
||||
* sets fade in time
|
||||
*
|
||||
* @param GlowObject to act on
|
||||
* @param milliseconds till the glow is at alpha 255
|
||||
*/
|
||||
Function GlowObject_setFadeInSpeed(GlowObject go, float ms);
|
||||
|
||||
/**
|
||||
* sets fade out time
|
||||
*
|
||||
* @param GlowObject to act on
|
||||
* @param milliseconds till the glow is at alpha 0
|
||||
*/
|
||||
Function GlowObject_setFadeOutSpeed(GlowObject go, float ms);
|
||||
|
||||
/**
|
||||
* sets the glowtype used by this glow button.
|
||||
*
|
||||
* @param GlowObject to act on
|
||||
* @param glowType defined via GLOW_TYPE_*
|
||||
*/
|
||||
Function GlowObject_setGlowType(GlowObject go, int glowType);
|
||||
|
||||
|
||||
/*
|
||||
* IMPLEMENTATION
|
||||
*/
|
||||
|
||||
GlowObject GlowObject_construct(GlowObject trigger, GlowLayer glow)
|
||||
{
|
||||
if (trigger == null)
|
||||
{
|
||||
debug("trigger");
|
||||
}
|
||||
if (glow == NULL)
|
||||
{
|
||||
debug("glow");
|
||||
}
|
||||
|
||||
GlowObject go = trigger;
|
||||
go.fadeInSpeed = 0.3;
|
||||
go.fadeOutSpeed = 0.5;
|
||||
go.glow = glow;
|
||||
go.glowType = GLOW_TYPE_HOLD;
|
||||
go.glowing = false;
|
||||
glow.trigger = trigger;
|
||||
return go;
|
||||
}
|
||||
|
||||
GlowObject_setFadeInSpeed(GlowObject go, float ms)
|
||||
{
|
||||
go.fadeInSpeed = ms;
|
||||
}
|
||||
|
||||
GlowObject_setFadeOutSpeed(GlowObject go, float ms)
|
||||
{
|
||||
go.fadeOutSpeed = ms;
|
||||
}
|
||||
|
||||
GlowObject_setGlowType(GlowObject go, int glowType)
|
||||
{
|
||||
go.glowType = glowType;
|
||||
}
|
||||
|
||||
GlowObject.onEnterArea ()
|
||||
{
|
||||
GlowObject.glowing = true;
|
||||
GlowObject.glow.cancelTarget();
|
||||
GlowObject.glow.setTargetA(255);
|
||||
GlowObject.glow.setTargetSpeed(GlowObject.fadeInSpeed);
|
||||
GlowObject.glow.gotoTarget();
|
||||
}
|
||||
|
||||
GlowObject.onLeaveArea ()
|
||||
{
|
||||
GlowObject.glowing = false;
|
||||
if (GlowObject.glowType != GLOW_TYPE_FLASH)
|
||||
{
|
||||
GlowObject.glow.cancelTarget();
|
||||
GlowObject.glow.setTargetA(0);
|
||||
GlowObject.glow.setTargetSpeed(GlowObject.fadeOutSpeed);
|
||||
GlowObject.glow.gotoTarget();
|
||||
}
|
||||
}
|
||||
|
||||
GlowLayer.onTargetReached ()
|
||||
{
|
||||
GlowObject go = GlowLayer.trigger;
|
||||
if (go.glowType == GLOW_TYPE_HOLD)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (go.glowType == GLOW_TYPE_FLASH)
|
||||
{
|
||||
if (GlowLayer.getAlpha() == 255)
|
||||
{
|
||||
GlowLayer.cancelTarget();
|
||||
GlowLayer.setTargetA(0);
|
||||
GlowLayer.setTargetSpeed(GlowObject.fadeOutSpeed);
|
||||
GlowLayer.gotoTarget();
|
||||
}
|
||||
}
|
||||
else if (go.glowType == GLOW_TYPE_BOUNCE)
|
||||
{
|
||||
if (GlowLayer.getAlpha() == 255)
|
||||
{
|
||||
GlowLayer.cancelTarget();
|
||||
GlowLayer.setTargetA(0);
|
||||
GlowLayer.setTargetSpeed(GlowObject.fadeOutSpeed);
|
||||
GlowLayer.gotoTarget();
|
||||
}
|
||||
else if (GlowLayer.getAlpha() == 0 && go.glowing)
|
||||
{
|
||||
GlowLayer.cancelTarget();
|
||||
GlowLayer.setTargetA(255);
|
||||
GlowLayer.setTargetSpeed(GlowObject.fadeInSpeed);
|
||||
GlowLayer.gotoTarget();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GlowObject.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff)
|
||||
{
|
||||
GlowObject.glow.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
GlowObject.glow.hide();
|
||||
}
|
||||
|
||||
}
|
||||
// }
|
Loading…
Add table
Add a link
Reference in a new issue