/* Load PS Picture
   using GhostScript
 
	From Aminet:

You need these:
  gfx/show     GS510-data.lha 326K  73 GS5.10 Data-init-config files
  gfx/show GS510-stdfonts.lha 1.5M  73 GS5.10 fonts-std files
  text/dtp   GS510FontMap.lha   5K  62 GS5.10's missing fontmap file

One of the following, depending on your processor:
  gfx/show      GS510_020.lha 537K  73 GS5.10-4-020-030-EC040-Amigas
  gfx/show   GS510_020fpu.lha 518K  73 GS5.10-4-020fpu-030fpu-Amigas
  gfx/show   GS510_040fpu.lha 520K  73 GS5.10-4-040fpu-Amigas

Optional - but probably worth getting:
  text/dtp  GS510-Install.lha  15K  32 GS5.10-Installation-Routine (V1.02)
  gfx/show GS510-fontsoth.lha 798K  73 GS5.10 fonts-other files

*/

	options results
	parse ARG Port b

	ADDRESS value Port
	pp_showscreen

	pp_GetDepth
	n=result
	if n~=24 then DO
		pp_Warn 'Only*for*24bits*version.'
		EXIT		
	END


	ADDRESS COMMAND
	if ~EXISTS('ghostscript:gs') THEN DO
		ADDRESS value Port
		pp_closeasay
		pp_Warn 'Please|Install*Ghostscript*first.'
		EXIT
	END

	file=""

	if EXISTS('PerfectPaint:Prefs/Rexx_Prefs/LoadPS') THEN DO
		IF OPEN('lfile','PerfectPaint:Prefs/Rexx_Prefs/LoadPS', "R") then DO
			file = READLN('lfile')
			CALL CLOSE('lfile')
			file2=""
			do i=1 to LENGTH(file)
				a=SUBSTR(file,i,1)
				if a=" " then DO
					a="*"
				END
				file2=file2||a
			END
			file=file2
		END
	END

	ADDRESS value Port	
	pp_DialogInit 250 60 "*Load*Postscript" 2
		pp_String 0 50 8 150 16 "Name" 1 100 file

		n=LASTPOS('/',file)
		if n=0 then DO
			n=LASTPOS(':',file)
			file=SUBSTR(file,1,n)
		END
		else DO			
			file=SUBSTR(file,1,n)
		END
			
		pp_Getfile 1 205 10 0 "Load*PS" 0 file
	pp_Dialog	

	rc=result
	if rc=0 then
		do
			EXIT
		end	

	pp_GetDialog 0
	file=result

	if file="" then
		do
			EXIT
		end

	CALL SavePrefs('LoadPS',file)
	ADDRESS value Port

	pp_asay 'Loading*PS*file|Please*wait*...'
	ADDRESS COMMAND 'execute PerfectPaint:Rexx/General/data/Ghost.script '||file
		
	ADDRESS value Port
	pp_closeasay
	pp_load 'ram:temp.jpg'

	ADDRESS COMMAND
	'delete >nil: ram:temp.jpg'

	EXIT
	


SavePrefs: PROCEDURE
	
	Prefname='PerfectPaint:Prefs/Rexx_Prefs/'||ARG(1)

	if EXISTS(Prefname) THEN DO
		ADDRESS COMMAND
		'delete >nil: '||Prefname
	END

	IF OPEN('pfile',PrefName,'W') THEN DO

	do i=2 to ARG()
		CALL WRITELN('pfile',ARG(i))
	end

	CALL CLOSE('pfile')

RETURN


