home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / dev / e / amigae / rkrmsrc / asl / fontreq.e < prev   
Text File  |  1995-03-27  |  2KB  |  62 lines

  1. -> fontreq.e
  2.  
  3. MODULE 'asl',
  4.        'graphics/text',
  5.        'libraries/asl'
  6.  
  7. ENUM ERR_NONE, ERR_ASL, ERR_KICK, ERR_LIB
  8.  
  9. RAISE ERR_ASL  IF AllocAslRequest()=NIL,
  10.       ERR_KICK IF KickVersion()=FALSE,
  11.       ERR_LIB  IF OpenLibrary()=NIL
  12.  
  13. PROC main() HANDLE
  14.   DEF fr=NIL:PTR TO fontrequester
  15.   KickVersion(37)  -> E-Note: requires V37
  16.   aslbase:=OpenLibrary('asl.library', 37)
  17.   fr:=AllocAslRequest(ASL_FONTREQUEST,
  18.           -> Tell the requester to use my custom mode names:
  19.           -> Our replacement strings for the "mode" cycle gadget.  The first
  20.           -> string is the cycle gadget's label.  The other strings are the
  21.           -> actual strings that will appear on the cycle gadget.
  22.           [ASL_MODELIST, ['RKM Modes', 'Mode 0', 'Mode 1', 'Mode 2',
  23.                           'Mode 3', 'Mode 4',NIL],
  24.            -> Supply initial values for requester
  25.            ASL_FONTNAME,   'topaz.font',
  26.            ASL_FONTHEIGHT, 11,
  27.            ASL_FONTSTYLES, FSF_BOLD OR FSF_ITALIC,
  28.            ASL_FRONTPEN,   0,
  29.            ASL_BACKPEN,    1,
  30.  
  31.            -> Only display font sizes between 8 and 14, inclusive.
  32.            ASL_MINHEIGHT,  8,
  33.            ASL_MAXHEIGHT,  14,
  34.  
  35.            -> Give all the gadgetry, but only display fixed width fonts
  36.            ASL_FUNCFLAGS,  FONF_FRONTCOLOR OR FONF_BACKCOLOR OR
  37.                            FONF_DRAWMODE OR FONF_STYLES OR FONF_FIXEDWIDTH,
  38.            NIL])
  39.   -> Pop up the requester
  40.   IF AslRequest(fr, NIL)
  41.     -> The user selected something,  report their choice
  42.     WriteF('\s\n  YSize = \d  Style = $\h   Flags = $\h\n'+
  43.            '  FPen = $\h   BPen = $\h   DrawMode = $\h\n',
  44.            fr.attr.name, fr.attr.ysize, fr.attr.style, fr.attr.flags,
  45.            fr.frontpen,  fr.backpen,    fr.drawmode)
  46.   ELSE
  47.     -> The user cancelled the requester, or some kind of error occurred
  48.     -> preventing the requester from opening.
  49.     WriteF('Request Cancelled\n')
  50.   ENDIF
  51. EXCEPT DO
  52.   IF fr THEN FreeAslRequest(fr)
  53.   IF aslbase THEN CloseLibrary(aslbase)
  54.   SELECT exception
  55.   CASE ERR_ASL;  WriteF('Error: Could not allocate ASL request\n')
  56.   CASE ERR_KICK; WriteF('Error: Requires V37\n')
  57.   CASE ERR_LIB;  WriteF('Error: Could not open ASL library\n')
  58.   ENDSELECT
  59. ENDPROC
  60.  
  61. vers: CHAR 0, '$VER: fontreq 37.0', 0
  62.