sys7.1-doc-wip/Interfaces/AIncludes/Displays.a
2019-07-27 22:37:48 +08:00

317 lines
9.2 KiB
Plaintext

;
; File: Displays.a
;
; Contains: Display Manager Headers
;
; Written by: Ian Hendry
;
; Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <9> 11/5/93 IH Sync with Excelsior.
; <9> 11/5/93 IH Sync with Excelsior.
; <SM8> 10/10/93 IH Sync with Excelsior.
; <7> 8/16/93 IH #1099391 <KON>: Sync w/Reality. Really move gestalt selectors.
; Fix apple event notification to procs ptrs
; <6> 8/4/93 IH #1101633,1098397,1101795,1101636,1102280 <KON>: Move Display
; Manager gestalt definitions to gestalt headers. Changed
; parameter sizes to reflect display state handles.
; <5> 6/25/93 IH Fix DMAddDisplay to include new parameters.
; <4> 6/1/93 IH Change selectors for Alpha.
; <3> 5/28/93 IH #1081805,1086363: Add activeOnly booleans for
; DMGetFirstScreenDevice and DMGetNextScreenDevice. Rearrange the
; call selectors to make finder calls private.
; <2> 4/8/93 IH Add support for mode switching.
; <1> 3/25/93 IH first checked in
; <5> 3/24/93 IH Add DMSetMainDisplay call selector and macro. Add other macros
; (some but not all display manager calls have macros).
; <4> 3/17/93 IH Move private calls to DisplaysPriv.a
; <3> 3/5/93 IH Fix some typos. Moved some things to DisplaysPriv.a. Private
; selectors still need to be moved.
; <2> 2/25/93 IH Add new for desktop stuff and cleaned up header file (fixed some
; bad constants).
; <1> 2/23/93 IH first checked in
;
;
IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
INCLUDE 'Traps.a'
ENDIF
;————————————————————————————————————————————————————————————————————————————————————————————————————
IF &TYPE('__IncludingDisplays__') = 'UNDEFINED' THEN
__IncludingDisplays__ SET 1
;————————————————————————————————————————————————————————————————————————————————————————————————————
; In case outside developers do not have a new Traps.a file,
; make sure I define my trap
;
IF &TYPE('_DisplayDispatch') = 'UNDEFINED' THEN
_DisplayDispatch OPWORD $ABEB
ENDIF
;————————————————————————————————————————————————————————————————————————————————————————————————————
; Define the selectors for the Display Manager
selectGetFirstScreenDevice EQU 0
selectGetNextScreenDevice EQU 1
selectDrawDesktopRect EQU 2 ; Selector must stay the same because it is used by Finder
selectDrawDesktopRgn EQU 3 ; Selector must stay the same because it is used by Finder
selectGetGDeviceTablecloth EQU 4
selectSetGDeviceTablecloth EQU 5
selectBeginConfigureDisplays EQU 6
selectEndConfigureDisplays EQU 7
selectAddDisplay EQU 8
selectMoveDisplay EQU 9
selectDisableDisplay EQU 10
selectEnableDisplay EQU 11
selectRemoveDisplay EQU 12
selectGetComponentAnimateTicks EQU 13
selectSetComponentAnimateTicks EQU 14
selectGetNextAnimateTime EQU 15
selectSetMainDisplay EQU 16
selectSetDisplayMode EQU 17
selectCheckDisplayMode EQU 18
selectGetDeskRegion EQU 19
selectRegisterNotifyProc EQU 20
selectRemoveNotifyProc EQU 21
selectQDIsMirroringCapable Equ 22
selectCanMirrorNow Equ 23
selectIsMirroringOn Equ 24
selectMirrorDevices Equ 25
selectUnmirrorDevice Equ 26
selectGetNextMirroredDevice Equ 27
selectBlockMirroring Equ 28
selectUnblockMirroring Equ 29
selectGetDisplayMgrA5World EQU 30
selectGetDisplayIDByGDevice EQU 31
selectGetGDeviceByDisplayID EQU 32
selectSetDisplayComponent EQU 33
selectGetDisplayComponent EQU 34
selectNewDisplay EQU 35
selectDisposeDisplay EQU 36
selectResolveDisplayComponents Equ 0
;————————————————————————————————————————————————————————————————————————————————————————————————————
; Define the parameter size passed for each call
paramWordsGetFirstScreenDevice EQU 1
paramWordsGetNextScreenDevice EQU 3
paramWordsDrawDesktopRect EQU 2
paramWordsDrawDesktopRgn EQU 2
paramWordsGetGDeviceTablecloth EQU 4
paramWordsSetGDeviceTablecloth EQU 4
paramWordsBeginConfigureDisplays EQU 2
paramWordsEndConfigureDisplays EQU 2
paramWordsAddDisplay EQU 13
paramWordsMoveDisplay EQU 6
paramWordsDisableDisplay EQU 4
paramWordsEnableDisplay EQU 4
paramWordsRemoveDisplay EQU 4
paramWordsGetComponentAnimateTicks EQU 6
paramWordsSetComponentAnimateTicks EQU 6
paramWordsGetNextAnimateTime EQU 2
paramWordsSetMainDisplay EQU 4
paramWordsSetDisplayMode EQU 10
paramWordsCheckDisplayMode EQU 12
paramWordsGetDeskRegion EQU 2
paramWordsRegisterNotifyProc EQU 4
paramWordsRemoveNotifyProc EQU 4
paramWordsQDIsMirroringCapable Equ 2
paramWordsCanMirrorNow Equ 2
paramWordsIsMirroringOn Equ 2
paramWordsMirrorDevices Equ 6
paramWordsUnmirrorDevice Equ 4
paramWordsGetNextMirroredDevice Equ 4
paramWordsBlockMirroring Equ 0
paramWordsUnblockMirroring Equ 0
paramWordsGetDisplayMgrA5World EQU 2
paramWordsGetDisplayIDByGDevice EQU 5
paramWordsGetGDeviceByDisplayID EQU 5
paramWordsSetDisplayComponent EQU 4
paramWordsGetDisplayComponent EQU 4
paramWordsNewDisplay EQU 13
paramWordsDisposeDisplay EQU 4
;
; This is a filler for now.
; See Displays.h for more details
;
;
MACRO
_DMGetFirstScreenDevice
DoDispatch _DisplayDispatch,selectGetFirstScreenDevice,paramWordsGetFirstScreenDevice
ENDM
MACRO
_DMGetNextScreenDevice
DoDispatch _DisplayDispatch,selectGetNextScreenDevice,paramWordsGetNextScreenDevice
ENDM
MACRO
_DMDrawDesktopRect
DoDispatch _DisplayDispatch,selectDrawDesktopRect,paramWordsDrawDesktopRect
ENDM
MACRO
_DMDrawDesktopRegion
DoDispatch _DisplayDispatch,selectDrawDesktopRgn,paramWordsDrawDesktopRgn
ENDM
Macro
_DMAddDisplay
DoDispatch _DisplayDispatch,selectAddDisplay,paramWordsAddDisplay
Endm
Macro
_DMEnableDisplay
DoDispatch _DisplayDispatch,selectEnableDisplay,paramWordsEnableDisplay
Endm
Macro
_DMRemoveDisplay
DoDispatch _DisplayDispatch,selectRemoveDisplay,paramWordsRemoveDisplay
Endm
Macro
_DMDisableDisplay
DoDispatch _DisplayDispatch,selectDisableDisplay,paramWordsDisableDisplay
Endm
;
; Add the rest of the selectors
;
MACRO
_DMGetComponentAnimateTicks
DoDispatch _DisplayDispatch,selectGetComponentAnimateTicks,paramWordsGetComponentAnimateTicks
ENDM
MACRO
_DMSetComponentAnimateTicks
DoDispatch _DisplayDispatch,selectSetComponentAnimateTicks,paramWordsSetComponentAnimateTicks
ENDM
MACRO
_DMGetNextAnimateTime
DoDispatch _DisplayDispatch,selectGetNextAnimateTime,paramWordsGetNextAnimateTime
ENDM
MACRO
_DMGetDeskRegion
DoDispatch _DisplayDispatch,selectGetDeskRegion,paramWordsGetDeskRegion
ENDM
MACRO
_DMSetMainDisplay
DoDispatch _DisplayDispatch,selectSetMainDisplay,paramWordsSetMainDisplay
ENDM
MACRO
_DMSetDisplayMode
DoDispatch _DisplayDispatch,selectSetDisplayMode,paramWordsSetDisplayMode
ENDM
MACRO
_DMBeginConfigureDisplays
DoDispatch _DisplayDispatch,selectBeginConfigureDisplays,paramWordsBeginConfigureDisplays
ENDM
MACRO
_DMEndConfigureDisplays
DoDispatch _DisplayDispatch,selectEndConfigureDisplays,paramWordsEndConfigureDisplays
ENDM
Macro
_DMGetDisplayMgrA5World
DoDispatch _DisplayDispatch,selectGetDisplayMgrA5World,paramWordsGetDisplayMgrA5World
Endm
;
; Overlap
;
MACRO
_DMQDIsMirroringCapable
DoDispatch _DisplayDispatch,selectQDIsMirroringCapable,paramWordsQDIsMirroringCapable
ENDM
MACRO
_DMCanMirrorNow
DoDispatch _DisplayDispatch,selectCanMirrorNow,paramWordsCanMirrorNow
ENDM
MACRO
_DMIsMirroringOn
DoDispatch _DisplayDispatch,selectIsMirroringOn,paramWordsIsMirroringOn
ENDM
MACRO
_DMMirrorDevices
DoDispatch _DisplayDispatch,selectMirrorDevices,paramWordsMirrorDevices
ENDM
MACRO
_DMUnmirrorDevice
DoDispatch _DisplayDispatch,selectUnmirrorDevice,paramWordsUnmirrorDevice
ENDM
MACRO
_DMGetNextMirroredDevice
DoDispatch _DisplayDispatch,selectGetNextMirroredDevice,paramWordsGetNextMirroredDevice
ENDM
MACRO
_DMBlockMirroring
DoDispatch _DisplayDispatch,selectBlockMirroring,paramWordsBlockMirroring
ENDM
MACRO
_DMUnblockMirroring
DoDispatch _DisplayDispatch,selectUnblockMirroring,paramWordsUnblockMirroring
ENDM
;
; Add the rest of the selectors
;
MACRO
_DMNewDisplay
DoDispatch _DisplayDispatch,selectNewDisplay,paramWordsNewDisplay
ENDM
MACRO
_DMDisposeDisplay
DoDispatch _DisplayDispatch,selectDisposeDisplay,paramWordsDisposeDisplay
ENDM
ENDIF ; Already included