home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 82 / af082sub.adf / FINALWRITER / FINAL.lzx / FinalWriter / FinalWrapper / FW_Macros / FW_MultiOval.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1978-01-01  |  1.0 KB  |  64 lines

  1. /* FW_MultiOval.rexx 1.0 (04.01.95) by NDY's
  2.  
  3. Wraps a text around four ovals at once. */
  4.  
  5. /* Init */
  6. OPTIONS RESULTS
  7. rxport="FinalWrapperPort"
  8. IF ~Show("P",rxport) THEN EXIT 10
  9. ADDRESS VALUE rxport
  10. Lock ON
  11. Prefs STORE
  12. Set ZIP 1 /* Make window small */
  13. oldzip=RESULT
  14. SIGNAL ON ERROR
  15.  
  16. /* Read oval and text */
  17. GetVal TGAD
  18. text=RESULT
  19. GetVal XGAD
  20. x=RESULT
  21. GetVal YGAD
  22. y=RESULT
  23. GetVal WGAD
  24. w=RESULT
  25. GetVal HGAD
  26. h=RESULT
  27. IF text="" | x="" | y="" | w="" | h="" THEN CALL ERROR
  28. /* The four ovals */
  29. l=Length(text)%4
  30. t.1=Left(text,l)
  31. t.2=SubStr(text,l+1,l)
  32. t.3=SubStr(text,l+l+1,l)
  33. t.4=Right(text,Length(text)-l-l-l)
  34. x.1=x-w*0.55
  35. x.2=x
  36. x.3=x+w*0.55
  37. x.4=x
  38. y.1=y
  39. y.2=y-h*0.55
  40. y.3=y
  41. y.4=y+h*0.55
  42. /* Set options */
  43. SetVal ARC 180
  44. SetState ARC 1
  45. SetState BEG 1
  46. SetMode BEG 1 /* clockwise */
  47. DO i=1 TO 4
  48.   SetVal BEG (180+i*90)//360
  49.   SetVal TGAD t.i
  50.   SetVal XGAD x.i
  51.   SetVal YGAD y.i
  52.   Go
  53. END
  54.  
  55. /* Cleanup (this one or a similar code should be used by all FW macros): */
  56.  
  57. /* BEGIN exit */
  58. ERROR:
  59.   Set ZIP oldzip
  60.   Prefs RESET
  61.   Lock OFF
  62.   EXIT
  63. /* END exit */
  64.