mirror of
https://github.com/elliotnunn/boot3.git
synced 2024-12-28 20:29:26 +00:00
5b0f0cc134
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.
182 lines
5.1 KiB
OpenEdge ABL
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}
|
|
|
|
|