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 / VisualGradient.rexx < prev    next >
OS/2 REXX Batch file  |  1999-06-06  |  5KB  |  258 lines

  1. /*
  2.  
  3.    v1.29 Visual Gradient
  4.  
  5.    Marko Seppänen
  6.    marko.seppanen@wwnet.fi
  7.  
  8. */
  9.  
  10.  
  11. address IMAGEENGINEER
  12.  
  13. Options results
  14. signal on error            /* Setup a place for errors to go */
  15.  
  16. if arg()=0 then exit
  17. x=arg(1)
  18. parse var x pic bartype direction gammavalue arguments
  19. arguments=strip(arguments,B)
  20.  
  21.  
  22.  
  23. MARK pic PRIMARY
  24. PROJECT_INFO pic WIDTH
  25. picwidth=result
  26. PROJECT_INFO pic HEIGHT
  27. picheight=result
  28. PROJECT_INFO pic ZOOM
  29. origzoomvalue=result
  30.  
  31.  
  32.  
  33.  
  34. if bartype="" then do
  35.  
  36.   if exists("ie:prefs/visualtexturebar.cfg") == "1" then
  37.     do
  38.       call open("temp","ie:prefs/visualtexturebar.cfg","R")
  39.       values=readln("temp")
  40.       parse var values ok bartype direction gammavalue .
  41.       call close("temp")
  42.     end
  43.   else
  44.     do
  45.       bartype=0
  46.       direction=0
  47.       gammavalue=0
  48.     end
  49.  
  50.   ' FORM "Visual TextureBar" "Use|Cancel"',
  51.   ' CYCLE,"Bartype","Sunshine|Night|LightColor|DarkColor|Psycho",'bartype'',
  52.   ' CYCLE,"Direction","Right|Bottom|Left|Top",'direction'',
  53.   ' INTEGER,"Gammavalue",-100,100,'gammavalue',SLIDER'
  54.  
  55.  
  56.   values=result
  57.   parse var values ok bartype direction gammavalue .
  58.  
  59.   if ok = 0 then exit
  60.  
  61.   call open("temp","ie:prefs/visualtexturebar.cfg","W")
  62.   res=writeln("temp",values)
  63.   call close("temp")
  64.  
  65. end
  66.  
  67.  
  68.  
  69.  
  70. OPEN "ie:alpha/gradient.alpha" COLOUR
  71. grad=result
  72.  
  73. PROJECT_SET grad ZOOM origzoomvalue
  74.  
  75. if direction=="0" | upper(direction)=="RIGHT" then degree=180
  76. if direction=="1" | upper(direction)=="BOTTOM" then degree=90
  77. if direction=="2" | upper(direction)=="LEFT" then nodegree=1
  78. if direction=="3" | upper(direction)=="TOP" then degree=270
  79.  
  80.  
  81. if nodegree~="1" then do
  82.  
  83.   ROTATE grad degree FAST
  84.   rotgrad=result
  85.   CLOSE grad
  86.  
  87. end
  88. else rotgrad=grad
  89.  
  90.  
  91. SCALE rotgrad picwidth picheight BEST
  92. grad2=result
  93.  
  94. CLOSE rotgrad
  95.  
  96.  
  97. GAMMA grad2 gammavalue RED GREEN BLUE
  98. gammagrad=result
  99.  
  100. CLOSE grad2
  101.  
  102.  
  103.  
  104. select
  105.  
  106.   when bartype == 0 | upper(bartype) == "SUNSHINE" then do
  107.  
  108.     REFLECT_X gammagrad
  109.     grad3=result
  110.  
  111.     CLOSE gammagrad
  112.  
  113.     MARK pic PRIMARY
  114.     MARK pic ALPHA
  115.     MARK grad3 SECONDARY
  116.  
  117.     COMPOSITE 0 0 ADD
  118.     final=result
  119.  
  120.     CLOSE grad3
  121.  
  122.   end
  123.  
  124.  
  125.   when bartype == 1 | upper(bartype) == "NIGHT" then do
  126.  
  127.     MARK pic PRIMARY
  128.     MARK pic ALPHA
  129.     MARK gammagrad SECONDARY
  130.  
  131.     COMPOSITE 0 0 MULTIPLY
  132.     final=result
  133.  
  134.     CLOSE gammagrad
  135.  
  136.   end
  137.  
  138.  
  139.   when bartype == 2 | upper(bartype) == "LIGHTCOLOR" then do
  140.  
  141.     if exists("ie:arexx/primarycolors.rexx") == "0" then do
  142.       'REQUEST "PrimaryColors.rexx is missing!" "I forgot.. sorry."'
  143.       exit
  144.     end
  145.  
  146.     parse var arguments pcolor
  147.  
  148.     if upper(pcolor) == "PCOLOR" then pcolor=""
  149.     address command "Sys:Rexxc/rx ie:arexx/PrimaryColors.rexx" gammagrad pcolor
  150.  
  151.     PROJECT_LIST
  152.     xyz=result
  153.     colorgrad=subword(xyz,1,1)
  154.  
  155.     CLOSE gammagrad
  156.  
  157.  
  158.     MARK pic PRIMARY
  159.     MARK pic ALPHA
  160.     MARK colorgrad SECONDARY
  161.  
  162.     COMPOSITE 0 0 MAX
  163.     final=result
  164.  
  165.     CLOSE colorgrad
  166.  
  167.   end
  168.  
  169.  
  170.   when bartype == 3 | upper(bartype) == "DARKCOLOR" then do
  171.  
  172.     if exists("ie:arexx/primarycolors.rexx") == "0" then do
  173.       'REQUEST "PrimaryColors.rexx is missing!" "I forgot.. sorry."'
  174.       exit
  175.     end
  176.  
  177.     parse var arguments pcolor
  178.  
  179.     if upper(pcolor) == "PCOLOR" then pcolor=""
  180.     address command "Sys:Rexxc/rx ie:arexx/PrimaryColors.rexx" gammagrad pcolor
  181.  
  182.     PROJECT_LIST
  183.     xyz=result
  184.     colorgrad=subword(xyz,1,1)
  185.  
  186.     CLOSE gammagrad
  187.  
  188.  
  189.     MARK pic PRIMARY
  190.     MARK pic ALPHA
  191.     MARK colorgrad SECONDARY
  192.  
  193.     COMPOSITE 0 0 MULTIPLY
  194.     final=result
  195.  
  196.     CLOSE colorgrad
  197.  
  198.   end
  199.  
  200.  
  201.   when bartype == 4 | upper(bartype) == "PSYCHO" then do
  202.  
  203.     if exists("ie:arexx/primarycolors.rexx") == "0" then do
  204.       'REQUEST "PrimaryColors.rexx is missing!" "I forgot.. sorry."'
  205.       exit
  206.     end
  207.  
  208.     parse var arguments pcolor
  209.  
  210.     if upper(pcolor) == "PCOLOR" then pcolor=""
  211.     address command "Sys:Rexxc/rx ie:arexx/PrimaryColors.rexx" gammagrad pcolor
  212.  
  213.     PROJECT_LIST
  214.     xyz=result
  215.     colorgrad=subword(xyz,1,1)
  216.  
  217.     CLOSE gammagrad
  218.  
  219.  
  220.     MARK pic PRIMARY
  221.     MARK pic ALPHA
  222.     MARK colorgrad SECONDARY
  223.  
  224.     COMPOSITE 0 0 DIFFERENCE
  225.     final=result
  226.  
  227.     CLOSE colorgrad
  228.  
  229.   end
  230.  
  231.  
  232.  
  233.  
  234. otherwise exit
  235.  
  236. end
  237.  
  238.  
  239. exit
  240.  
  241. /*******************************************************************/
  242. /* This is where control goes when an error code is returned by IE */
  243. /* It puts up a message saying what happened and on which line     */
  244. /*******************************************************************/
  245. error:
  246. if RC=5 then do            /* Did the user just cancel us? */
  247.     IE_TO_FRONT
  248.     LAST_ERROR
  249.     'REQUEST "'||RESULT||'"'
  250.     exit
  251. end
  252. else do
  253.     IE_TO_FRONT
  254.     LAST_ERROR
  255.     'REQUEST "Error detected!!!'||D2C(10)||'Image Engineer error message is as follows'||D2C(10)||result||D2C(10)||'Script failed on line '||SIGL||'"' 'Doh!'
  256.     exit
  257. end
  258.