home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Mosaic.fred
- **
- ** $VER: Mosaic.fred 1.0.0 (23.10.93)
- **
- ** This program can be run from an Invoke ADPro list to run the current
- ** frame through the Mosaic operator to make an image look 'computerized'.
- ** (i.e. pixelized).
- **
- ** Clips Imported:
- ** FREDMosaicXSize - Width value of Mosaic 'tile'.
- ** FREDMosaicYSize - Height value of Mosaic 'tile'.
- ** FREDMosaicXOff - X offset of Mosaic 'tile'.
- ** FREDMosaicYOff - Y offset of Mosaic 'tile'.
- **
- ** NOTE: Clip name are case sensitive.
- **
- ** This script requires FRED v1.4.0 (or higher) to run. Also required is
- ** ADPro v2.5.0 (or higher).
- **
- ** Copyright © 1993 ASDG, Incorporated
- ** All Rights Reserved.
- */
-
-
- ADDRESS "ADPro"
- OPTIONS RESULTS
-
- PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
-
- /*
- ** Get the required clips. Error if any are missing.
- */
-
- MosaicXSize = GETCLIP( "FREDMosaicXSize" )
- IF (MosaicXSize = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDMosaicXSize," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- MosaicYSize = GETCLIP( "FREDMosaicYSize" )
- IF (MosaicYSize = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDMosaicYSize," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- MosaicXOff = GETCLIP( "FREDMosaicXOff" )
- IF (MosaicXOff = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDMosaicXOff," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- MosaicYOff = GETCLIP( "FREDMosaicYOff" )
- IF (MosaicYOff = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDMosaicYOff," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
-
- /*
- ** See what type of data is loaded in ADPro/MorphPlus.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/CheckForRawImageData" TRUE
- IF (RESULT ~= 0) THEN
- EXIT 10
-
-
- /*
- ** Apply the Mosaic operator.
- */
-
- OPERATOR "MOSAIC",
- "XSIZE" MosaicXSize,
- "YSIZE" MosaicYSize,
- "XOFFSET" MosaicXOff,
- "YOFFSET" MosaicYOff
- IF (RC ~= 0) THEN DO
- Why = ADPRO_RESULT
- ADPRO_TO_FRONT
- OKAY1 "The operator Mosaic" || NL ||,
- "failed to execute." || NL ||,
- "Arguments:" || NL ||,
- "XSize: " || MosaicXSize || NL ||,
- "YSize: " || MosaicYSize || NL ||,
- "X Off: " || MosaicXOff || NL ||,
- "Y Off: " || MosaicYOff
- Why
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- EXIT 0
-