boot3/Internal/Pascal/Layers.p
Elliot Nunn 5b0f0cc134 Bring in CubeE sources
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.
2017-12-26 10:02:57 +08:00

182 lines
5.1 KiB
OpenEdge ABL

{
File: Layers.p
Contains: The Layers unit is a unit shell.
Written by: Ed Tecot
Pascal unit translated from Layers.h by Kevin S. MacDonell
The whole thing redone by Randy Carr
Copyright: © 1989-1992 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<11> 7/28/92 DCL Moved applicationFloatKind & systemFloatKind constants out of
the public eye and into the private Layers header file. At the
request of TechPubs, and with moral support from Dean, Greg and
Kenny.
<10> 8/28/91 JSM Cleanup header.
<9> 1/3/91 VL (RLC) Add a new public routine RedrawAll.
<8> 9/7/90 DFH Changed SetLayerLock to GetDeskPort
<7> 7/23/90 EMT Changed IsLayerLocked to WindowType.
<5> 3/16/90 DC Added interface for CheckWindow
<4> 3/15/90 ngk Update Pascal interface to match C headers.
<3> 3/7/90 DC Changed names of some window positioning constants
<1> 2/21/90 HJR Moved from Interfaces:PInterfaces to Internal:Pascal
<2> 2/20/90 DC Added PositionWIndow, AutoPositionWindow, GetWindowState,
SetWindowState
<1.3> 10/16/89 ngk Oops! AutoIncluded too much
<1.2> 10/16/89 ngk Changed it from unit file to an MPW interface file
<1.1> 6/14/89 KSM Removed compiler flag for tear off menus
<1.0> 6/1/89 KSM Pascal interface to the new Layer Manager.
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT Layers;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingLayers}
{$SETC UsingLayers := 1}
{$I+}
{$SETC LayersIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingMemory}
{$I Memory.p}
{$ENDC}
{$IFC UNDEFINED UsingWindows}
{$I Windows.p}
{$ENDC}
{$SETC UsingIncludes := LayersIncludes}
CONST
applicationFloatKind = 6; { floating window created by applications }
systemFloatKind = 7; { floating window belongs to text services }
TYPE
LocationControlValues = (lcMainScreen, lcParentWindowScreen, lcParentWindow);
HorizontalControlValues = (hcNoHorizontalControl, hcCenter);
VerticalControlValues = (vcNoVerticalControl, vcDocumentCenter, vcAlertCenter, vcStagger);
CheckControlValues = (ccFrame, ccDragBar, ccContent);
LayerPtr = GrafPtr;
LayerPeek = ^LayerRecord;
LayerRecord = RECORD
port: GrafPort;
windowKind: INTEGER;
visible: BOOLEAN;
reserved1: BOOLEAN;
neverActive: BOOLEAN;
reserved2: BOOLEAN;
strucRgn: RgnHandle;
contRgn: RgnHandle;
updateRgn: RgnHandle;
reserved3: LONGINT;
parent: LayerPeek;
auxWinHead: AuxWinHandle;
reserved4: INTEGER;
auxCtlHead: AuxCtlHandle;
nextWindow: WindowPeek;
subWindows: WindowPeek;
refCon: LONGINT;
END;
WindowActionProcPtr = ProcPtr; { Action(window: WindowPeek; parent: LayerPeek; callBackPtr: Ptr); }
FUNCTION NewLayer(VAR lStorage: LayerPtr; visible, neverActive: BOOLEAN; behind: WindowPtr; refCon: LONGINT): OsErr;
INLINE $7001,$A829;
FUNCTION IsLayer( window: WindowPtr ): BOOLEAN;
INLINE $7002,$A829;
FUNCTION GetCurLayer: LayerPtr;
INLINE $7003,$A829;
PROCEDURE SetCurLayer( layer: LayerPtr );
INLINE $7004,$A829;
FUNCTION SwapCurLayer( layer: LayerPtr ): LayerPtr;
INLINE $7005,$A829;
FUNCTION GetSubWindows( layer: LayerPtr ): WindowPeek;
INLINE $7006,$A829;
FUNCTION FindLayer(pt: Point; VAR window: WindowPtr): OSErr;
INLINE $7007,$A829;
PROCEDURE PositionWindow(whichWindow: WindowPtr; referenceRect: Rect;
findScreen: BOOLEAN;
horizontalControl: HorizontalControlValues;
verticalControl: VerticalControlValues);
INLINE $7008,$A829;
PROCEDURE AutoPositionWindow(whichWindow: WindowPtr; where: LocationControlValues;
horizontalControl: HorizontalControlValues;
verticalControl: VerticalControlValues);
INLINE $7009,$A829;
FUNCTION GetWindowState(whichWindow: WindowPtr; windState: Handle;
VAR infoSize: Size): OSErr;
INLINE $700A,$A829;
FUNCTION SetWindowState(whichWindow: WindowPtr; windState: Handle): OSErr;
INLINE $700B,$A829;
FUNCTION CheckWindow(whichWindow: WindowPtr;
checkControl: CheckControlValues;
entirelyOnScreen: BOOLEAN): BOOLEAN;
INLINE $700C,$A829;
PROCEDURE RedrawAll;
INLINE $700D,$A829;
{ Beginning of private Layer interfaces }
FUNCTION InitLayers: OSErr;
INLINE $7000,$A829;
FUNCTION GetRootLayer: LayerPtr;
INLINE $70FF,$A829;
FUNCTION ActiveWindow: WindowPtr;
INLINE $70FE,$A829;
PROCEDURE FrontWindowIn(layer: LayerPtr);
INLINE $70FD,$A829;
FUNCTION CheckUpdateIn(VAR event: EventRecord; layer: LayerPtr): LayerPtr;
INLINE $70FC,$A829;
FUNCTION GetDeskPort(VAR port: GrafPtr): OSErr;
INLINE $70FB,$A829;
FUNCTION WindowType(window: WindowPtr): INTEGER;
INLINE $70FA,$A829;
FUNCTION GetParent(window: WindowPtr): LayerPeek;
INLINE $70F9,$A829;
FUNCTION EachWindow(start,stop: WindowPeek; parent: LayerPeek;
action: WindowActionProcPtr; callBackPtr: Ptr): LayerPeek;
INLINE $70F8,$A829;
{$ENDC} { UsingLayers }
{$IFC NOT UsingIncludes}
END.
{$ENDC}