mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-03 09:31:04 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
282 lines
7.8 KiB
OpenEdge ABL
282 lines
7.8 KiB
OpenEdge ABL
{************************************************************
|
|
Terminals.p
|
|
Pascal Interface to the Terminal Manager
|
|
|
|
Copyright Apple Computer, Inc. 1988-1991
|
|
All rights reserved
|
|
|
|
This file is used in these builds: Mac32 HcMac MacPP BigBang Sys606
|
|
|
|
Change History (most recent first):
|
|
|
|
<8> 8/28/91 CH Updated interface headers for consistency.
|
|
<7> 8/20/91 BH remove TMSetupCleanup from public interfaces
|
|
<6> 7/25/91 JL Checked in database generated file from DSG. Added
|
|
TerminalSendProcPtr - > TerminalChooseIdleProcPtr and utilized
|
|
them to match C file
|
|
<5> 6/25/91 JNG Added tmConfigChanged
|
|
<4> 6/18/91 BH remove TMPChoose
|
|
<3> 2/4/91 JL Changed Includes to Include from PInterfaces directory of the
|
|
Shell
|
|
<2> 8/28/90 kaz Change TermPointer to TermPtr
|
|
<1> 3/14/90 BBH first checked in
|
|
|
|
To Do:
|
|
************************************************************}
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT Terminals;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingTerminals}
|
|
{$SETC UsingTerminals := 1}
|
|
|
|
{$I+}
|
|
{$SETC TerminalsIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingDialogs}
|
|
{$I $$Shell(PInterfaces)Dialogs.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingCTBUtilities}
|
|
{$I $$Shell(PInterfaces)CTBUtilities.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingConnections}
|
|
{$I $$Shell(PInterfaces)Connections.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := TerminalsIncludes}
|
|
|
|
CONST
|
|
|
|
{ current Terminal Manager version }
|
|
curTMVersion = 2;
|
|
|
|
{ current Terminal Manager Environment Record version }
|
|
curTermEnvRecVers = 0;
|
|
|
|
{ error codes }
|
|
tmGenericError = -1;
|
|
tmNoErr = 0;
|
|
tmNotSent = 1;
|
|
tmEnvironsChanged = 2;
|
|
tmNotSupported = 7;
|
|
tmNoTools = 8;
|
|
|
|
TYPE
|
|
TMErr = OSErr;
|
|
|
|
CONST
|
|
|
|
{ TMFlags }
|
|
tmInvisible = $00000001;
|
|
tmSaveBeforeClear = $00000002;
|
|
tmNoMenus = $00000004;
|
|
tmAutoScroll = $00000008;
|
|
tmConfigChanged = $00000010;
|
|
|
|
TYPE
|
|
{ TMFlags }
|
|
TMFlags = LONGINT;
|
|
|
|
|
|
CONST
|
|
|
|
{ TMSelTypes & TMSearchTypes }
|
|
selTextNormal = $0001;
|
|
selTextBoxed = $0002;
|
|
selGraphicsMarquee = $0004;
|
|
selGraphicsLasso = $0008;
|
|
tmSearchNoDiacrit = $0100; {These are only for TMSearchTypes}
|
|
tmSearchNoCase = $0200; {These are only for TMSearchTypes}
|
|
|
|
TYPE
|
|
{ TMSelTypes & TMSearchTypes }
|
|
TMSearchTypes = INTEGER;
|
|
|
|
|
|
TMSelTypes = INTEGER;
|
|
|
|
CONST
|
|
|
|
{ TMCursorTypes }
|
|
cursorText = 1;
|
|
cursorGraphics = 2;
|
|
|
|
TYPE
|
|
TMCursorTypes = INTEGER;
|
|
|
|
|
|
CONST
|
|
|
|
{ TMTermTypes }
|
|
tmTextTerminal = $0001;
|
|
tmGraphicsTerminal = $0002;
|
|
|
|
TYPE
|
|
{ TMTermTypes }
|
|
TMTermTypes = INTEGER;
|
|
|
|
|
|
TermDataBlockPtr = ^TermDataBlock;
|
|
TermDataBlockH = ^TermDataBlockPtr;
|
|
TermDataBlock = RECORD
|
|
flags: TMTermTypes;
|
|
theData: Handle;
|
|
auxData: Handle;
|
|
reserved: LONGINT;
|
|
END;
|
|
|
|
TermEnvironPtr = ^TermEnvironRec;
|
|
TermEnvironRec = RECORD
|
|
version: INTEGER;
|
|
termType: TMTermTypes;
|
|
textRows: INTEGER;
|
|
textCols: INTEGER;
|
|
cellSize: Point;
|
|
graphicSize: Rect;
|
|
slop: Point;
|
|
auxSpace: Rect;
|
|
END;
|
|
|
|
TMSelection = RECORD
|
|
CASE INTEGER OF
|
|
1: (selRect: Rect);
|
|
2: (selRgnHandle: RgnHandle;
|
|
filler: LONGINT);
|
|
END;
|
|
|
|
{ TMTermTypes }
|
|
TermPtr = ^TermRecord;
|
|
TermHandle = ^TermPtr;
|
|
TermRecord = RECORD
|
|
procID: INTEGER;
|
|
flags: TMFlags;
|
|
errCode: TMErr;
|
|
refCon: LONGINT;
|
|
userData: LONGINT;
|
|
defProc: ProcPtr;
|
|
config: Ptr;
|
|
oldConfig: Ptr;
|
|
environsProc: ProcPtr;
|
|
reserved1: LONGINT;
|
|
reserved2: LONGINT;
|
|
tmPrivate: Ptr;
|
|
sendProc: ProcPtr;
|
|
breakProc: ProcPtr;
|
|
cacheProc: ProcPtr;
|
|
clikLoop: ProcPtr;
|
|
owner: WindowPtr;
|
|
termRect: Rect;
|
|
viewRect: Rect;
|
|
visRect: Rect;
|
|
lastIdle: LONGINT;
|
|
selection: TMSelection;
|
|
selType: TMSelTypes;
|
|
mluField: LONGINT;
|
|
END;
|
|
|
|
|
|
{ application routines type definitions }
|
|
TerminalSendProcPtr = ProcPtr;
|
|
TerminalBreakProcPtr = ProcPtr;
|
|
TerminalCacheProcPtr = ProcPtr;
|
|
TerminalSearchCallBackProcPtr = ProcPtr;
|
|
TerminalClikLoopProcPtr = ProcPtr;
|
|
TerminalEnvironsProcPtr = ProcPtr;
|
|
TerminalChooseIdleProcPtr = ProcPtr;
|
|
|
|
FUNCTION InitTM: TMErr;
|
|
FUNCTION TMGetVersion(hTerm: TermHandle): Handle;
|
|
FUNCTION TMGetTMVersion: INTEGER;
|
|
|
|
FUNCTION TMNew(termRect: Rect;viewRect: Rect;flags: TMFlags;procID: INTEGER;
|
|
owner: WindowPtr;sendProc: TerminalSendProcPtr;cacheProc: TerminalCacheProcPtr;
|
|
breakProc: TerminalBreakProcPtr;clikLoop: TerminalClikLoopProcPtr;environsProc: TerminalEnvironsProcPtr;
|
|
refCon: LONGINT;userData: LONGINT): TermHandle;
|
|
|
|
PROCEDURE TMDispose(hTerm: TermHandle);
|
|
|
|
PROCEDURE TMKey(hTerm: TermHandle;theEvent: EventRecord);
|
|
PROCEDURE TMUpdate(hTerm: TermHandle;visRgn: RgnHandle);
|
|
PROCEDURE TMPaint(hTerm: TermHandle;theTermData: TermDataBlock;theRect: Rect);
|
|
PROCEDURE TMActivate(hTerm: TermHandle;activate: BOOLEAN);
|
|
PROCEDURE TMResume(hTerm: TermHandle;resume: BOOLEAN);
|
|
PROCEDURE TMClick(hTerm: TermHandle;theEvent: EventRecord);
|
|
PROCEDURE TMIdle(hTerm: TermHandle);
|
|
|
|
FUNCTION TMStream(hTerm: TermHandle;theBuffer: Ptr;theLength: LONGINT;flags: CMFlags): LONGINT;
|
|
FUNCTION TMMenu(hTerm: TermHandle;menuID: INTEGER;item: INTEGER): BOOLEAN;
|
|
|
|
PROCEDURE TMReset(hTerm: TermHandle);
|
|
PROCEDURE TMClear(hTerm: TermHandle);
|
|
|
|
PROCEDURE TMResize(hTerm: TermHandle;newViewRect: Rect);
|
|
|
|
FUNCTION TMGetSelect(hTerm: TermHandle;theData: Handle;VAR theType: ResType): LONGINT;
|
|
PROCEDURE TMGetLine(hTerm: TermHandle;lineNo: INTEGER;VAR theTermData: TermDataBlock);
|
|
PROCEDURE TMSetSelection(hTerm: TermHandle;theSelection: TMSelection;selType: TMSelTypes);
|
|
|
|
PROCEDURE TMScroll(hTerm: TermHandle;dh: INTEGER;dv: INTEGER);
|
|
|
|
FUNCTION TMValidate(hTerm: TermHandle): BOOLEAN;
|
|
PROCEDURE TMDefault(VAR theConfig: Ptr;procID: INTEGER;allocate: BOOLEAN);
|
|
|
|
FUNCTION TMSetupPreflight(procID: INTEGER;VAR magicCookie: LONGINT): Handle;
|
|
PROCEDURE TMSetupSetup(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
|
|
VAR magicCookie: LONGINT);
|
|
FUNCTION TMSetupFilter(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
|
|
VAR theEvent: EventRecord;VAR theItem: INTEGER;VAR magicCookie: LONGINT): BOOLEAN;
|
|
PROCEDURE TMSetupItem(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
|
|
VAR theItem: INTEGER;VAR magicCookie: LONGINT);
|
|
PROCEDURE TMSetupXCleanup(procID: INTEGER;theConfig: Ptr;count: INTEGER;
|
|
theDialog: DialogPtr;OKed: BOOLEAN;VAR magicCookie: LONGINT);
|
|
PROCEDURE TMSetupPostflight(procID: INTEGER);
|
|
|
|
FUNCTION TMGetConfig(hTerm: TermHandle): Ptr;
|
|
FUNCTION TMSetConfig(hTerm: TermHandle;thePtr: Ptr): INTEGER;
|
|
|
|
FUNCTION TMIntlToEnglish(hTerm: TermHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
|
|
language: INTEGER): OSErr;
|
|
FUNCTION TMEnglishToIntl(hTerm: TermHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
|
|
language: INTEGER): OSErr;
|
|
|
|
PROCEDURE TMGetToolName(id: INTEGER;VAR name: Str255);
|
|
FUNCTION TMGetProcID(name: Str255): INTEGER;
|
|
|
|
PROCEDURE TMSetRefCon(hTerm: TermHandle;refCon: LONGINT);
|
|
FUNCTION TMGetRefCon(hTerm: TermHandle): LONGINT;
|
|
|
|
PROCEDURE TMSetUserData(hTerm: TermHandle;userData: LONGINT);
|
|
FUNCTION TMGetUserData(hTerm: TermHandle): LONGINT;
|
|
|
|
FUNCTION TMAddSearch(hTerm: TermHandle;theString: Str255;where: Rect;searchType: TMSearchTypes;
|
|
callBack: TerminalSearchCallBackProcPtr): INTEGER;
|
|
PROCEDURE TMRemoveSearch(hTerm: TermHandle;refnum: INTEGER);
|
|
PROCEDURE TMClearSearch(hTerm: TermHandle);
|
|
|
|
FUNCTION TMGetCursor(hTerm: TermHandle;cursType: TMCursorTypes): Point;
|
|
|
|
FUNCTION TMGetTermEnvirons(hTerm: TermHandle;VAR theEnvirons: TermEnvironRec): TMErr;
|
|
|
|
FUNCTION TMChoose(VAR hTerm: TermHandle;where: Point;idleProc: TerminalChooseIdleProcPtr): INTEGER;
|
|
|
|
PROCEDURE TMEvent(hTerm: TermHandle;theEvent: EventRecord);
|
|
|
|
FUNCTION TMDoTermKey(hTerm: TermHandle;theKey: Str255): BOOLEAN;
|
|
FUNCTION TMCountTermKeys(hTerm: TermHandle): INTEGER;
|
|
PROCEDURE TMGetIndTermKey(hTerm: TermHandle;id: INTEGER;VAR theKey: Str255);
|
|
|
|
PROCEDURE TMGetErrorString(hTerm: TermHandle;id: INTEGER;VAR errMsg: Str255);
|
|
|
|
|
|
{$ENDC} { UsingTerminals }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|