Jump to content

Oberon/The Oberon System, V1 and V2

From Wikibooks, open books for an open world

Text in V2

[edit | edit source]

Text is a type declared in Module Texts.

Texts.Text
Type Fields of TextDesc Types of Fields Notes
Texts.Text, a pointer to a Texts.TextDesc len LONGINT Length of text, in bytes.
changed BOOLEAN Flag indicating a revision.
notify Texts.Notifier Pointer to a method to notify interested clients of state changes.
trailer Texts.Piece Pointer to the Sentinel node in the list of pieces.
pce Texts.Piece Last found piece.
org LONGINT Offset in [0,len) of first character in last found piece.
Texts.Piece
Type Fields of PieceDesc Types of Fields Notes
Texts.Piece, a pointer to a Texts.PieceDesc f Files.File Pointer, to file.
off LONGINT Integer offset in Text of first character in Piece.
len LONGINT Number of bytes in Piece.
fnt Fonts.Font Pointer to a font.
col INTEGER  
voff INTEGER Vertical offset of characters in pixels.
prev Texts.Piece Pointer to previous piece of Text.
next Texts.Piece Pointer to next piece of Text.

Sources in V2

[edit | edit source]

Modules as listed in Project Oberon, 1992 [2005 Edition PDF (4'398 kB)], tabulated on pages 18-19. Sources throughout the text. Styling here was crafted to imitate styling in Project Oberon. Please don't alter these sources without discussion. Indentation is from tab characters. The appearance of the indentation is from attributes "-moz-tab-size: 4; tab-size: 4" in the HTML tag of a module.

Module
Kernel.Mod[1]
FileDir
Files
Modules
Input
Display[1]
Fonts
Viewers
Reals[1]
Texts.Mod
Oberon
MenuViewers
TextFrames
System
SCC
V24
Diskette[2]
Printer
Edit
Backup
Net
Compiler
OCS
OCT
OCC
OCE
OCH
Graphics
GraphicFrames
Draw
Rectangles
Curves
  1. a b c Written in assembler.
  2. Uses the same interface as the hard disk. See Project Oberon, 1992 [2005 Edition PDF (4'398 kB)], page 205.