home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 106 / EnigmaAmiga106CD.iso / www / afc / afc-dir / truebitmap_all.lha / truebitmap_Examples.lha / Examples / truebitmap_example1.e < prev   
Text File  |  1998-02-03  |  1KB  |  55 lines

  1. MODULE 'cybergraphics', 'libraries/cybergraphics',
  2.        'intuition/screens', 'intuition/intuition',
  3.        'afc/truebitmap', 'afc/explain_exception'
  4.  
  5.  
  6. PROC main() HANDLE
  7.   DEF scr=NIL:PTR TO screen
  8.   DEF win=NIL:PTR TO window
  9.   DEF tbm:PTR TO truebitmap
  10.   DEF pix:PTR TO rgb32
  11.   DEF id
  12.   DEF x, y, r=0, b=0
  13.  
  14.   IF (cybergfxbase:=OpenLibrary('cybergraphics.library', 0))=NIL THEN Raise("lib")
  15.  
  16.   IF (id:=BestCModeIDTagList([CYBRBIDTG_Depth,           24,
  17.                           CYBRBIDTG_NominalWidth,  320,
  18.                           CYBRBIDTG_NominalHeight, 256,
  19.                           0,0]))=0 THEN Raise("scid")
  20.  
  21.   IF (scr:=LockPubScreen(NIL))=NIL THEN Raise("scr")
  22.  
  23.   IF (win:=OpenWindowTagList(NIL, [WA_WIDTH,  100,
  24.                                    WA_HEIGHT, 100,
  25.                                    WA_TITLE,  'Cyber 24Bitmap',
  26.                                    NIL, NIL]))=NIL THEN Raise("win")
  27.  
  28.   NEW tbm.truebitmap()
  29.   NEW pix
  30.  
  31.   tbm.alloc(50,50)
  32.  
  33.   FOR y:=0 TO 50
  34.     FOR x:=0 TO 50
  35.       tbm.writePixelDirect(x, y, r, 0,0)
  36.       r++
  37.     ENDFOR
  38.     r:=b++
  39.   ENDFOR
  40.  
  41.   WritePixelArray(tbm.addr(), 0,0, tbm.bytesperrow(), win.rport, 20, 20, 50,50, RECTFMT_ARGB)
  42.  
  43.   REPEAT
  44.     Delay(5)
  45.   UNTIL Mouse()
  46.  
  47. EXCEPT DO
  48.   IF win THEN CloseWindow(win)
  49.   IF scr THEN UnlockPubScreen(NIL, scr)
  50.   IF cybergfxbase THEN CloseLibrary(cybergfxbase)
  51.   END tbm
  52.   END pix
  53. ENDPROC
  54.  
  55.