home *** CD-ROM | disk | FTP | other *** search
- (***************************************************************************
-
- $RCSfile: ConUnit.mod $
- Description: Interface to console.device
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.7 $
- $Author: fjc $
- $Date: 1995/01/26 02:39:55 $
-
- $VER: conunit.h 36.15 (20.11.90)
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994-1995, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
- <*$ CaseChk- IndexChk- LongVars+ NilChk- *>
- <*$ RangeChk- StackChk- TypeChk- OvflChk- *>
-
- MODULE [2] ConUnit;
-
- IMPORT
- e := Exec, ie := InputEvent, km := KeyMap, gfx := Graphics,
- i := Intuition, c := Console, s := Sets;
-
-
- (*
- ** Console device unit definitions
- *)
-
- CONST
-
- (* ---- console unit numbers for OpenDevice() *)
- library * = -1; (* no unit, just fill in device field *)
- standard * = 0; (* standard unmapped console *)
-
- (* ---- New unit numbers for OpenDevice() - (V36) *)
-
- charMap * = 1; (* bind character map to console *)
- snipMap * = 3; (* bind character map w/ snip to console *)
-
- (* ---- New flag defines for OpenDevice() - (V37) *)
-
- flagDefault * = {};
- flagNodrawOnNewsize * = {0};
-
-
- pmbAsm * = c.mLNM+1; (* internal storage bit for AS flag *)
- pmbAwm * = pmbAsm+1; (* internal storage bit for AW flag *)
- maxTabs * = 80;
-
- TYPE
-
- ConUnitPtr * = POINTER TO ConUnit;
- ConUnit * = RECORD (e.MsgPortBase)
- mp * : e.MsgPort;
- (* ---- read only variables *)
- window - : i.WindowPtr; (* intuition window bound to this unit *)
- xCP - : INTEGER; (* character position *)
- yCP - : INTEGER;
- xMax - : INTEGER; (* max character position *)
- yMax - : INTEGER;
- xRSize - : INTEGER; (* character raster size *)
- yRSize - : INTEGER;
- xROrigin - : INTEGER; (* raster origin *)
- yROrigin - : INTEGER;
- xRExtant - : INTEGER; (* raster maxima *)
- yRExtant - : INTEGER;
- xMinShrink - : INTEGER; (* smallest area intact from resize process *)
- yMinShrink - : INTEGER;
- xcCP - : INTEGER; (* cursor position *)
- ycCP - : INTEGER;
-
- (* ---- read/write variables (writes must must be protected) *)
- (* ---- storage for AskKeyMap and SetKeyMap *)
- keyMapStruct * : km.KeyMap;
- (* ---- tab stops *)
- tabStops * : ARRAY maxTabs OF e.UWORD;
- (* 0 at start, 0FFFFH at end of list *)
-
- (* ---- console rastport attributes *)
- mask * : s.SET8;
- fgPen * : SHORTINT;
- bgPen * : SHORTINT;
- aolPen * : SHORTINT;
- drawMode * : s.SET8;
- obsolete1 * : SHORTINT; (* was cuAreaPtSz -- not used in V36 *)
- obsolete2 * : e.APTR; (* was cuAreaPtrn -- not used in V36 *)
- minterms * : ARRAY 8 OF e.UBYTE; (* console minterms *)
- font * : gfx.TextFontPtr;
- algoStyle * : e.UBYTE;
- txFlags * : s.SET8;
- txHeight * : e.UWORD;
- txWidth * : e.UWORD;
- txBaseline * : e.UWORD;
- txSpacing * : INTEGER;
-
- (* ---- console MODES and RAW EVENTS switches *)
- modes * : ARRAY (pmbAwm+7) DIV 8 OF s.SET8; (* one bit per mode *)
- rawEvents * : ARRAY (ie.classMax+8) DIV 8 OF s.SET8;
- END; (* ConUnit *)
-
- END ConUnit.
-