home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 2000 April & May / AMIGA_2000_04.iso / amiga-magazin / visualengineer / ve-full.lha / arexx / RunHook.rexx < prev    next >
OS/2 REXX Batch file  |  1999-03-21  |  2KB  |  143 lines

  1. /*
  2.  
  3.    v0.01 RunHook
  4.  
  5.    Marko Seppänen
  6.    marko.seppanen@wwnet.fi
  7.  
  8. */
  9.  
  10.  
  11. address IMAGEENGINEER
  12.  
  13. Options results
  14. tempfile  = 't:Image_from_IE'
  15. tempfile2 = 't:Image_from_ImageFX'
  16.  
  17.  
  18. if arg()=0 then exit
  19. pic=arg(1)
  20.  
  21. MARK pic PRIMARY
  22.  
  23. PROJECT_INFO pic WIDTH
  24. origpicwidth=result
  25. PROJECT_INFO pic HEIGHT
  26. origpicheight=result
  27. PROJECT_INFO pic ZOOM
  28. origzoomval=result
  29.  
  30.  
  31.  
  32.  
  33. /* Export */
  34.  
  35.  
  36. if ~show(ports,'IMAGEFX.1') then do
  37.   'REQUEST' '"Could not locate Arexx-port of ImageFX!"' '" OK "'
  38.   CALL ErrorOut 10
  39. end
  40.  
  41. 'SAVE_DATA' pic '"'||tempfile||'"' '"ILBM CmpByteRun1"'
  42. if (RC ~= 0) then do
  43.   'REQUEST' '"Error when saving temporary image!"' '" OK "'
  44.   CALL ErrorOut 10
  45. end
  46.  
  47. address "IMAGEFX.1"
  48.  
  49. Screen2Front
  50.  
  51. LoadBuffer '"'tempfile'"' force
  52. if (RC ~= 0) then do
  53.   address 'IMAGEENGINEER'
  54.   'REQUEST' '"Error when loading temporary image into ImageFX!"' '" OK "'
  55.   CALL ErrorOut 10
  56. end
  57.  
  58.  
  59.  
  60.  
  61. /* Choose a Hook */
  62.  
  63.  
  64. RequestFile '"Choose a Hook..."' 'ImageFx3:Hooks/'
  65. if RC == "0" then HOOK result
  66. else do
  67.   KILLBUFFER FORCE
  68.   address 'IMAGEENGINEER'
  69.   IE_TO_FRONT
  70.   exit
  71. end
  72.  
  73.  
  74.  
  75.  
  76.  
  77. /* Import */
  78.  
  79.  
  80. SaveBufferAs ILBM '"'tempfile2'"'
  81.  
  82. if (RC ~= 0) then do
  83.   address 'IMAGEENGINEER'
  84.   'REQUEST' '"Failed to save temporary image from ImageFX!"' '" OK "'
  85.   CALL ErrorOut 10
  86. end
  87.  
  88. address 'IMAGEENGINEER'
  89.  
  90. 'OPEN' tempfile2 'COLOUR'
  91. if (RC ~= 0) then do
  92.   'REQUEST' '"Failed to load temporary image into IE!"' '" OK "'
  93.   CALL ErrorOut 10
  94. end
  95. newpic = result
  96.  
  97. address "IMAGEFX.1"
  98. KILLBUFFER FORCE
  99.  
  100.  
  101. address 'IMAGEENGINEER'
  102.  
  103. IE_TO_FRONT
  104. PROJECT_SET newpic ZOOM origzoomval
  105.  
  106. CALL Errorout 0
  107.  
  108. exit
  109.  
  110.  
  111.  
  112. /* Errorout procedure */
  113.  
  114. ErrorOut:
  115.   PARSE ARG ExitCode
  116.  
  117.     if (exists( tempfile )) then address command "Delete >NIL:" tempfile
  118.     if (exists( tempfile2 )) then address command "Delete >NIL:" tempfile2
  119.  
  120. EXIT ExitCode
  121.  
  122.  
  123.  
  124. /*******************************************************************/
  125. /* This is where control goes when an error code is returned by IE */
  126. /* It puts up a message saying what happened and on which line     */
  127. /*******************************************************************/
  128. error:
  129. if RC=5 then do            /* Did the user just cancel us? */
  130.     IE_TO_FRONT
  131.     LAST_ERROR
  132.     'REQUEST "'||RESULT||'"'
  133.     exit
  134. end
  135. else do
  136.        address 'IMAGEENGINEER'
  137.     IE_TO_FRONT
  138.     LAST_ERROR
  139.     'REQUEST "Error detected!!!'||D2C(10)||'Image Engineer error message is as follows'||D2C(10)||result||D2C(10)||'Script failed on line '||SIGL||'"' 'Doh!'
  140.     exit
  141. end
  142.  
  143.