home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 149.lha / ColorTerm / intuievents.4th < prev    next >
Text File  |  1988-04-25  |  863b  |  36 lines

  1. \ This file Copyright 1988 by Warren Block.
  2.  
  3. \ intuievents.f
  4.  
  5. DECIMAL
  6.  
  7. GLOBAL NewMessage
  8.  
  9. : GetMsg   ( msgport --- msg )
  10.    !A0 EXEC@ 62 ;
  11.  
  12. : ReplyMsg   ( msg --- )
  13.    !A1 EXEC 63 ;
  14.  
  15. : SendKey   ( code qualifier --- )  \ Translate key code and send it.
  16.    KeyConvert
  17.    ?DUP IF                \ don't send nulls
  18.      EmitSerChar
  19.    THEN ;
  20.  
  21. : HandleEvents   ( --- )  \ Handle Intuition events.
  22.    0 0 CurrentWindow @ +wdUserPort @ LOCALS| uport msgcode msgqual |
  23.    BEGIN
  24.      uport GetMsg DUP TO NewMessage
  25.    WHILE
  26.      NewMessage +imClass     @
  27.      NewMessage +imCode      W@  TO msgcode
  28.      NewMessage +imQualifier W@  TO msgqual
  29.      NewMessage ReplyMsg
  30.      CASE
  31.        RAWKEY        OF  msgcode msgqual SendKey  ENDOF
  32.        fCLOSEWINDOW  OF  FALSE TO Continue?       ENDOF
  33.        MENUPICK      OF  msgcode HandleMenus      ENDOF
  34.      ENDCASE
  35.    REPEAT ;
  36.