home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 61
/
af061a.adf
/
Macros
/
SingleColFade.clssa
< prev
next >
Wrap
Text File
|
1993-05-01
|
2KB
|
89 lines
/***********************************************************************
GADGET: "'Single Colour Fade'" "6" AUTO TYP: "?"
$DAT >>SingleColFade.clssa<< 01 May 1993 - (C) ProDAD Holger Burkarth
The Fade macro allows you to make a fade all colours to any
definable colour. However, you may only want to fade one
colour (to black or another selected colour) so this macro is
provided to do this.
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" From "TO" To .
Number=To-From
IF Number>1 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
ColourNum=2**t - 1
MSRequester "TITLE '*** Single Colour Fade ***''Select a Fade Direction.''IN means that colours''appear as the anim runs.' PTEXT 'Fade IN''Fade OUT'"
IF RC~=0 THEN LEAVE
FadeIN=RESULT
COLRequest "Register 0 TITLE '*** Single Colour Fade ***'' ''Choose Fade Colour.'"
IF RC~=0 THEN LEAVE
FadeColour=RESULT
MSRequester "TITLE '*** Single Colour Fade ***''Select Reference Colour For Processing?' PTEXT 'Select Reference Colour''Reference Black'"
IF RC~=0 THEN LEAVE
IF RESULT=2 THEN DO
DO UNTIL From>To
IF FadeIN=2 THEN fa=(To-From)/Number
ELSE fa=(1-(To-From)/Number)
ViewFrame COPS From
IF RC~=0 THEN LEAVE
GetColor FadeColour
PARSE VAR RESULT x r g b
SetColor x r*fa g*fa b*fa
Record COPS
IF RC~=0 THEN LEAVE
From=From+1
END
END
ELSE DO
COLRequest "Register 0 TITLE '*** Single Colour Fade ***'' ''Fix Reference Colour.'"
IF RC~=0 THEN LEAVE
GetColor RefColour
PARSE VAR RESULT x RefR RefG RefB
DO UNTIL From>To
IF FadeIN=2 THEN fa=(1-(To-From)/Number)
ELSE fa=(To-From)/Number
ViewFrame COPS From
IF RC~=0 THEN LEAVE
GetColor FadeColour
PARSE VAR RESULT x r g b
r=r+(RefR-r)*fa
g=g+(RefG-g)*fa
b=b+(RefB-b)*fa
SetColor x r g b
Record COPS
IF RC~=0 THEN LEAVE
From=From+1
END
END
LEAVE
END
END
ELSE Message "'For this effect at least''2 frames are required.'"
FailAt AltFail
exit