home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / develop / ezasm / scrwin.s < prev    next >
Text File  |  1995-02-27  |  2KB  |  110 lines

  1.  
  2.  
  3. * Opens a Screen and a Window, and prints a message in it
  4.  
  5.  
  6.  
  7. LONG    Screen Window IMClass MsgSave
  8. WORD    IMCode
  9.  
  10.  
  11.  
  12.     a1 = #NewScr
  13.     a0 = _GfxBase
  14.     6(a1) = 216(a0) w    ;ns_Height = gb_NormalDisplayRows
  15.  
  16.     Screen = OpenScreen( #NewScr )
  17.     beq    Exit
  18.  
  19.     a0 = #NewWin
  20.     30(a0) = Screen        ;nw_Screen
  21.  
  22.     Window = OpenWindow( * )
  23.     beq    Exit
  24.  
  25.     a0 = d0            ;( Window )
  26.     Move( 50(a0) 20 30 )    ;wd_RPort
  27.  
  28.     a0 = Window
  29.     Text( 50(a0) "I hope you enjoy using EZAsm!" 29 )
  30.     
  31.  
  32. *   Check for messages..
  33.  
  34.  
  35. CheckMsg
  36.  
  37.     a1 = Window
  38.     WaitPort( 86(a1) )    ;wd_UserPort
  39.  
  40. GetMessage
  41.  
  42.     a1 = Window
  43.     MsgSave = GetMsg( 86(a1) )
  44.     beq    CheckMsg
  45.  
  46. *   Got something..
  47.  
  48.     a1 = d0            ;( MsgSave )
  49.     IMClass = 20(a1)    ;im_Class
  50.     IMCode = 24(a1)        ;im_Code
  51.  
  52.     ReplyMsg( d0 )
  53.  
  54.     IMClass != 512 GetMessage    ;CLOSEWINDOW?
  55.  
  56.  
  57. Exit
  58.  
  59.     Window != 0 {
  60.  
  61.         Forbid()    ;( stop messages )
  62.  
  63. FreeLoop    a1 = Window
  64.         GetMsg( 86(a1) )
  65.  
  66.         d0 != 0 {
  67.             ReplyMsg( d0 )
  68.             bra    FreeLoop
  69.         }
  70.  
  71.         CloseWindow( Window )
  72.         Permit()
  73.     }
  74.  
  75.     Screen != 0 {
  76.         CloseScreen( Screen )
  77.     }
  78.  
  79.  
  80.     END
  81.  
  82.  
  83.  
  84.  
  85.  
  86.     ds.w    0        ;( word align )
  87. NewScr    dc.w    0,0,640,0,2    ;LeftEdge,TopEdge,Width,Height,Depth
  88.     dc.b    -1,-1        ;DetailPen,BlockPen
  89.     dc.w    $8000,$f    ;ViewModes HIRES,Type CUSTOMSCREEN
  90.     dc.l    0,0        ;Font,DefaultTitle
  91.     dc.l    0        ;Gadgets
  92.     dc.l    0        ;CustomBitMap
  93.  
  94.  
  95.     ds.w    0        ;( word align )
  96. NewWin    dc.w    20,20,300,75    ;LeftEdge,TopEdge,Width,Height    
  97.     dc.b    -1,-1        ;DetailPen,BlockPen
  98.     dc.l    $200        ;IDCMPFlags CLOSEWINDOW
  99.     dc.l    $2100f        ;Flags
  100.     dc.l    0,0,0        ;FirstGadget,CheckMark,Title
  101.     dc.l    0,0        ;Screen,BitMap
  102.     dc.w    400,75        ;MinWidth,MinHeight
  103.     dc.w    -1,-1        ;MaxWidth,MaxHeight
  104.     dc.w    $f        ;Type CUSTOMSCREEN
  105.  
  106.  
  107. *  Flags      = WINDOWCLOSE | SMART_REFRESH | ACTIVATE | WINDOWDRAG
  108. *        | WINDOWDEPTH | WINDOWSIZING | NOCAREREFRESH
  109.  
  110.