home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 61
/
af061a.adf
/
Macros
/
Fade.clssa
< prev
next >
Wrap
Text File
|
1993-07-15
|
2KB
|
93 lines
/***********************************************************************
GADGET: "'Multi Colour Fade'" "6" AUTO TYP: "?"
$DAT >>Fade.clssa<< 03 May 1993 - (C) ProDAD Holger Burkarth
The Fade macro is used to blend a whole image into one single, defined,
colour - often black (for which the macro offers a short cut). Other
colours must be chosen from the colour requester.
************************************************************************/
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 .
ColNumber=2**t - 1
MSRequester "TITLE '*** Fade Effect ***''Please Select Fade Direction.''IN means that the colours''develop as the anim runs.' PTEXT 'Fade IN''Fade OUT'"
IF RC~=0 THEN LEAVE
FadeIN=RESULT
MSRequester "TITLE '*** Fade Effect ***''Select reference Colour For Fade Processing'",
"PTEXT 'Select Reference colour''Reference colour BLACK''Reference colour WHITE'"
IF RC~=0 THEN LEAVE
IF RESULT=1 THEN DO
COLRequest "Register 0 TITLE '*** Fade Effect ***'' ''Fix Reference colour''or the Fade Effect.'"
IF RC~=0 THEN LEAVE
Reference=RESULT
GetColor Reference
PARSE VAR RESULT x RefR RefG RefB
END
ELSE IF RESULT=2 THEN DO
RefR=0
RefG=0
RefB=0
END
ELSE IF RESULT=3 THEN DO
RefR=255
RefG=255
RefB=255
END
l=0
ListG=""
DO UNTIL l>ColNumber
ListG=ListG l
l=l+1
END
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
l=0
List=""
GetColor ListG
ListR=RESULT
DO UNTIL ListR=""
PARSE VAR ListR x r g b ListR
r=r+(RefR-r)*fa
g=g+(RefG-g)*fa
b=b+(RefB-b)*fa
List=List x TRUNC(r) TRUNC(g) TRUNC(b)
l=l+1
END
SetColor List
Record COPS
IF RC~=0 THEN LEAVE
From=From+1
END
LEAVE
END
END
ELSE Message "'For a Fade Effect you must have''at least 2 Frames selected.'"
FailAt AltFail
exit