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

  1. /*
  2.  
  3.    v1.20 Visual Logo Demo
  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.  
  19. parse var x logo visual arguments
  20. arguments=strip(arguments,B)
  21. space=0
  22.  
  23. MARK logo PRIMARY
  24. PROJECT_INFO logo WIDTH
  25. picwidth=result
  26. PROJECT_INFO logo HEIGHT
  27. picheight=result
  28.  
  29.  
  30.  
  31.  
  32. /*
  33.     . THE BEGINNING .
  34.                         */
  35.  
  36.  
  37.  
  38.  
  39. if visual="" then
  40.  
  41. do
  42.   if exists("ie:prefs/visuallogod.cfg") == "1" then
  43.     do
  44.       call open("temp","ie:prefs/visuallogod.cfg","R")
  45.       values=readln("temp")
  46.       parse var values ok visual space
  47.       call close("temp")
  48.     end
  49.   else
  50.     do
  51.       visual=3
  52.       space=0
  53.     end
  54.  
  55.  
  56.   'FORM "Visual Logo" "Use|Cancel"',
  57.   'CYCLE,"Type","Shiny|Outline|Strong|Raised|Niched|Gradient|Glow|Polka|Color|Lines",'visual'',
  58.   'INTEGER,"Space around",0,100,'space',SLIDER'
  59.  
  60.   values=result
  61.   parse var values ok visual space
  62.   savedir=strip(savedir,B,'"')
  63.  
  64.   if ok = 0 then exit
  65.  
  66.   call open("temp","ie:prefs/visuallogod.cfg","W")
  67.   res=writeln("temp",values)
  68.   call close("temp")
  69.  
  70. end
  71.  
  72.  
  73.  
  74. /*    . ADD SPACE .     */
  75.  
  76.  
  77. if space>0 then do
  78.  
  79.   if exists("ie:arexx/addspace.rexx") == "0" then do
  80.     'REQUEST "AddSpace.rexx is missing!" "I will get it... sorry"'
  81.     exit
  82.   end
  83.   address command "Sys:Rexxc/rx ie:arexx/AddSpace.rexx" logo GUESS space
  84.  
  85.   PROJECT_LIST
  86.   xyz=result
  87.   x0=subword(xyz,1,1)
  88.  
  89. end
  90. else x0=logo
  91.  
  92.  
  93.  
  94. /* ..NOW WE ARE GETTIN' INTO IT.. */
  95.  
  96.  
  97.  
  98. select
  99.  
  100.  
  101.   when visual == 2 | upper(visual)=="STRONG" then do
  102.  
  103.     if arguments="" then do
  104.  
  105.       if exists("ie:prefs/visuallogodstrong.cfg") == "1" then
  106.         do
  107.           call open("temp","ie:prefs/visuallogodstrong.cfg","R")
  108.           values=readln("temp")
  109.           parse var values ok type .
  110.           call close("temp")
  111.         end
  112.       else
  113.         do
  114.           type=1
  115.         end
  116.  
  117.  
  118.       'FORM "Visual Logo - strong" "Use|Cancel"',
  119.       'CYCLE,"Effect style","Outline|Shiny",'type'',
  120.  
  121.       values=result
  122.       parse var values ok type .
  123.  
  124.       if ok = 0 then exit
  125.  
  126.       call open("temp","ie:prefs/visuallogodstrong.cfg","W")
  127.       res=writeln("temp",values)
  128.       call close("temp")
  129.  
  130.     end
  131.  
  132.     else parse var arguments type .
  133.  
  134.  
  135.     CONVOLVE x0 "IE:Convolves/GaussianBlur5x5"
  136.     x1=result
  137.  
  138.  
  139.     CONVOLVE x1 "IE:Convolves/Emboss_High"
  140.     x2=result
  141.  
  142.  
  143.     MARK x1 PRIMARY
  144.     MARK x1 ALPHA
  145.     MARK x2 SECONDARY
  146.  
  147.  
  148.     if type="0" | upper(type)=="OUTLINE"  then do
  149.       COMPOSITE 1 0 ALPHA
  150.       x3=result
  151.     end
  152.     else do
  153.       COMPOSITE 2 0 MAX
  154.       x3=result
  155.     end
  156.  
  157.  
  158.     CLOSE x1
  159.     CLOSE x2
  160.  
  161.     CONTRAST x3 20
  162.     final=result
  163.  
  164.     CLOSE x3
  165.  
  166.   end
  167.  
  168.  
  169.  
  170.   when visual == 3 | upper(visual)=="RAISED" then do
  171.  
  172.     if arguments="" then do
  173.  
  174.       if exists("ie:prefs/visuallogodraised.cfg") == "1" then
  175.         do
  176.           call open("temp","ie:prefs/visuallogodraised.cfg","R")
  177.           values=readln("temp")
  178.           parse var values ok outline xplace yplace .
  179.           call close("temp")
  180.         end
  181.       else
  182.         do
  183.           outline=0
  184.           xplace="-3"
  185.           yplace="-3"
  186.         end
  187.  
  188.  
  189.       'FORM "Visual Logo - raised" "Use|Cancel"',
  190.       'CYCLE,"Outline","Yes|No",'outline'',
  191.       'INTEGER,"X-place",-20,20,'xplace',SLIDER',
  192.       'INTEGER,"Y-place",-20,20,'yplace',SLIDER'
  193.  
  194.       values=result
  195.       parse var values ok outline xplace yplace .
  196.  
  197.       if ok = 0 then exit
  198.  
  199.       call open("temp","ie:prefs/visuallogodraised.cfg","W")
  200.       res=writeln("temp",values)
  201.       call close("temp")
  202.  
  203.     end
  204.  
  205.     else parse var arguments outline xplace yplace .
  206.  
  207.  
  208.  
  209.     CONVOLVE x0 "IE:Convolves/FeatherWhite"
  210.     x1=result
  211.  
  212.     CONVOLVE x0 "IE:Convolves/GaussianBlur5x5"
  213.     x2=result
  214.  
  215.     CONVOLVE x2 "IE:Convolves/GaussianBlur5x5"
  216.     x3=result
  217.  
  218.     CLOSE x2
  219.  
  220.     CONVOLVE x3 "IE:Convolves/GaussianBlur5x5"
  221.     x4=result
  222.  
  223.     CLOSE x3
  224.  
  225.     NEGATIVE x1
  226.     x5=result
  227.  
  228.     CLOSE x1
  229.  
  230.     MARK x5 PRIMARY
  231.     MARK x5 ALPHA
  232.     MARK x4 SECONDARY
  233.  
  234.     COMPOSITE xplace yplace ADD
  235.     x6=result
  236.  
  237.     CLOSE x4
  238.     CLOSE x5
  239.  
  240.  
  241.     if outline=="0" | upper(outline)=="YES" then do
  242.  
  243.       CONVOLVE x0 "IE:Convolves/GaussianBlur5x5"
  244.       y1=result
  245.  
  246.       NEGATIVE y1
  247.       y2=result
  248.  
  249.       MARK y1 PRIMARY
  250.       MARK y1 ALPHA
  251.       MARK y2 SECONDARY
  252.       COMPOSITE 0 0 DIFFERENCE
  253.       y3=result
  254.  
  255.       CLOSE y1
  256.       CLOSE y2
  257.  
  258.  
  259.       MARK y3 PRIMARY
  260.       MARK y3 ALPHA
  261.       MARK x6 SECONDARY
  262.  
  263.       COMPOSITE xplace yplace MIN
  264.       final=result
  265.  
  266.       CLOSE y3
  267.       CLOSE x6
  268.  
  269.     end
  270.  
  271.   end
  272.  
  273.  
  274.  
  275.  
  276. otherwise do
  277.  
  278.    'REQUEST "You can only use Raised and Strong -effects in this demoversion." "Ok"'
  279.  
  280.   end
  281.  
  282. end
  283.  
  284.  
  285. if space~=0 then CLOSE x0
  286.  
  287.  
  288. exit
  289.  
  290.  
  291.  
  292.  
  293.  
  294. /*******************************************************************/
  295. /* This is where control goes when an error code is returned by IE */
  296. /* It puts up a message saying what happened and on which line     */
  297. /*******************************************************************/
  298. error:
  299. if RC=5 then do            /* Did the user just cancel us? */
  300.     IE_TO_FRONT
  301.     LAST_ERROR
  302.     'REQUEST "'||RESULT||'"'
  303.     exit
  304. end
  305. else do
  306.     IE_TO_FRONT
  307.     LAST_ERROR
  308.     'REQUEST "Error detected!!!'||D2C(10)||'Image Engineer error message is as follows'||D2C(10)||result||D2C(10)||'Script failed on line '||SIGL||'"' 'Doh!'
  309.     exit
  310. end
  311.