This file includes the VText operations that involve Regions. These will change when VText supports Regions using Trestle subwindows.
INTERFACEVTextRegion ; IMPORT Rd, Rect, Thread; IMPORT VTDef, VTextDef; TYPE T = VTextDef.T; (* A vtext *) Pixels = VTDef.Pixels; (* A screen coordinate *) ErrorCode = VTDef.ErrorCode; I = VTDef.I; Region = VTextDef.Region; EXCEPTION Error (ErrorCode)(*! = VTDef.Error !*); PROCEDURE SplitRegion (vtext : T; r : Region; v : Pixels; scroll: BOOLEAN := TRUE) RAISES {VTDef.Error, Rd.EndOfFile, Rd.Failure, Thread.Alerted}; PROCEDURE MergeRegion (vtext: T; i, j: Region; scroll: BOOLEAN := TRUE) RAISES {VTDef.Error, Rd.EndOfFile, Rd.Failure, Thread.Alerted}; PROCEDURE Move ( vtext : T; READONLY newRect, savedRect: Rect.T; READONLY dividers : ARRAY OF Pixels; scroll : BOOLEAN ) RAISES {VTDef.Error, Rd.EndOfFile, Rd.Failure, Thread.Alerted}; PROCEDURE SetupRegion (vtext: T; r: Region; north: Pixels; height: CARDINAL; startIndex: I) RAISES {Rd.EndOfFile, Rd.Failure, Thread.Alerted}; PROCEDURE Bad (vtext: T; READONLY where: Rect.T) RAISES {}; PROCEDURE UpdateDividers (vtext: T) RAISES {}; END VTextRegion.