home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / misc / gms_dev.lha / GMS / Source / E / Fireworks / QGMS2.e < prev    next >
Encoding:
Text File  |  1997-01-10  |  1.3 KB  |  80 lines

  1. /*
  2.  * QuickGMS screen methods, these are jsut to make screens simpler to
  3.  * initialise, no big deal. 
  4.  */
  5.  
  6. OPT MODULE
  7. OPT EXPORT
  8.  
  9. MODULE 'games','games/games'
  10.  
  11. EXPORT OBJECT newgmsscn
  12.   width:LONG
  13.   height:LONG
  14.   depth:LONG
  15.   attribs:LONG
  16.   mode:LONG
  17.   type:LONG
  18. ENDOBJECT
  19.  
  20. OBJECT qgscn PUBLIC
  21.   scn:PTR TO gamescreen
  22. ENDOBJECT
  23.  
  24. PROC init(gs:PTR TO newgmsscn) OF qgscn
  25. /*
  26.  * Open screen
  27.  */
  28.  
  29.   DEF s:PTR TO gamescreen
  30.  
  31.   s:=NEW [GSV1,
  32.           0,      -> Stats
  33.           0,0,0,  -> Buffers
  34.           0,      -> Linked screen
  35.           0,      -> Palette
  36.           0,      -> Rasterlist
  37.           0,      -> Colours
  38.           gs.width,gs.height,  -> Width and height
  39.           gs.width,gs.width/8,gs.height, -> Picture width and height
  40.           gs.depth,   -> Depth
  41.           0,0,   -> x,y screen offset
  42.           0,0,   -> x,y picture offset
  43.           gs.attribs, -> Attributes
  44.           gs.mode,
  45.           gs.type
  46.         ]:gamescreen
  47.  
  48.   self.scn:=s
  49.  
  50. ENDPROC
  51.  
  52. PROC open() OF qgscn
  53. /*
  54.  * Add screen into list
  55.  */
  56.  
  57.   DEF err=NIL
  58.  
  59.   err:=AddScreen(self.scn)
  60.  
  61. ENDPROC err
  62.  
  63. PROC getscreen() OF qgscn
  64. /*
  65.  * Get the real GMS screen pointer
  66.  */
  67. ENDPROC(self.scn)
  68.  
  69. PROC end() OF qgscn
  70. /*
  71.  * Remove screen and dispose of alloc'd ram
  72.  */
  73.  
  74.   IF self.scn
  75.     DeleteScreen(self.scn)
  76.     END self.scn
  77.   ENDIF
  78.  
  79. ENDPROC
  80.