mac-rom/Interfaces/PInterfaces/Controls.p
Elliot Nunn 4325cdcc78 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 09:52:23 +08:00

256 lines
7.5 KiB
OpenEdge ABL

{
Created: Tuesday, July 30, 1991 at 2:11 PM
Controls.p
Pascal Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1992
All rights reserved
Change History (most recent first):
<8> 11/7/92 JDR Added the PopupPrivateData record.
<7> 4/6/92 DCL For New Inside Mac: Adding fancy new improved names for old
crusty routines. #1025005
<6> 7/30/91 JL Updated Copyright.
<5> 1/29/91 jal <LN> checked in database generated file from DSG.
<4> 12/14/90 dba <JDR> add calc messages for 32-bit clean CDEFs; use
popupMenuProc name to match Pascal
<3> 11/4/90 dba add UpdateControls (synonym for UpdtControl)
<2> 9/15/90 PWD Moved popup constants here from CTBUtilities.p. <kaz> <crz>
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT Controls;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingControls}
{$SETC UsingControls := 1}
{$I+}
{$SETC ControlsIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingQuickdraw}
{$I $$Shell(PInterfaces)Quickdraw.p}
{$ENDC}
{$IFC UNDEFINED UsingMenus}
{$I $$Shell(PInterfaces)Menus.p}
{$ENDC}
{$SETC UsingIncludes := ControlsIncludes}
CONST
pushButProc = 0;
checkBoxProc = 1;
radioButProc = 2;
useWFont = 8;
scrollBarProc = 16;
inButton = 10;
inCheckBox = 11;
inUpButton = 20;
inDownButton = 21;
inPageUp = 22;
inPageDown = 23;
inThumb = 129;
popupMenuProc = 1008; { 63 * 16 }
popupFixedWidth = $0001; { popup menu CDEF variation codes }
popupUseAddResMenu = $0004;
popupUseWFont = $0008;
popupTitleBold = $00000100; { Popup Title characteristics }
popupTitleItalic = $00000200;
popupTitleUnderline = $00000400;
popupTitleOutline = $00000800;
popupTitleShadow = $00001000;
popupTitleCondense = $00002000;
popupTitleExtend = $00004000;
popupTitleNoStyle = $00008000;
popupTitleLeftJust = $00000000;
popupTitleCenterJust = $00000001;
popupTitleRightJust = $000000FF;
{
axis constraints for DragGrayRgn call}
noConstraint = 0;
hAxisOnly = 1;
vAxisOnly = 2;
{
control messages}
drawCntl = 0;
testCntl = 1;
calcCRgns = 2;
initCntl = 3;
dispCntl = 4;
posCntl = 5;
thumbCntl = 6;
dragCntl = 7;
autoTrack = 8;
calcCntlRgn = 10;
calcThumbRgn = 11;
cFrameColor = 0;
cBodyColor = 1;
cTextColor = 2;
cThumbColor = 3;
popupMenuCDEFproc = popupMenuProc; { synonym for compatibility }
TYPE
ControlPtr = ^ControlRecord;
ControlHandle = ^ControlPtr;
ControlRecord = PACKED RECORD
nextControl: ControlHandle;
contrlOwner: WindowPtr;
contrlRect: Rect;
contrlVis: Byte;
contrlHilite: Byte;
contrlValue: INTEGER;
contrlMin: INTEGER;
contrlMax: INTEGER;
contrlDefProc: Handle;
contrlData: Handle;
contrlAction: ProcPtr;
contrlRfCon: LONGINT;
contrlTitle: Str255;
END;
PopupPrivateDataPtr = ^PopupPrivateData;
PopupPrivateDataHandle = ^PopupPrivateDataPtr;
PopupPrivateData = RECORD
mHandle: MenuHandle; {popup menu handle}
mID: INTEGER; {popup menu ID}
END;
CCTabPtr = ^CtlCTab;
CCTabHandle = ^CCTabPtr;
CtlCTab = RECORD
ccSeed: LONGINT; {reserved}
ccRider: INTEGER; {see what you have done - reserved}
ctSize: INTEGER; {usually 3 for controls}
ctTable: ARRAY [0..3] OF ColorSpec;
END;
AuxCtlPtr = ^AuxCtlRec;
AuxCtlHandle = ^AuxCtlPtr;
AuxCtlRec = RECORD
acNext: AuxCtlHandle; {handle to next AuxCtlRec}
acOwner: ControlHandle; {handle for aux record's control}
acCTable: CCTabHandle; {color table for this control}
acFlags: INTEGER; {misc flag byte}
acReserved: LONGINT; {reserved for use by Apple}
acRefCon: LONGINT; {for use by application}
END;
FUNCTION NewControl(theWindow: WindowPtr;boundsRect: Rect;title: Str255;
visible: BOOLEAN;value: INTEGER;min: INTEGER;max: INTEGER;procID: INTEGER;
refCon: LONGINT): ControlHandle;
INLINE $A954;
PROCEDURE SetControlTitle(theControl: ControlHandle;title: Str255);
INLINE $A95F;
PROCEDURE SetCTitle(theControl: ControlHandle;title: Str255);
INLINE $A95F;
PROCEDURE GetControlTitle(theControl: ControlHandle;VAR title: Str255);
INLINE $A95E;
PROCEDURE GetCTitle(theControl: ControlHandle;VAR title: Str255);
INLINE $A95E;
FUNCTION GetNewControl(controlID: INTEGER;owner: WindowPtr): ControlHandle;
INLINE $A9BE;
PROCEDURE DisposeControl(theControl: ControlHandle);
INLINE $A955;
PROCEDURE KillControls(theWindow: WindowPtr);
INLINE $A956;
PROCEDURE HideControl(theControl: ControlHandle);
INLINE $A958;
PROCEDURE ShowControl(theControl: ControlHandle);
INLINE $A957;
PROCEDURE DrawControls(theWindow: WindowPtr);
INLINE $A969;
PROCEDURE Draw1Control(theControl: ControlHandle);
INLINE $A96D;
PROCEDURE HiliteControl(theControl: ControlHandle;hiliteState: INTEGER);
INLINE $A95D;
PROCEDURE UpdateControls(theWindow: WindowPtr;updateRgn: RgnHandle);
INLINE $A953;
PROCEDURE UpdtControl(theWindow: WindowPtr;updateRgn: RgnHandle);
INLINE $A953;
PROCEDURE MoveControl(theControl: ControlHandle;h: INTEGER;v: INTEGER);
INLINE $A959;
PROCEDURE SizeControl(theControl: ControlHandle;w: INTEGER;h: INTEGER);
INLINE $A95C;
PROCEDURE SetControlValue(theControl: ControlHandle;theValue: INTEGER);
INLINE $A963;
PROCEDURE SetCtlValue(theControl: ControlHandle;theValue: INTEGER);
INLINE $A963;
FUNCTION GetControlValue(theControl: ControlHandle): INTEGER;
INLINE $A960;
FUNCTION GetCtlValue(theControl: ControlHandle): INTEGER;
INLINE $A960;
PROCEDURE SetControlMinimum(theControl: ControlHandle;minValue: INTEGER);
INLINE $A964;
PROCEDURE SetCtlMin(theControl: ControlHandle;minValue: INTEGER);
INLINE $A964;
FUNCTION GetControlMinimum(theControl: ControlHandle): INTEGER;
INLINE $A961;
FUNCTION GetCtlMin(theControl: ControlHandle): INTEGER;
INLINE $A961;
PROCEDURE SetControlMaximum(theControl: ControlHandle;maxValue: INTEGER);
INLINE $A965;
PROCEDURE SetCtlMax(theControl: ControlHandle;maxValue: INTEGER);
INLINE $A965;
FUNCTION GetControlMaximum(theControl: ControlHandle): INTEGER;
INLINE $A962;
FUNCTION GetCtlMax(theControl: ControlHandle): INTEGER;
INLINE $A962;
PROCEDURE SetControlReference(theControl: ControlHandle;data: LONGINT);
INLINE $A95B;
PROCEDURE SetCRefCon(theControl: ControlHandle;data: LONGINT);
INLINE $A95B;
FUNCTION GetControlReference(theControl: ControlHandle): LONGINT;
INLINE $A95A;
FUNCTION GetCRefCon(theControl: ControlHandle): LONGINT;
INLINE $A95A;
PROCEDURE SetControlAction(theControl: ControlHandle;actionProc: ProcPtr);
INLINE $A96B;
PROCEDURE SetCtlAction(theControl: ControlHandle;actionProc: ProcPtr);
INLINE $A96B;
FUNCTION GetControlAction(theControl: ControlHandle): ProcPtr;
INLINE $A96A;
FUNCTION GetCtlAction(theControl: ControlHandle): ProcPtr;
INLINE $A96A;
PROCEDURE DragControl(theControl: ControlHandle;startPt: Point;limitRect: Rect;
slopRect: Rect;axis: INTEGER);
INLINE $A967;
FUNCTION TestControl(theControl: ControlHandle;thePt: Point): INTEGER;
INLINE $A966;
FUNCTION TrackControl(theControl: ControlHandle;thePoint: Point;actionProc: ProcPtr): INTEGER;
INLINE $A968;
FUNCTION FindControl(thePoint: Point;theWindow: WindowPtr;VAR theControl: ControlHandle): INTEGER;
INLINE $A96C;
PROCEDURE SetControlColor(theControl: ControlHandle;newColorTable: CCTabHandle);
INLINE $AA43;
PROCEDURE SetCtlColor(theControl: ControlHandle;newColorTable: CCTabHandle);
INLINE $AA43;
FUNCTION GetAuxiliaryControlRecord(theControl: ControlHandle;VAR acHndl: AuxCtlHandle): BOOLEAN;
INLINE $AA44;
FUNCTION GetAuxCtl(theControl: ControlHandle;VAR acHndl: AuxCtlHandle): BOOLEAN;
INLINE $AA44;
FUNCTION GetControlVariant(theControl: ControlHandle): INTEGER;
INLINE $A809;
FUNCTION GetCVariant(theControl: ControlHandle): INTEGER;
INLINE $A809;
{$ENDC} { UsingControls }
{$IFC NOT UsingIncludes}
END.
{$ENDC}