home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 600-699 / ff645.lha / DMD / REXX / InsLit.dme < prev    next >
Text File  |  1992-04-26  |  2KB  |  75 lines

  1. /* InsLit.dme © 1992 Fergus Duniho */
  2. /* Requester for picking and inserting any character */
  3.  
  4. F = GetClip('F')
  5. If F = '' Then F = 'topaz.font 8'
  6. FONT = Word(F,1)
  7. SIZE = Word(F,2)
  8. H = Size+4
  9. If SIZE=9 Then W = 20
  10.           Else W = 16
  11.  
  12. Address AREXX "'Call CreateHost CPORT, NOTPORT'"
  13. Do Until ShowList(P,CPORT)
  14.     Call Delay(10)
  15. End
  16.  
  17. IDCMP = 'CLOSEWINDOW+WINDOWDRAG+MOUSEBUTTONS'
  18. FLAGS = 'ACTIVATE+WINDOWCLOSE+WINDOWDRAG'
  19.  
  20. Call OpenWindow CPORT, 70, 50, 1+W*28, 10+8*H, IDCMP, FLAGS, 'Pick a Character'
  21. Call ModifyHost CPORT, CLOSEWINDOW, 'Call Quit CPORT; Exit'
  22. Call ModifyHost CPORT, MOUSEBUTTONS, 'X = %x; Y = %y; Call ReadHost CPORT, MAINPORT, "X = %x; Y = %y; Call Insert()"'
  23.  
  24. Call SetAPen CPORT, 1
  25. Call SetFont CPORT, FONT, SIZE
  26. Call Move CPORT, 4, 6+H
  27. Call Text CPORT, "  ! "" # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;"
  28. Call Move CPORT, 4, 6+2*H
  29. Call Text CPORT, "< = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W"
  30. Call Move CPORT, 4, 6+3*H
  31. Call Text CPORT, "X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s"
  32. Call Move CPORT, 4, 6+4*H
  33. Call Text CPORT, "t u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž "
  34. Call Move CPORT, 4, 6+5*H
  35. Call Text CPORT, " ‘ ’ “ ” • – — ™ ˜ š › œ  ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª «"
  36. Call Move CPORT, 4, 6+6*H
  37. Call Text CPORT, "¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç"
  38. Call Move CPORT, 4, 6+7*H
  39. Call Text CPORT, "Ƞɠʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ۠ܠݠޠߠà á â ã"
  40. Call Move CPORT, 4, 6+8*H
  41. Call Text CPORT, "ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ"
  42. Call SetAPen CPORT, 3
  43. Do Y = 10+H to 10+7*H by H
  44.     Call Move CPORT, 0, Y
  45.     Call Draw CPORT, 28*W, Y
  46. End
  47. Do X = W to 27*W by W
  48.     Call Move CPORT, X, 10
  49.     Call Draw CPORT, X, 20+8*H
  50. End
  51.  
  52. Call OpenPort MAINPORT
  53. Do Until ShowList(P, MAINPORT)
  54.     Call Delay(10)
  55. End
  56.  
  57. Call SetNotify(CPORT, CLOSEWINDOW, MAINPORT)
  58. Call SetNotify(CPORT, MOUSEBUTTONS, MAINPORT)
  59.  
  60. Do Forever
  61.     Call WaitPkt(MAINPORT)
  62.     PACKET = GetPkt(MAINPORT)
  63.     If PACKET ~== Null() Then Do
  64.         ID = GetArg(PACKET, 0)
  65.         Call Reply PACKET, 0
  66.         Interpret ID
  67.     End
  68. End
  69.  
  70. Insert:
  71.     Call Quit CPORT
  72.     C = "'" || d2c(((Y-10)%H)*28+X%W+32)
  73.     C
  74. Exit
  75.