; ; 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. ; 10/10/93 IH Sync with Excelsior. ; <7> 8/16/93 IH #1099391 : Sync w/Reality. Really move gestalt selectors. ; Fix apple event notification to procs ptrs ; <6> 8/4/93 IH #1101633,1098397,1101795,1101636,1102280 : 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