home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / m2 / CycloneModules.lha / modules / txt / ConUnit.def < prev    next >
Text File  |  1996-07-29  |  3KB  |  100 lines

  1. (*
  2. **    Cyclone Modula-2 Interface module:
  3. **    $VER: conunit.h 36.15 (20.11.90)
  4. **    Includes Release 40.15
  5. **
  6. **    Console device unit definitions
  7. **
  8. **    (C) Copyright 1986-1993 Commodore-Amiga, Inc.
  9. **        All Rights Reserved
  10. **
  11. **      Interface module by Marcel Timmermans
  12. **      (C) Copyright 1995-1996 Marcel Timmermans
  13. **      All Rights Reserved
  14. *)
  15.  
  16. DEFINITION MODULE ConUnit; 
  17.  
  18. (*$ Implementation- *)
  19.  
  20. FROM SYSTEM IMPORT LONGSET,SHORTSET,ADDRESS;
  21. FROM Console IMPORT mLnm;
  22.  
  23. IMPORT ExecD,gd:GraphicsD,km:KeyMapD,id:IntuitionD;
  24.  
  25. CONST
  26.  
  27. (* ---- console unit numbers for OpenDevice() *)
  28.   library   = -1;      (* no unit, just fill in IO_DEVICE field *)
  29.   standard  = 0;       (* standard unmapped console *)
  30.  
  31. (* ---- New unit numbers for OpenDevice() - (V36) *)
  32.  
  33.   charMap   = 1;       (* bind character map to console *)
  34.   snipMap   = 3;       (* bind character map w/ snip to console *)
  35.  
  36. (* ---- New flag defines for OpenDevice() - (V37) *)
  37.  
  38.   flagDefault         = LONGSET{};
  39.   flagNoDrawOnNewSize = LONGSET{0};
  40.  
  41.  
  42.   pmbAsm    = mLnm+1;         (* internal storage bit for AS flag *)
  43.   pmbAwm    = pmbAsm+1;       (* internal storage bit for AW flag *)
  44.   maxTabs   = 80;
  45.  
  46. TYPE
  47.  ConUnitPtr = POINTER TO ConUnit;
  48.  ConUnit = RECORD
  49.   mp            : ExecD.MsgPort;
  50.       (* ---- read only variables *)
  51.   window        : id.WindowPtr; (* intuition window bound to this unit *)
  52.   xCP           : INTEGER;      (* character position *)
  53.   yCP           : INTEGER;
  54.   xMax          : INTEGER;      (* max character position *)
  55.   yMax          : INTEGER;
  56.   xRSize        : INTEGER;      (* character raster size *)
  57.   yRSize        : INTEGER;
  58.   xROrigin      : INTEGER;      (* raster origin *)
  59.   yROrigin      : INTEGER;
  60.   xRExtant      : INTEGER;      (* raster maxima *)
  61.   yRExtant      : INTEGER;
  62.   xMinShrink    : INTEGER;      (* smallest area intact from resize process *)
  63.   yMinShrink    : INTEGER;
  64.   xcCP          : INTEGER;      (* cursor position *)                          
  65.   ycCP          : INTEGER;
  66.  
  67.      (* ---- read/write variables (writes must must be protected) *)
  68.      (* ---- storage for AskKeyMap and SetKeyMap *)
  69.   keyMapStruct  : km.KeyMap;
  70.       (* ---- tab stops *)
  71.   tabStops      : ARRAY [0..maxTabs-1] OF CARDINAL; (* 0 at start, 0xffff at end of list *)
  72.  
  73.       (* ---- console rastport attributes *)
  74.   mask          : SHORTCARD;
  75.   fgPen         : SHORTCARD;
  76.   bgPen         : SHORTCARD;
  77.   aolPen        : SHORTCARD;
  78.   drawMode      : gd.DrawModeSet;
  79.   obsolete1     : SHORTCARD;    (* was cu_AreaPtSz -- not used in V36 *)
  80.   obsolete2     : ADDRESS;      (* was cu_AreaPtrn -- not used in V36 *)
  81.   minTerms      : ARRAY [0..7] OF SHORTCARD;
  82.   font          : gd.TextFontPtr;
  83.   algoStyle     : SHORTCARD;
  84.   txFlags       : SHORTCARD;
  85.   txHeight      : CARDINAL;
  86.   txWidth       : CARDINAL;
  87.   txBaseLine    : CARDINAL;
  88.   txSpacing     : INTEGER;
  89.  
  90.     (* ---- console MODES and RAW EVENTS switches *)
  91.   modes0        : SHORTSET; 
  92.   modes8        : SHORTSET;
  93.   modes16       : SHORTSET;
  94.   rawEvents0    : SHORTSET;
  95.   rawEvents8    : SHORTSET;
  96.   rawEvents16   : SHORTSET;
  97.  END;
  98.  
  99. END ConUnit.
  100.