home *** CD-ROM | disk | FTP | other *** search
- /*
- ** SimPrint.fred.pre
- **
- ** $VER: SimPrint.fred.pre 1.1.0 (23.10.93)
- **
- ** If the SimPrint.fred script appears in the InvokeADPro list,
- ** this program will ask the user for the dither method and mask size
- ** to use with the Sim_Print operator.
- **
- ** Clips Exported:
- ** FREDSimPrintDither - Dither to use.
- ** FREDSimPrintMaskSize - Dither mask size.
- **
- ** NOTE: Clip names 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 NumberOfCells NumberOfFrames
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
-
- /*
- ** Ask the user which type of dither method should be used.
- */
-
- DitherID.1 = "Halftone"
- DitherID.2 = "Ordered"
- DitherID.3 = "Vertical Line"
- DitherID.4 = "Horizontal Line"
- DitherID.5 = "Fwd Diagonal Line"
- DitherID.6 = "Bwd Diagonal Line"
- DitherID.7 = "Fwd Brick"
- DitherID.8 = "Bwd Brick"
- MinDitherID = 1
- MaxDitherID = 8
- DefDitherID = 1
-
- DitherName.1 = "HALFTONEA"
- DitherName.2 = "ORDERED"
- DitherName.3 = "VERTICAL"
- DitherName.4 = "HORIZONTAL"
- DitherName.5 = "FWDDIAGONAL"
- DitherName.6 = "BCKDIAGONAL"
- DitherName.7 = "FWDBRICK"
- DitherName.8 = "BCKBRICK"
-
- String = '"' || DitherID.DefDitherID || '"'
- DO LoopCounter = MinDitherID TO MaxDitherID
- String = String '"' || DitherID.LoopCounter || '"'
- END
-
- continue = 0
- DO UNTIL (continue = 1)
- ADPRO_TO_FRONT
-
- LISTVIEW '"Dither Types:"' (MaxDitherID-MinDitherID+1) ITEMS String
- LISTVIEW_RC = RC
- PARSE VAR ADPRO_RESULT '"'DitherTypeStr'"' scratch
-
- IF (LISTVIEW_RC ~= 0) & (LISTVIEW_RC ~= 1) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"SimPrint.fred"' '"This value is required."' '"Retry|Cancel"'
- IF (RC = 0) THEN
- EXIT 10
- END
- ELSE
- continue = 1
- END
-
- DitherSelected = MinDitherID
- DO WHILE (DitherSelected <= MaxDitherID) & (COMPARE( DitherTypeStr, DitherID.DitherSelected ) ~= 0)
- DitherSelected = DitherSelected + 1
- END
-
- DitherType = DitherName.DitherSelected
-
-
- /*
- ** Ask the user for the mask size.
- */
-
- MaskSizeID.1 = "2"
- MaskSizeID.2 = "4"
- MaskSizeID.3 = "8"
- MaskSizeID.4 = "16"
- MinMaskSizeID = 1
- MaxMaskSizeID = 4
- DefMaskSizeID = 1
-
- String = '"' || MaskSizeID.DefMaskSizeID || '"'
- DO LoopCounter = MinMaskSizeID TO MaxMaskSizeID
- String = String '"' || MaskSizeID.LoopCounter || '"'
- END
-
- continue = 0
- DO UNTIL (continue = 1)
- ADPRO_TO_FRONT
-
- LISTVIEW '"Mask Size:"' (MaxMaskSizeID-MinMaskSizeID+1) ITEMS String
- LISTVIEW_RC = RC
- PARSE VAR ADPRO_RESULT '"'MaskSizeTypeStr'"' scratch
-
- IF (LISTVIEW_RC ~= 0) & (LISTVIEW_RC ~= 1) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"SimPrint.fred"' '"This value is required."' '"Retry|Cancel"'
- IF (RC = 0) THEN
- EXIT 10
- END
- ELSE
- continue = 1
- END
-
- MaskSizeSelected = MinMaskSizeID
- DO WHILE (MaskSizeSelected <= MaxMaskSizeID) & (COMPARE( MaskSizeTypeStr, MaskSizeID.MaskSizeSelected ) ~= 0)
- MaskSizeSelected = MaskSizeSelected + 1
- END
-
- MaskSize = MaskSizeID.MaskSizeSelected
-
- SCREEN_TO_FRONT "FRED"
-
-
- /*
- ** Update the clips.
- */
-
- SETCLIP( "FREDSimPrintDither", DitherType )
- SETCLIP( "FREDSimPrintMaskSize", MaskSize )
-
- EXIT 0
-