/*
** _EmbossOut
**
** $VER: EmbossOut.fred 1.1.0 (25.10.93)
**
** This program can be run from an ADPro operator list to emboss the current
** image.
**
** Modified version of emboss script.
**
** The script requires ADPro v2.5.0 (or higher).
**
** Copyright © 1992-1993 ASDG, Incorporated
** All Rights Reserved
*/


ADDRESS "ADPro"
OPTIONS RESULTS

NL = '0A'X
SQ = '27'X
DQ = '22'X
TRUE  = 1
FALSE = 0
TempDefaults = "T:TempADProDefaults"
TempImage = "T:TempImage"


/*
** Save the current environment.
*/

SAVE_DEFAULTS TempDefaults


/*
** See what type of data is loaded in ADPro/MorphPlus.
*/

CALL "FREDSCRIPTS:FREDFunctions/CheckForRawImageData" TRUE
IF (RESULT ~= 0) THEN
	CALL ErrorOut 10


/*
** Specify how to emboss the image.
*/

ADPRO_TO_FRONT

Direction = 0


/*
** Emboss the image.
*/

SAVER "IFF" TempImage "RAW"
IF (RC ~= 0) THEN DO
	ADPRO_TO_FRONT
	OKAY1 "Saving copy of image failed." || NL ||,
		"Argument Information:" || NL ||,
		"Filename = " || TempImage || NL ||,
		"Type = " || "RAW"
	CALL ErrorOut 10
END

OPERATOR "NEGATIVE"
IF (RC ~= 0) THEN DO
	ADPRO_TO_FRONT
	OKAY1 "The operator NEGATIVE" || NL ||,
		"failed to execute."
	CALL ErrorOut 10
END

IF (Direction = 1) THEN DO
	XOff = 1
	YOff = 1
END
ELSE DO
	XOff = (-1)
	YOff = (-1)
END

LOADER "UNIVERSAL" TempImage XOff YOff 50
IF (RC ~= 0) THEN DO
	ADPRO_TO_FRONT
	OKAY1 "Reloading image failed." || NL ||,
		"Argument Information:" || NL ||,
		"X Offset = " || XOff || NL ||,
		"Y Offset = " || YOff || NL ||,
		"Mix = " || 50
	CALL ErrorOut 10
END


/*
** See what type of data is loaded in ADPro/MorphPlus.
*/

CALL "FREDSCRIPTS:FREDFunctions/CheckForGrayImageData" TRUE
IF (RESULT ~= 0) THEN
	CALL ErrorOut 10


CONTRAST 50

OPERATOR "APPLY_MAP"
IF (RC ~= 0) THEN DO
	ADPRO_TO_FRONT
	OKAY1 "The operator APPLY_MAP," || NL ||,
		"failed to execute."
	CALL ErrorOut 10
END

CALL ErrorOut 0


ErrorOut:
	PARSE ARG ExitCode

	IF (EXISTS( TempDefaults )) THEN DO
		LOAD_DEFAULTS TempDefaults
		IF (RC ~= 0) THEN DO
			ADPRO_TO_FRONT
			OKAY1 "Error restoring settings."
		END

		ADDRESS COMMAND "Delete >NIL:" TempDefaults
	END

	ADDRESS COMMAND "Delete >NIL:" TempImage

	EXIT ExitCode
