home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 2 / MECOMP-CD-II.iso / amiga / tools / workbench / testwindow / testwindow.e < prev    next >
Encoding:
Text File  |  1997-01-16  |  2.5 KB  |  85 lines

  1. /* $VER: TestWindow 1.0b (23.9.96)
  2.   Test Window  v1.0a
  3.   9/23/96  J. Tierney
  4.  
  5.   Usage:  TestWindow [pubscreen]
  6. */
  7.  
  8. MODULE 'exec/types',
  9.        'exec/ports',
  10.        'intuition/intuition',
  11.        'intuition/screens',
  12.        'dos/dos',
  13.        'graphics/displayinfo',
  14.        'utility/tagitem'
  15.  
  16. CONST NOTZERO = $FFFFFFFF
  17.  
  18. ENUM OKQUIT, NOWINDOW
  19.  
  20. RAISE NOWINDOW IF OpenWindowTagList() = NIL
  21.  
  22. DEF scrntitle[80]:STRING, winw, winh
  23.  
  24. PROC main() HANDLE
  25.   DEF class, code,
  26.       testwin=NIL:PTR TO window,
  27.       scrnw, scrnh, tmp
  28.  
  29.   testwin:=OpenWindowTagList(NIL,
  30.                             [WA_LEFT, 20,          WA_TOP, 10,
  31.                             WA_WIDTH, 200,         WA_HEIGHT, 75,
  32.                             WA_MINWIDTH, 65,       WA_MINHEIGHT, 15,
  33.                             WA_MAXWIDTH, NOTZERO,  WA_MAXHEIGHT, NOTZERO,
  34.                             WA_DRAGBAR,            TRUE,
  35.                             WA_DEPTHGADGET,        TRUE,
  36.                             WA_SIZEGADGET,         TRUE,
  37.                             WA_CLOSEGADGET,        TRUE,
  38.                             WA_SIMPLEREFRESH,      TRUE,
  39.                             WA_NOCAREREFRESH,      TRUE,
  40.                             WA_ACTIVATE,           TRUE,
  41.                             WA_IDCMP,              IDCMP_CLOSEWINDOW OR IDCMP_CHANGEWINDOW OR IDCMP_VANILLAKEY,
  42.                             WA_TITLE,              'TestWindow',
  43.                             WA_PUBSCREENNAME,      arg,
  44.                             WA_PUBSCREENFALLBACK,  TRUE])
  45.  
  46.   setscrntitle(testwin)
  47.  
  48.   scrnw:=testwin.wscreen.width AND $FFFF
  49.   scrnh:=testwin.wscreen.height AND $FFFF
  50.  
  51.   LOOP
  52.     class:=WaitIMessage(testwin)
  53.     code:=MsgCode() AND $FFFFFFDF
  54.     SELECT class
  55.       CASE IDCMP_CLOSEWINDOW
  56.         Raise(OKQUIT)
  57.       CASE IDCMP_CHANGEWINDOW
  58.         setscrntitle(testwin)
  59.       CASE IDCMP_VANILLAKEY
  60.         SELECT code
  61.           CASE "H"
  62.             tmp:=(scrnw / 2) - (winw / 2)
  63.             ChangeWindowBox(testwin, tmp, testwin.topedge, winw, winh)
  64.           CASE "V"
  65.             tmp:=(scrnh / 2) - (winh / 2)
  66.             ChangeWindowBox(testwin, testwin.leftedge, tmp, winw, winh)
  67.         ENDSELECT
  68.     ENDSELECT
  69.   ENDLOOP
  70.  
  71. EXCEPT
  72.   IF testwin THEN CloseWindow(testwin)
  73. ENDPROC IF exception THEN 10 ELSE 0
  74.  
  75. PROC setscrntitle(win:PTR TO window)
  76.   winw:=win.width AND $FFFF
  77.   winh:=win.height AND $FFFF
  78.  
  79.   StringF(scrntitle, 'Test Window - x: \d  y: \d  w: \d  h: \d', win.leftedge, win.topedge, winw, winh)
  80.   SetWindowTitles(win, -1, scrntitle)
  81. ENDPROC
  82.  
  83. CHAR '$VER: TestWindow 1.0b (23.9.96) by J. Tierney', 0
  84.  
  85.