Module shared_screen - Shared screen library
Shared screen library.
To use this library:
#INCLUDE "shared_screen.module"
Index
-
Data type
COLOUR- A colour -
Group
COLOURS- Colour constants-
Constant
black- Black -
Constant
blue- Blue -
Constant
bold.black- Bold black (grey) -
Constant
bold.blue- Bold blue -
Constant
bold.cyan- Bold cyan -
Constant
bold.green- Bold green -
Constant
bold.magenta- Bold magenta -
Constant
bold.red- Bold red -
Constant
bold.white- Bold white -
Constant
bold.yellow- Bold yellow -
Constant
cyan- Cyan -
Constant
default- Default colour -
Constant
green- Green -
Constant
magenta- Magenta -
Constant
red- Red -
Constant
white- White -
Constant
yellow- Yellow
-
Constant
-
Record
COORDINATES- A pair of coordinates-
Variable
X- X coordinate -
Variable
Y- Y coordinate
-
Variable
-
Record
COORDINATES.COLOUR- A pair of coordinates and a colour-
Variable
X- X coordinate -
Variable
Y- Y coordinate -
Variable
col- Colour
-
Variable
-
Group
SCREEN.COMMAND- Command tags for -
Protocol
SCREEN.CONTROL- Control protocol for-
Tag
byte- Draw a byte -
Tag
c.erase.bol- Move then erase to beginning of line -
Tag
c.erase.bos- Move then erase to beginning of screen -
Tag
c.erase.eol- Move then erase to end of line -
Tag
c.erase.eos- Move then erase to end of screen -
Tag
c.erase.line- Move then erase whole line -
Tag
character- Draw a character -
Tag
colour- Set colour -
Tag
coordinates- Set coordinates -
Tag
cursor.invisible- Make the cursor invisible -
Tag
cursor.visible- Make the cursor visible -
Tag
down- Move down -
Tag
draw.down- Move down drawing character -
Tag
draw.left- Move left drawing character -
Tag
draw.right- Move right drawing character -
Tag
draw.up- Move up drawing character -
Tag
erase.bol- Erase to beginning of line -
Tag
erase.bos- Erase to beginning of screen -
Tag
erase.eol- Erase to end of line -
Tag
erase.eos- Erase to end of screen -
Tag
erase.line- Erase whole line -
Tag
erase.screen- Clear the screen -
Tag
flush- Force a screen update -
Tag
integer- Draw an integer -
Tag
interpret- Interpret a list of commands -
Tag
left- Move left -
Tag
poison- Exit -
Tag
right- Move right -
Tag
string- Draw a string -
Tag
up- Move up
-
Tag
-
Record
SCREEN.NODE- A batch instruction to the shared screen-
Variable
a- First argument -
Variable
b- Second argument -
Variable
tag- The command to execute
-
Variable
-
Process
fg.col- Set foreground colour -
Process
screen.driver- Shared screen process -
Process
screen.interpret- Interpret an array of screen update commands
Declarations
shared_screen.occ:39Process fg.col
PROC fg.col (VAL COLOUR c, CHAN BYTE out!)
Set foreground colour. Generate a VT220 control sequence to set the terminal colour.
Parameters:
VAL COLOUR |
c |
Colour to set; see COLOURS
|
CHAN BYTE |
out |
Channel to write to |
shared_screen.occ:74Process screen.interpret
PROC screen.interpret (VAL []SCREEN.NODE node, CHAN BYTE out!)
Interpret an array of screen update commands.
Parameters:
VAL []SCREEN.NODE |
node |
Commands to interpret; see SCREEN.NODE
|
CHAN BYTE |
out |
Channel to write to |
shared_screen.occ:185Process screen.driver
PROC screen.driver (CHAN SCREEN.CONTROL in?, CHAN BYTE out!)
Shared screen process. Manage a VT220 terminal display.
Parameters:
CHAN SCREEN.CONTROL |
in |
Command input channel (see SCREEN.CONTROL) |
CHAN BYTE |
out |
Channel to write to |
shared_screen.inc:25Data type COLOUR
DATA TYPE COLOUR
A colour.
shared_screen.inc:26Group COLOURS
Colour constants
shared_screen.inc:27Constant default
VAL COLOUR default
Default colour
shared_screen.inc:28Constant black
VAL COLOUR black
Black
shared_screen.inc:29Constant red
VAL COLOUR red
Red
shared_screen.inc:30Constant green
VAL COLOUR green
Green
shared_screen.inc:31Constant yellow
VAL COLOUR yellow
Yellow
shared_screen.inc:32Constant blue
VAL COLOUR blue
Blue
shared_screen.inc:33Constant magenta
VAL COLOUR magenta
Magenta
shared_screen.inc:34Constant cyan
VAL COLOUR cyan
Cyan
shared_screen.inc:35Constant white
VAL COLOUR white
White
shared_screen.inc:36Constant bold.black
VAL COLOUR bold.black
Bold black (grey)
shared_screen.inc:37Constant bold.red
VAL COLOUR bold.red
Bold red
shared_screen.inc:38Constant bold.green
VAL COLOUR bold.green
Bold green
shared_screen.inc:39Constant bold.yellow
VAL COLOUR bold.yellow
Bold yellow
shared_screen.inc:40Constant bold.blue
VAL COLOUR bold.blue
Bold blue
shared_screen.inc:41Constant bold.magenta
VAL COLOUR bold.magenta
Bold magenta
shared_screen.inc:42Constant bold.cyan
VAL COLOUR bold.cyan
Bold cyan
shared_screen.inc:43Constant bold.white
VAL COLOUR bold.white
Bold white
shared_screen.inc:48Record COORDINATES
DATA TYPE COORDINATES
A pair of coordinates.
shared_screen.inc:50Variable X
BYTE
X coordinate
shared_screen.inc:51Variable Y
BYTE
Y coordinate
shared_screen.inc:56Record COORDINATES.COLOUR
DATA TYPE COORDINATES.COLOUR
A pair of coordinates and a colour.
shared_screen.inc:58Variable X
BYTE
X coordinate
shared_screen.inc:59Variable Y
BYTE
Y coordinate
shared_screen.inc:60Variable col
COLOUR
Colour
shared_screen.inc:91Record SCREEN.NODE
DATA TYPE SCREEN.NODE
A batch instruction to the shared screen. This is really a union type; the argument tags have different meanings depending on the command.
shared_screen.inc:97Variable a
BYTE
First argument
shared_screen.inc:99Variable b
BYTE
Second argument
shared_screen.inc:106Protocol SCREEN.CONTROL
PROTOCOL SCREEN.CONTROL
Control protocol for screen.driver.
shared_screen.inc:109Tag coordinates
coordinates; COORDINATES
Set coordinates
shared_screen.inc:110Tag colour
colour; COLOUR
Set colour
shared_screen.inc:111Tag string
string; BYTE::[]BYTE
Draw a string
shared_screen.inc:112Tag integer
integer; INT
Draw an integer
shared_screen.inc:113Tag byte
byte; BYTE
Draw a byte
shared_screen.inc:114Tag character
character; BYTE
Draw a character
shared_screen.inc:115Tag left
left; BYTE
Move left
shared_screen.inc:116Tag right
right; BYTE
Move right
shared_screen.inc:117Tag up
up; BYTE
Move up
shared_screen.inc:118Tag down
down; BYTE
Move down
shared_screen.inc:119Tag draw.left
draw.left; BYTE; BYTE
Move left drawing character
shared_screen.inc:120Tag draw.right
draw.right; BYTE; BYTE
Move right drawing character
shared_screen.inc:121Tag draw.up
draw.up; BYTE; BYTE
Move up drawing character
shared_screen.inc:122Tag draw.down
draw.down; BYTE; BYTE
Move down drawing character
shared_screen.inc:123Tag erase.eol
erase.eol
Erase to end of line
shared_screen.inc:124Tag erase.bol
erase.bol
Erase to beginning of line
shared_screen.inc:125Tag erase.line
erase.line
Erase whole line
shared_screen.inc:126Tag erase.eos
erase.eos
Erase to end of screen
shared_screen.inc:127Tag erase.bos
erase.bos
Erase to beginning of screen
shared_screen.inc:128Tag flush
flush
Force a screen update
shared_screen.inc:142Tag c.erase.eol
c.erase.eol; COORDINATES
Move then erase to end of line
shared_screen.inc:143Tag c.erase.bol
c.erase.bol; COORDINATES
Move then erase to beginning of line
shared_screen.inc:144Tag c.erase.line
c.erase.line; COORDINATES
Move then erase whole line
shared_screen.inc:145Tag c.erase.eos
c.erase.eos; COORDINATES
Move then erase to end of screen
shared_screen.inc:146Tag c.erase.bos
c.erase.bos; COORDINATES
Move then erase to beginning of screen
shared_screen.inc:147Tag erase.screen
erase.screen
Clear the screen
shared_screen.inc:148Tag cursor.visible
cursor.visible
Make the cursor visible
shared_screen.inc:149Tag cursor.invisible
cursor.invisible
Make the cursor invisible
shared_screen.inc:152Tag interpret
interpret; BYTE::[]SCREEN.NODE
Interpret a list of commands. See SCREEN.NODE.
shared_screen.inc:153Tag poison
poison
Exit