home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1997-01-03 | 3.3 KB | 116 lines | [TEXT/3PRM] |
- implementation module controls;
-
- import mac_types;
-
- InButton :== 10;
- InCheckBox :== 11;
- InUpButton :== 20;
- InDownButton :== 21;
- InPageUp :== 22;
- InPageDown :== 23;
- InThumb :== 129;
-
- :: ControlHandle :== Int;
-
- // Initialization and Allocation
-
- NewControl :: !WindowPtr !Rect !{#Char} !Bool !Int !Int !Int !Int !Int !Toolbox -> (!ControlHandle,!Toolbox);
- NewControl theWindow (left,top,right,bottom) title visible value min max procID refCon t
- = code (right=W,bottom=W,left=W,top=W,theWindow=D0,title=O0D1SD2,visible=D3,value=D4,
- min=D5,max=D6,procID=D7,refCon=A0,t=U)(control=D0,z=I8Z)
- {
- instruction 0x92E1FFF8 | stw r23,-8(sp)
- instruction 0x7CC600D0 | neg r6,r6
- call .NewControl
- };
-
- // Control Display
-
- SetCTitle :: !ControlHandle !{#Char} !Toolbox -> Toolbox;
- SetCTitle theControl title t = code (theControl=D0,title=SD1,t=U)(z=Z){
- call .SetControlTitle
- };
-
- HideControl :: !ControlHandle !Toolbox -> Toolbox;
- HideControl theControl t = code (theControl=D0,t=U)(z=Z){
- call .HideControl
- };
-
- ShowControl :: !ControlHandle !Toolbox -> Toolbox;
- ShowControl theControl t = code (theControl=D0,t=U)(z=Z){
- call .ShowControl
- };
-
- DrawControls :: !WindowPtr !Toolbox -> Toolbox;
- DrawControls theWindow t = code (theWindow=D0,t=U)(z=Z){
- call .DrawControls
- };
-
- UpdtControl :: !WindowPtr !RgnHandle !Toolbox -> Toolbox;
- UpdtControl theWindow updateRgn t = code (theWindow=D0,updateRgn=D1,t=U)(z=Z){
- call .UpdateControls
- };
-
- // Mouse Location
-
- FindControl :: !Int !Int !WindowPtr !Toolbox -> (!ControlHandle,!Int,!Toolbox);
- FindControl h v theWindow t = code (h=R4D0,v=A0,theWindow=D1,t=O0D2U)(part_code=D0,whichControl=L,z=Z){
- instruction 0x52E3801E | rlwimi r3,r23,16,0,15
- call .FindControl
- };
-
- TrackControl :: !ControlHandle !Int !Int !Int !Toolbox -> (!Int,!Toolbox);
- TrackControl theControl h v actionProc t = code (theControl=D0,h=D1,v=A0,actionProc=D2,t=U)(r=D0,z=Z){
- instruction 0x52E4801E | rlwimi r4,r23,16,0,15
- call .TrackControl
- };
-
- // Control Movement and Sizing
-
- MoveControl :: !ControlHandle !Int !Int !Toolbox -> Toolbox;
- MoveControl theControl h v t = code (theControl=D0,h=D1,v=D2,t=U)(z=Z){
- call .MoveControl
- };
-
- SizeControl :: !ControlHandle !Int !Int !Toolbox -> Toolbox;
- SizeControl theControl w h t = code (theControl=D0,w=D1,h=D2,t=U)(z=Z){
- call .SizeControl
- };
-
- // Control Setting and Range
-
- SetCtlValue :: !ControlHandle !Int !Toolbox -> Toolbox;
- SetCtlValue theControl theValue t = code (theControl=D0,theValue=D1,t=U)(z=Z){
- call .SetControlValue
- };
-
- GetCtlValue :: !ControlHandle !Toolbox -> (!Int,!Toolbox);
- GetCtlValue theControl t = code (theControl=D0,t=U)(v=D0,z=Z){
- call .GetControlValue
- };
-
- SetCtlMin :: !ControlHandle !Int !Toolbox -> Toolbox;
- SetCtlMin theControl minValue t = code (theControl=D0,minValue=D1,t=U)(z=Z){
- call .SetControlMinimum
- };
-
- GetCtlMin :: !ControlHandle !Toolbox -> (!Int,!Toolbox);
- GetCtlMin theControl t = code (theControl=D0,t=U)(v=D0,z=Z){
- call .GetControlMinimum
- };
-
- SetCtlMax :: !ControlHandle !Int !Toolbox -> Toolbox;
- SetCtlMax theControl maxValue t = code (theControl=D0,maxValue=D1,t=U)(z=Z){
- call .SetControlMaximum
- };
-
- GetCtlMax :: !ControlHandle !Toolbox -> (!Int,!Toolbox);
- GetCtlMax theControl t = code (theControl=D0,t=U)(v=D0,z=Z){
- call .GetControlMaximum
- };
-
- HiliteControl :: !ControlHandle !Int !Toolbox -> Toolbox;
- HiliteControl theControl hiliteState t = code (theControl=D0,hiliteState=D1,t=U)(z=Z){
- call .HiliteControl
- };
-