~ubuntu-branches/ubuntu/feisty/fpc/feisty

« back to all changes in this revision

Viewing changes to packages/extra/univint/Displays.pas

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-01-27 20:08:50 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070127200850-9mrptaqqjsx9nwa7
Tags: 2.0.4-5
* Fixed Build-Depends.
* Add myself to Uploaders in debian/control.
* Make sure that the sources are really patched before building them.
* Build unit 'libc' on powerpc too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{
 
2
     File:       Displays.p
 
3
 
 
4
     Contains:   Display Manager Interfaces.
 
5
 
 
6
     Version:    Technology: Mac OS 8
 
7
                 Release:    Universal Interfaces 3.4.2
 
8
 
 
9
     Copyright:  � 1993-2002 by Apple Computer, Inc., all rights reserved.
 
10
 
 
11
     Bugs?:      For bug reports, consult the following page on
 
12
                 the World Wide Web:
 
13
 
 
14
                     http://www.freepascal.org/bugs.html
 
15
 
 
16
}
 
17
 
 
18
 
 
19
{
 
20
    Modified for use with Free Pascal
 
21
    Version 200
 
22
    Please report any bugs to <gpc@microbizz.nl>
 
23
}
 
24
 
 
25
{$mode macpas}
 
26
{$packenum 1}
 
27
{$macro on}
 
28
{$inline on}
 
29
{$CALLING MWPASCAL}
 
30
 
 
31
unit Displays;
 
32
interface
 
33
{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
 
34
{$setc GAP_INTERFACES_VERSION := $0200}
 
35
 
 
36
{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
 
37
    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
 
38
{$endc}
 
39
 
 
40
{$ifc defined CPUPOWERPC and defined CPUI386}
 
41
        {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
 
42
{$endc}
 
43
{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
 
44
        {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
 
45
{$endc}
 
46
 
 
47
{$ifc not defined __ppc__ and defined CPUPOWERPC}
 
48
        {$setc __ppc__ := 1}
 
49
{$elsec}
 
50
        {$setc __ppc__ := 0}
 
51
{$endc}
 
52
{$ifc not defined __i386__ and defined CPUI386}
 
53
        {$setc __i386__ := 1}
 
54
{$elsec}
 
55
        {$setc __i386__ := 0}
 
56
{$endc}
 
57
 
 
58
{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
 
59
        {$error Conflicting definitions for __ppc__ and __i386__}
 
60
{$endc}
 
61
 
 
62
{$ifc defined __ppc__ and __ppc__}
 
63
        {$setc TARGET_CPU_PPC := TRUE}
 
64
        {$setc TARGET_CPU_X86 := FALSE}
 
65
{$elifc defined __i386__ and __i386__}
 
66
        {$setc TARGET_CPU_PPC := FALSE}
 
67
        {$setc TARGET_CPU_X86 := TRUE}
 
68
{$elsec}
 
69
        {$error Neither __ppc__ nor __i386__ is defined.}
 
70
{$endc}
 
71
{$setc TARGET_CPU_PPC_64 := FALSE}
 
72
 
 
73
{$ifc defined FPC_BIG_ENDIAN}
 
74
        {$setc TARGET_RT_BIG_ENDIAN := TRUE}
 
75
        {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
 
76
{$elifc defined FPC_LITTLE_ENDIAN}
 
77
        {$setc TARGET_RT_BIG_ENDIAN := FALSE}
 
78
        {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
 
79
{$elsec}
 
80
        {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
 
81
{$endc}
 
82
{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
 
83
{$setc CALL_NOT_IN_CARBON := FALSE}
 
84
{$setc OLDROUTINENAMES := FALSE}
 
85
{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
 
86
{$setc OPAQUE_UPP_TYPES := TRUE}
 
87
{$setc OTCARBONAPPLICATION := TRUE}
 
88
{$setc OTKERNEL := FALSE}
 
89
{$setc PM_USE_SESSION_APIS := TRUE}
 
90
{$setc TARGET_API_MAC_CARBON := TRUE}
 
91
{$setc TARGET_API_MAC_OS8 := FALSE}
 
92
{$setc TARGET_API_MAC_OSX := TRUE}
 
93
{$setc TARGET_CARBON := TRUE}
 
94
{$setc TARGET_CPU_68K := FALSE}
 
95
{$setc TARGET_CPU_MIPS := FALSE}
 
96
{$setc TARGET_CPU_SPARC := FALSE}
 
97
{$setc TARGET_OS_MAC := TRUE}
 
98
{$setc TARGET_OS_UNIX := FALSE}
 
99
{$setc TARGET_OS_WIN32 := FALSE}
 
100
{$setc TARGET_RT_MAC_68881 := FALSE}
 
101
{$setc TARGET_RT_MAC_CFM := FALSE}
 
102
{$setc TARGET_RT_MAC_MACHO := TRUE}
 
103
{$setc TYPED_FUNCTION_POINTERS := TRUE}
 
104
{$setc TYPE_BOOL := FALSE}
 
105
{$setc TYPE_EXTENDED := FALSE}
 
106
{$setc TYPE_LONGLONG := TRUE}
 
107
uses MacTypes,Quickdraw,CMTypes,AEDataModel,ConditionalMacros,Components,Video,CMApplication,AppleEvents,Events,Processes,Dialogs;
 
108
 
 
109
 
 
110
{$ALIGN MAC68K}
 
111
 
 
112
 
 
113
type
 
114
        DMProcessInfoPtr                                        = ProcessSerialNumberPtr;
 
115
        DMModalFilterUPP                                        = ModalFilterUPP;
 
116
 
 
117
 
 
118
const
 
119
                                                                                                                                {  AppleEvents Core Suite  }
 
120
        kAESystemConfigNotice           = $636E6667 (* 'cnfg' *);                                               {  Core Suite types  }
 
121
        kAEDisplayNotice                        = $6473706C (* 'dspl' *);
 
122
        kAEDisplaySummary                       = $6473756D (* 'dsum' *);
 
123
        keyDMConfigVersion                      = $646D6376 (* 'dmcv' *);
 
124
        keyDMConfigFlags                        = $646D6366 (* 'dmcf' *);
 
125
        keyDMConfigReserved                     = $646D6372 (* 'dmcr' *);
 
126
        keyDisplayID                            = $646D6964 (* 'dmid' *);
 
127
        keyDisplayComponent                     = $646D6463 (* 'dmdc' *);
 
128
        keyDisplayDevice                        = $646D6464 (* 'dmdd' *);
 
129
        keyDisplayFlags                         = $646D6466 (* 'dmdf' *);
 
130
        keyDisplayMode                          = $646D646D (* 'dmdm' *);
 
131
        keyDisplayModeReserved          = $646D6D72 (* 'dmmr' *);
 
132
        keyDisplayReserved                      = $646D6472 (* 'dmdr' *);
 
133
        keyDisplayMirroredId            = $646D6D69 (* 'dmmi' *);
 
134
        keyDeviceFlags                          = $64646466 (* 'dddf' *);
 
135
        keyDeviceDepthMode                      = $6464646D (* 'dddm' *);
 
136
        keyDeviceRect                           = $64646472 (* 'dddr' *);
 
137
        keyPixMapRect                           = $64706472 (* 'dpdr' *);
 
138
        keyPixMapHResolution            = $64706872 (* 'dphr' *);
 
139
        keyPixMapVResolution            = $64707672 (* 'dpvr' *);
 
140
        keyPixMapPixelType                      = $64707074 (* 'dppt' *);
 
141
        keyPixMapPixelSize                      = $64707073 (* 'dpps' *);
 
142
        keyPixMapCmpCount                       = $64706363 (* 'dpcc' *);
 
143
        keyPixMapCmpSize                        = $64706373 (* 'dpcs' *);
 
144
        keyPixMapAlignment                      = $64707061 (* 'dppa' *);
 
145
        keyPixMapResReserved            = $64707272 (* 'dprr' *);
 
146
        keyPixMapReserved                       = $64707072 (* 'dppr' *);
 
147
        keyPixMapColorTableSeed         = $64706374 (* 'dpct' *);
 
148
        keySummaryMenubar                       = $64736D62 (* 'dsmb' *);
 
149
        keySummaryChanges                       = $64736368 (* 'dsch' *);
 
150
        keyDisplayOldConfig                     = $646F6C64 (* 'dold' *);
 
151
        keyDisplayNewConfig                     = $646E6577 (* 'dnew' *);
 
152
 
 
153
        dmOnlyActiveDisplays            = true;
 
154
        dmAllDisplays                           = false;
 
155
 
 
156
 
 
157
                                                                                                                                {  DMSendDependentNotification notifyClass  }
 
158
        kDependentNotifyClassShowCursor = $73686372 (* 'shcr' *);                                       {  When display mgr shows a hidden cursor during an unmirror  }
 
159
        kDependentNotifyClassDriverOverride = $6E647276 (* 'ndrv' *);                           {  When a driver is overridden  }
 
160
        kDependentNotifyClassDisplayMgrOverride = $646D6772 (* 'dmgr' *);                       {  When display manager is upgraded  }
 
161
        kDependentNotifyClassProfileChanged = $70726F66 (* 'prof' *);                           {  When DMSetProfileByAVID is called  }
 
162
 
 
163
 
 
164
                                                                                                                                {  Switch Flags  }
 
165
        kNoSwitchConfirmBit                     = 0;                                                    {  Flag indicating that there is no need to confirm a switch to this mode  }
 
166
        kDepthNotAvailableBit           = 1;                                                    {  Current depth not available in new mode  }
 
167
        kShowModeBit                            = 3;                                                    {  Show this mode even though it requires a confirm.  }
 
168
        kModeNotResizeBit                       = 4;                                                    {  Do not use this mode to resize display (for cards that mode drives a different connector).  }
 
169
        kNeverShowModeBit                       = 5;                                                    {  This mode should not be shown in the user interface.  }
 
170
 
 
171
        {           Summary Change Flags (sticky bits indicating an operation was performed)
 
172
            For example, moving a display then moving it back will still set the kMovedDisplayBit.
 
173
                }
 
174
        kBeginEndConfigureBit           = 0;
 
175
        kMovedDisplayBit                        = 1;
 
176
        kSetMainDisplayBit                      = 2;
 
177
        kSetDisplayModeBit                      = 3;
 
178
        kAddDisplayBit                          = 4;
 
179
        kRemoveDisplayBit                       = 5;
 
180
        kNewDisplayBit                          = 6;
 
181
        kDisposeDisplayBit                      = 7;
 
182
        kEnabledDisplayBit                      = 8;
 
183
        kDisabledDisplayBit                     = 9;
 
184
        kMirrorDisplayBit                       = 10;
 
185
        kUnMirrorDisplayBit                     = 11;
 
186
 
 
187
 
 
188
                                                                                                                                {  Notification Messages for extended call back routines  }
 
189
        kDMNotifyRequestConnectionProbe = 0;                                            {  Like kDMNotifyRequestDisplayProbe only not for smart displays (used in wake before all busses are awake)  }
 
190
        kDMNotifyInstalled                      = 1;                                                    {  At install time  }
 
191
        kDMNotifyEvent                          = 2;                                                    {  Post change time  }
 
192
        kDMNotifyRemoved                        = 3;                                                    {  At remove time  }
 
193
        kDMNotifyPrep                           = 4;                                                    {  Pre change time  }
 
194
        kDMNotifyExtendEvent            = 5;                                                    {  Allow registrees to extend apple event before it is sent  }
 
195
        kDMNotifyDependents                     = 6;                                                    {  Minor notification check without full update  }
 
196
        kDMNotifySuspendConfigure       = 7;                                                    {  Temporary end of configuration  }
 
197
        kDMNotifyResumeConfigure        = 8;                                                    {  Resume configuration  }
 
198
        kDMNotifyRequestDisplayProbe = 9;                                                       {  Request smart displays re-probe (used in sleep and hot plugging)  }
 
199
                                                                                                                                {  Notification Flags  }
 
200
        kExtendedNotificationProc       = $00010000;
 
201
 
 
202
 
 
203
        {        types for notifyType   }
 
204
        kFullNotify                                     = 0;                                                    {  This is the appleevent whole nine yards notify  }
 
205
        kFullDependencyNotify           = 1;                                                    {  Only sends to those who want to know about interrelated functionality (used for updating UI)  }
 
206
 
 
207
        {        DisplayID/DeviceID constants   }
 
208
        kDummyDeviceID                          = $00FF;                                                {  This is the ID of the dummy display, used when the last �real� display is disabled. }
 
209
        kInvalidDisplayID                       = $0000;                                                {  This is the invalid ID }
 
210
        kFirstDisplayID                         = $0100;
 
211
 
 
212
                                                                                                                                {  bits for panelListFlags  }
 
213
        kAllowDuplicatesBit                     = 0;
 
214
 
 
215
                                                                                                                                {  bits for nameFlags  }
 
216
        kSuppressNumberBit                      = 0;
 
217
        kSuppressNumberMask                     = 1;
 
218
        kForceNumberBit                         = 1;
 
219
        kForceNumberMask                        = 2;
 
220
        kSuppressNameBit                        = 2;
 
221
        kSuppressNameMask                       = 4;
 
222
 
 
223
        {  DMGetNameByAVID masks }
 
224
        kDMSupressNumbersMask           = $01;                                                  {  Supress the numbers and return only names }
 
225
        kDMForceNumbersMask                     = $02;                                                  {  Force numbers to always be shown (even on single display configs) }
 
226
        kDMSupressNameMask                      = $04;                                                  {  Supress the names and return only numbers. }
 
227
 
 
228
 
 
229
        {        Constants for fidelity checks  }
 
230
        kNoFidelity                                     = 0;
 
231
        kMinimumFidelity                        = 1;
 
232
        kDefaultFidelity                        = 500;                                                  {  I'm just picking a number for Apple default panels and engines }
 
233
        kDefaultManufacturerFidelity = 1000;                                            {  I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults) }
 
234
 
 
235
        kAnyPanelType                           = 0;                                                    {  Pass to DMNewEngineList for list of all panels (as opposed to specific types) }
 
236
        kAnyEngineType                          = 0;                                                    {  Pass to DMNewEngineList for list of all engines }
 
237
        kAnyDeviceType                          = 0;                                                    {  Pass to DMNewDeviceList for list of all devices }
 
238
        kAnyPortType                            = 0;                                                    {  Pass to DMNewDevicePortList for list of all devices }
 
239
 
 
240
        {        portListFlags for DM_NewDevicePortList         }
 
241
                                                                                                                                {  Should offline devices be put into the port list (such as dummy display)  }
 
242
        kPLIncludeOfflineDevicesBit     = 0;
 
243
 
 
244
 
 
245
        {        confirmFlags for DMConfirmConfiguration        }
 
246
        kForceConfirmBit                        = 0;                                                    {  Force a confirm dialog  }
 
247
        kForceConfirmMask                       = $01;
 
248
 
 
249
 
 
250
        {        Flags for displayModeFlags     }
 
251
        kDisplayModeListNotPreferredBit = 0;
 
252
        kDisplayModeListNotPreferredMask = $01;
 
253
 
 
254
 
 
255
        {        Flags for itemFlags    }
 
256
        kComponentListNotPreferredBit = 0;
 
257
        kComponentListNotPreferredMask = $01;
 
258
 
 
259
        kDisplayTimingInfoVersionZero = 1;
 
260
        kDisplayTimingInfoReservedCountVersionZero = 16;
 
261
        kDisplayModeEntryVersionZero = 0;                                                       {  displayModeVersion - original version }
 
262
        kDisplayModeEntryVersionOne     = 1;                                                    {  displayModeVersion - added displayModeOverrideInfo }
 
263
 
 
264
 
 
265
        kMakeAndModelReservedCount      = 4;                                                    {  Number of reserved fields }
 
266
 
 
267
 
 
268
        {  Display Gestalt for DMDisplayGestalt }
 
269
        kDisplayGestaltDisplayCommunicationAttr = $636F6D6D (* 'comm' *);
 
270
        kDisplayGestaltForbidI2CMask = $01;                                                     {  Some displays have firmware problems if they get I2C communication.  If this bit is set, then I2C communication is forbidden }
 
271
        kDisplayGestaltUseI2CPowerMask = $02;                                           {  Some displays require I2C power settings (most use DPMS). }
 
272
        kDisplayGestaltCalibratorAttr = $63616C69 (* 'cali' *);
 
273
        kDisplayGestaltBrightnessAffectsGammaMask = $01;                        {  Used by default calibrator (should we show brightness panel)  }
 
274
        kDisplayGestaltViewAngleAffectsGammaMask = $02;                         {  Currently not used by color sync }
 
275
 
 
276
 
 
277
type
 
278
        DMFidelityType                                          = UInt32;
 
279
        {
 
280
           AVID is an ID for ports and devices the old DisplayID type
 
281
            is carried on for compatibility
 
282
        }
 
283
 
 
284
 
 
285
        DMListType                                                      = Ptr;
 
286
        DMListIndexType                                         = UInt32;
 
287
        AVPowerStateRec                                         = VDPowerStateRec;
 
288
        AVPowerStateRecPtr                                      = ^AVPowerStateRec;
 
289
        AVPowerStatePtr                                         = ^VDPowerStateRec;
 
290
        DMDisplayTimingInfoRecPtr = ^DMDisplayTimingInfoRec;
 
291
        DMDisplayTimingInfoRec = record
 
292
                timingInfoVersion:              UInt32;
 
293
                timingInfoAttributes:   UInt32;                                                                 {  Flags  }
 
294
                timingInfoRelativeQuality: SInt32;                                                              {  quality of the timing  }
 
295
                timingInfoRelativeDefault: SInt32;                                                              {  relative default of the timing  }
 
296
                timingInfoReserved:             array [0..15] of UInt32;                                {  Reserved  }
 
297
        end;
 
298
 
 
299
        DMDisplayTimingInfoPtr                          = ^DMDisplayTimingInfoRec;
 
300
 
 
301
        DMComponentListEntryRecPtr = ^DMComponentListEntryRec;
 
302
        DMComponentListEntryRec = record
 
303
                itemID:                                 DisplayIDType;                                                  {  DisplayID Manager }
 
304
                itemComponent:                  Component;                                                              {  Component Manager }
 
305
                itemDescription:                ComponentDescription;                                   {  We can always construct this if we use something beyond the compontent mgr. }
 
306
                itemClass:                              ResType;                                                                {  Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices) }
 
307
                itemFidelity:                   DMFidelityType;                                                 {  How good is this item for the specified search? }
 
308
                itemSubClass:                   ResType;                                                                {  Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel) }
 
309
                itemSort:                               Point;                                                                  {  Set to 0 - future to sort the items in a sub group. }
 
310
                itemFlags:                              UInt32;                                                                 {  Set to 0 (future expansion) }
 
311
                itemReserved:                   ResType;                                                                {  What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only) }
 
312
                itemFuture1:                    UInt32;                                                                 {  Set to 0 (future expansion - probably an alternate code style) }
 
313
                itemFuture2:                    UInt32;                                                                 {  Set to 0 (future expansion - probably an alternate code style) }
 
314
                itemFuture3:                    UInt32;                                                                 {  Set to 0 (future expansion - probably an alternate code style) }
 
315
                itemFuture4:                    UInt32;                                                                 {  Set to 0 (future expansion - probably an alternate code style) }
 
316
        end;
 
317
 
 
318
        DMComponentListEntryPtr                         = ^DMComponentListEntryRec;
 
319
        {  ��� Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created }
 
320
        AVLocationRecPtr = ^AVLocationRec;
 
321
        AVLocationRec = record
 
322
                locationConstant:               UInt32;                                                                 {  Set to 0 (future expansion - probably an alternate code style) }
 
323
        end;
 
324
 
 
325
        AVLocationPtr                                           = ^AVLocationRec;
 
326
        DMDepthInfoRecPtr = ^DMDepthInfoRec;
 
327
        DMDepthInfoRec = record
 
328
                depthSwitchInfo:                VDSwitchInfoPtr;                                                {  This is the switch mode to choose this timing/depth  }
 
329
                depthVPBlock:                   VPBlockPtr;                                                             {  VPBlock (including size, depth and format)  }
 
330
                depthFlags:                             UInt32;                                                                 {  VDVideoParametersInfoRec.csDepthFlags   }
 
331
                depthReserved1:                 UInt32;                                                                 {  Reserved  }
 
332
                depthReserved2:                 UInt32;                                                                 {  Reserved  }
 
333
        end;
 
334
 
 
335
        DMDepthInfoPtr                                          = ^DMDepthInfoRec;
 
336
        DMDepthInfoBlockRecPtr = ^DMDepthInfoBlockRec;
 
337
        DMDepthInfoBlockRec = record
 
338
                depthBlockCount:                UInt32;                                                                 {  How many depths are there?  }
 
339
                depthVPBlock:                   DMDepthInfoPtr;                                                 {  Array of DMDepthInfoRec  }
 
340
                depthBlockFlags:                UInt32;                                                                 {  Reserved  }
 
341
                depthBlockReserved1:    UInt32;                                                                 {  Reserved  }
 
342
                depthBlockReserved2:    UInt32;                                                                 {  Reserved  }
 
343
        end;
 
344
 
 
345
        DMDepthInfoBlockPtr                                     = ^DMDepthInfoBlockRec;
 
346
        DMDisplayModeListEntryRecPtr = ^DMDisplayModeListEntryRec;
 
347
        DMDisplayModeListEntryRec = record
 
348
                displayModeFlags:               UInt32;
 
349
                displayModeSwitchInfo:  VDSwitchInfoPtr;
 
350
                displayModeResolutionInfo: VDResolutionInfoPtr;
 
351
                displayModeTimingInfo:  VDTimingInfoPtr;
 
352
                displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                                 {  Information about all the depths }
 
353
                displayModeVersion:             UInt32;                                                                 {  What version is this record (now kDisplayModeEntryVersionOne) }
 
354
                displayModeName:                StringPtr;                                                              {  Name of the timing mode }
 
355
                displayModeDisplayInfo: DMDisplayTimingInfoPtr;                                 {  Information from the display. }
 
356
        end;
 
357
 
 
358
        DMDisplayModeListEntryPtr                       = ^DMDisplayModeListEntryRec;
 
359
 
 
360
        DependentNotifyRecPtr = ^DependentNotifyRec;
 
361
        DependentNotifyRec = record
 
362
                notifyType:                             ResType;                                                                {  What type was the engine that made the change (may be zero) }
 
363
                notifyClass:                    ResType;                                                                {  What class was the change (eg geometry, color etc) }
 
364
                notifyPortID:                   DisplayIDType;                                                  {  Which device was touched (kInvalidDisplayID -> all or none) }
 
365
                notifyComponent:                ComponentInstance;                                              {  What engine did it (may be 0)? }
 
366
                notifyVersion:                  UInt32;                                                                 {  Set to 0 (future expansion) }
 
367
                notifyFlags:                    UInt32;                                                                 {  Set to 0 (future expansion) }
 
368
                notifyReserved:                 UInt32;                                                                 {  Set to 0 (future expansion) }
 
369
                notifyFuture:                   UInt32;                                                                 {  Set to 0 (future expansion) }
 
370
        end;
 
371
 
 
372
        DependentNotifyPtr                                      = ^DependentNotifyRec;
 
373
 
 
374
        DMMakeAndModelRecPtr = ^DMMakeAndModelRec;
 
375
        DMMakeAndModelRec = record
 
376
                manufacturer:                   ResType;
 
377
                model:                                  UInt32;
 
378
                serialNumber:                   UInt32;
 
379
                manufactureDate:                UInt32;
 
380
                makeReserved:                   array [0..3] of UInt32;
 
381
        end;
 
382
 
 
383
        DMMakeAndModelPtr                                       = ^DMMakeAndModelRec;
 
384
        {  DMNewDisplayList displayListIncludeFlags }
 
385
 
 
386
const
 
387
        kIncludeOnlineActiveDisplaysMask = $01;
 
388
        kIncludeOnlineDisabledDisplaysMask = $02;
 
389
        kIncludeOfflineDisplaysMask     = $04;
 
390
        kIncludeOfflineDummyDisplaysMask = $08;
 
391
        kIncludeHardwareMirroredDisplaysMask = $10;
 
392
 
 
393
 
 
394
                                                                                                                                {  modeListFlags for DMNewDisplayModeList  }
 
395
        kDMModeListIncludeAllModesMask = $01;                                           {  Include all timing modes not _explicitly_ excluded (see other bits) }
 
396
        kDMModeListIncludeOfflineModesMask = $02;
 
397
        kDMModeListExcludeDriverModesMask = $04;                                        {  Exclude old-style timing modes (cscGetNextResolution/kDisplayModeIDFindFirstResolution modes) }
 
398
        kDMModeListExcludeDisplayModesMask = $08;                                       {  Exclude timing modes that come from the display (always arbritrary timing modes) }
 
399
        kDMModeListExcludeCustomModesMask = $10;                                        {  Exclude custom modes that came neither from the driver or display (need a better name) }
 
400
        kDMModeListPreferStretchedModesMask = $20;                                      {  Prefer modes that are stretched over modes that are letterboxed when setting kDisplayModeListNotPreferredBit }
 
401
        kDMModeListPreferSafeModesMask = $40;                                           {  Prefer modes that are safe over modes that are not when setting kDisplayModeListNotPreferredBit }
 
402
        kDMModeListExcludeDriverScaledModesMask = $80;                          {  Exclude modes that are scaled by the driver (usually on fixed resolution displays) }
 
403
 
 
404
 
 
405
        {  DMNewDisplayList displayListFlags }
 
406
 
 
407
type
 
408
        DisplayListEntryRecPtr = ^DisplayListEntryRec;
 
409
        DisplayListEntryRec = record
 
410
                displayListEntryGDevice: GDHandle;
 
411
                displayListEntryDisplayID: DisplayIDType;
 
412
                displayListEntryIncludeFlags: UInt32;                                                   {  Reason this entry was included }
 
413
                displayListEntryReserved1: UInt32;
 
414
                displayListEntryReserved2: UInt32;                                                              {  Zero }
 
415
                displayListEntryReserved3: UInt32;                                                              {  Zero }
 
416
                displayListEntryReserved4: UInt32;                                                              {  Zero }
 
417
                displayListEntryReserved5: UInt32;                                                              {  Zero }
 
418
        end;
 
419
 
 
420
        DisplayListEntryPtr                                     = ^DisplayListEntryRec;
 
421
        DMProfileListEntryRecPtr = ^DMProfileListEntryRec;
 
422
        DMProfileListEntryRec = record
 
423
                profileRef:                             CMProfileRef;
 
424
                profileReserved1:               Ptr;                                                                    {  Reserved }
 
425
                profileReserved2:               Ptr;                                                                    {  Reserved }
 
426
                profileReserved3:               Ptr;                                                                    {  Reserved }
 
427
        end;
 
428
 
 
429
        DMProfileListEntryPtr                           = ^DMProfileListEntryRec;
 
430
{$ifc TYPED_FUNCTION_POINTERS}
 
431
        DMNotificationProcPtr = procedure(var theEvent: AppleEvent);
 
432
{$elsec}
 
433
        DMNotificationProcPtr = ProcPtr;
 
434
{$endc}
 
435
 
 
436
{$ifc TYPED_FUNCTION_POINTERS}
 
437
        DMExtendedNotificationProcPtr = procedure(userData: UnivPtr; theMessage: SInt16; notifyData: UnivPtr);
 
438
{$elsec}
 
439
        DMExtendedNotificationProcPtr = ProcPtr;
 
440
{$endc}
 
441
 
 
442
{$ifc TYPED_FUNCTION_POINTERS}
 
443
        DMComponentListIteratorProcPtr = procedure(userData: UnivPtr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr);
 
444
{$elsec}
 
445
        DMComponentListIteratorProcPtr = ProcPtr;
 
446
{$endc}
 
447
 
 
448
{$ifc TYPED_FUNCTION_POINTERS}
 
449
        DMDisplayModeListIteratorProcPtr = procedure(userData: UnivPtr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr);
 
450
{$elsec}
 
451
        DMDisplayModeListIteratorProcPtr = ProcPtr;
 
452
{$endc}
 
453
 
 
454
{$ifc TYPED_FUNCTION_POINTERS}
 
455
        DMProfileListIteratorProcPtr = procedure(userData: UnivPtr; itemIndex: DMListIndexType; profileInfo: DMProfileListEntryPtr);
 
456
{$elsec}
 
457
        DMProfileListIteratorProcPtr = ProcPtr;
 
458
{$endc}
 
459
 
 
460
{$ifc TYPED_FUNCTION_POINTERS}
 
461
        DMDisplayListIteratorProcPtr = procedure(userData: UnivPtr; itemIndex: DMListIndexType; displaymodeInfo: DisplayListEntryPtr);
 
462
{$elsec}
 
463
        DMDisplayListIteratorProcPtr = ProcPtr;
 
464
{$endc}
 
465
 
 
466
{$ifc OPAQUE_UPP_TYPES}
 
467
        DMNotificationUPP = ^SInt32; { an opaque UPP }
 
468
{$elsec}
 
469
        DMNotificationUPP = UniversalProcPtr;
 
470
{$endc} 
 
471
{$ifc OPAQUE_UPP_TYPES}
 
472
        DMExtendedNotificationUPP = ^SInt32; { an opaque UPP }
 
473
{$elsec}
 
474
        DMExtendedNotificationUPP = UniversalProcPtr;
 
475
{$endc} 
 
476
{$ifc OPAQUE_UPP_TYPES}
 
477
        DMComponentListIteratorUPP = ^SInt32; { an opaque UPP }
 
478
{$elsec}
 
479
        DMComponentListIteratorUPP = UniversalProcPtr;
 
480
{$endc} 
 
481
{$ifc OPAQUE_UPP_TYPES}
 
482
        DMDisplayModeListIteratorUPP = ^SInt32; { an opaque UPP }
 
483
{$elsec}
 
484
        DMDisplayModeListIteratorUPP = UniversalProcPtr;
 
485
{$endc} 
 
486
{$ifc OPAQUE_UPP_TYPES}
 
487
        DMProfileListIteratorUPP = ^SInt32; { an opaque UPP }
 
488
{$elsec}
 
489
        DMProfileListIteratorUPP = UniversalProcPtr;
 
490
{$endc} 
 
491
{$ifc OPAQUE_UPP_TYPES}
 
492
        DMDisplayListIteratorUPP = ^SInt32; { an opaque UPP }
 
493
{$elsec}
 
494
        DMDisplayListIteratorUPP = UniversalProcPtr;
 
495
{$endc} 
 
496
 
 
497
const
 
498
        uppDMNotificationProcInfo = $000000C0;
 
499
        uppDMExtendedNotificationProcInfo = $00000EC0;
 
500
        uppDMComponentListIteratorProcInfo = $00000FC0;
 
501
        uppDMDisplayModeListIteratorProcInfo = $00000FC0;
 
502
        uppDMProfileListIteratorProcInfo = $00000FC0;
 
503
        uppDMDisplayListIteratorProcInfo = $00000FC0;
 
504
        {
 
505
         *  NewDMNotificationUPP()
 
506
         *  
 
507
         *  Availability:
 
508
         *    Non-Carbon CFM:   available as macro/inline
 
509
         *    CarbonLib:        in CarbonLib 1.0 and later
 
510
         *    Mac OS X:         in version 10.0 and later
 
511
                }
 
512
function NewDMNotificationUPP(userRoutine: DMNotificationProcPtr): DMNotificationUPP; external name '_NewDMNotificationUPP'; { old name was NewDMNotificationProc }
 
513
{
 
514
 *  NewDMExtendedNotificationUPP()
 
515
 *  
 
516
 *  Availability:
 
517
 *    Non-Carbon CFM:   available as macro/inline
 
518
 *    CarbonLib:        in CarbonLib 1.0 and later
 
519
 *    Mac OS X:         in version 10.0 and later
 
520
 }
 
521
function NewDMExtendedNotificationUPP(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP; external name '_NewDMExtendedNotificationUPP'; { old name was NewDMExtendedNotificationProc }
 
522
{
 
523
 *  NewDMComponentListIteratorUPP()
 
524
 *  
 
525
 *  Availability:
 
526
 *    Non-Carbon CFM:   available as macro/inline
 
527
 *    CarbonLib:        in CarbonLib 1.0 and later
 
528
 *    Mac OS X:         in version 10.0 and later
 
529
 }
 
530
function NewDMComponentListIteratorUPP(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP; external name '_NewDMComponentListIteratorUPP'; { old name was NewDMComponentListIteratorProc }
 
531
{
 
532
 *  NewDMDisplayModeListIteratorUPP()
 
533
 *  
 
534
 *  Availability:
 
535
 *    Non-Carbon CFM:   available as macro/inline
 
536
 *    CarbonLib:        in CarbonLib 1.0 and later
 
537
 *    Mac OS X:         in version 10.0 and later
 
538
 }
 
539
function NewDMDisplayModeListIteratorUPP(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP; external name '_NewDMDisplayModeListIteratorUPP'; { old name was NewDMDisplayModeListIteratorProc }
 
540
{
 
541
 *  NewDMProfileListIteratorUPP()
 
542
 *  
 
543
 *  Availability:
 
544
 *    Non-Carbon CFM:   available as macro/inline
 
545
 *    CarbonLib:        in CarbonLib 1.0 and later
 
546
 *    Mac OS X:         in version 10.0 and later
 
547
 }
 
548
function NewDMProfileListIteratorUPP(userRoutine: DMProfileListIteratorProcPtr): DMProfileListIteratorUPP; external name '_NewDMProfileListIteratorUPP'; { old name was NewDMProfileListIteratorProc }
 
549
{
 
550
 *  NewDMDisplayListIteratorUPP()
 
551
 *  
 
552
 *  Availability:
 
553
 *    Non-Carbon CFM:   available as macro/inline
 
554
 *    CarbonLib:        in CarbonLib 1.0 and later
 
555
 *    Mac OS X:         in version 10.0 and later
 
556
 }
 
557
function NewDMDisplayListIteratorUPP(userRoutine: DMDisplayListIteratorProcPtr): DMDisplayListIteratorUPP; external name '_NewDMDisplayListIteratorUPP'; { old name was NewDMDisplayListIteratorProc }
 
558
{
 
559
 *  DisposeDMNotificationUPP()
 
560
 *  
 
561
 *  Availability:
 
562
 *    Non-Carbon CFM:   available as macro/inline
 
563
 *    CarbonLib:        in CarbonLib 1.0 and later
 
564
 *    Mac OS X:         in version 10.0 and later
 
565
 }
 
566
procedure DisposeDMNotificationUPP(userUPP: DMNotificationUPP); external name '_DisposeDMNotificationUPP';
 
567
{
 
568
 *  DisposeDMExtendedNotificationUPP()
 
569
 *  
 
570
 *  Availability:
 
571
 *    Non-Carbon CFM:   available as macro/inline
 
572
 *    CarbonLib:        in CarbonLib 1.0 and later
 
573
 *    Mac OS X:         in version 10.0 and later
 
574
 }
 
575
procedure DisposeDMExtendedNotificationUPP(userUPP: DMExtendedNotificationUPP); external name '_DisposeDMExtendedNotificationUPP';
 
576
{
 
577
 *  DisposeDMComponentListIteratorUPP()
 
578
 *  
 
579
 *  Availability:
 
580
 *    Non-Carbon CFM:   available as macro/inline
 
581
 *    CarbonLib:        in CarbonLib 1.0 and later
 
582
 *    Mac OS X:         in version 10.0 and later
 
583
 }
 
584
procedure DisposeDMComponentListIteratorUPP(userUPP: DMComponentListIteratorUPP); external name '_DisposeDMComponentListIteratorUPP';
 
585
{
 
586
 *  DisposeDMDisplayModeListIteratorUPP()
 
587
 *  
 
588
 *  Availability:
 
589
 *    Non-Carbon CFM:   available as macro/inline
 
590
 *    CarbonLib:        in CarbonLib 1.0 and later
 
591
 *    Mac OS X:         in version 10.0 and later
 
592
 }
 
593
procedure DisposeDMDisplayModeListIteratorUPP(userUPP: DMDisplayModeListIteratorUPP); external name '_DisposeDMDisplayModeListIteratorUPP';
 
594
{
 
595
 *  DisposeDMProfileListIteratorUPP()
 
596
 *  
 
597
 *  Availability:
 
598
 *    Non-Carbon CFM:   available as macro/inline
 
599
 *    CarbonLib:        in CarbonLib 1.0 and later
 
600
 *    Mac OS X:         in version 10.0 and later
 
601
 }
 
602
procedure DisposeDMProfileListIteratorUPP(userUPP: DMProfileListIteratorUPP); external name '_DisposeDMProfileListIteratorUPP';
 
603
{
 
604
 *  DisposeDMDisplayListIteratorUPP()
 
605
 *  
 
606
 *  Availability:
 
607
 *    Non-Carbon CFM:   available as macro/inline
 
608
 *    CarbonLib:        in CarbonLib 1.0 and later
 
609
 *    Mac OS X:         in version 10.0 and later
 
610
 }
 
611
procedure DisposeDMDisplayListIteratorUPP(userUPP: DMDisplayListIteratorUPP); external name '_DisposeDMDisplayListIteratorUPP';
 
612
{
 
613
 *  InvokeDMNotificationUPP()
 
614
 *  
 
615
 *  Availability:
 
616
 *    Non-Carbon CFM:   available as macro/inline
 
617
 *    CarbonLib:        in CarbonLib 1.0 and later
 
618
 *    Mac OS X:         in version 10.0 and later
 
619
 }
 
620
procedure InvokeDMNotificationUPP(var theEvent: AppleEvent; userRoutine: DMNotificationUPP); external name '_InvokeDMNotificationUPP'; { old name was CallDMNotificationProc }
 
621
{
 
622
 *  InvokeDMExtendedNotificationUPP()
 
623
 *  
 
624
 *  Availability:
 
625
 *    Non-Carbon CFM:   available as macro/inline
 
626
 *    CarbonLib:        in CarbonLib 1.0 and later
 
627
 *    Mac OS X:         in version 10.0 and later
 
628
 }
 
629
procedure InvokeDMExtendedNotificationUPP(userData: UnivPtr; theMessage: SInt16; notifyData: UnivPtr; userRoutine: DMExtendedNotificationUPP); external name '_InvokeDMExtendedNotificationUPP'; { old name was CallDMExtendedNotificationProc }
 
630
{
 
631
 *  InvokeDMComponentListIteratorUPP()
 
632
 *  
 
633
 *  Availability:
 
634
 *    Non-Carbon CFM:   available as macro/inline
 
635
 *    CarbonLib:        in CarbonLib 1.0 and later
 
636
 *    Mac OS X:         in version 10.0 and later
 
637
 }
 
638
procedure InvokeDMComponentListIteratorUPP(userData: UnivPtr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP); external name '_InvokeDMComponentListIteratorUPP'; { old name was CallDMComponentListIteratorProc }
 
639
{
 
640
 *  InvokeDMDisplayModeListIteratorUPP()
 
641
 *  
 
642
 *  Availability:
 
643
 *    Non-Carbon CFM:   available as macro/inline
 
644
 *    CarbonLib:        in CarbonLib 1.0 and later
 
645
 *    Mac OS X:         in version 10.0 and later
 
646
 }
 
647
procedure InvokeDMDisplayModeListIteratorUPP(userData: UnivPtr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP); external name '_InvokeDMDisplayModeListIteratorUPP'; { old name was CallDMDisplayModeListIteratorProc }
 
648
{
 
649
 *  InvokeDMProfileListIteratorUPP()
 
650
 *  
 
651
 *  Availability:
 
652
 *    Non-Carbon CFM:   available as macro/inline
 
653
 *    CarbonLib:        in CarbonLib 1.0 and later
 
654
 *    Mac OS X:         in version 10.0 and later
 
655
 }
 
656
procedure InvokeDMProfileListIteratorUPP(userData: UnivPtr; itemIndex: DMListIndexType; profileInfo: DMProfileListEntryPtr; userRoutine: DMProfileListIteratorUPP); external name '_InvokeDMProfileListIteratorUPP'; { old name was CallDMProfileListIteratorProc }
 
657
{
 
658
 *  InvokeDMDisplayListIteratorUPP()
 
659
 *  
 
660
 *  Availability:
 
661
 *    Non-Carbon CFM:   available as macro/inline
 
662
 *    CarbonLib:        in CarbonLib 1.0 and later
 
663
 *    Mac OS X:         in version 10.0 and later
 
664
 }
 
665
procedure InvokeDMDisplayListIteratorUPP(userData: UnivPtr; itemIndex: DMListIndexType; displaymodeInfo: DisplayListEntryPtr; userRoutine: DMDisplayListIteratorUPP); external name '_InvokeDMDisplayListIteratorUPP'; { old name was CallDMDisplayListIteratorProc }
 
666
{$ifc CALL_NOT_IN_CARBON}
 
667
{
 
668
 *  DMDisplayGestalt()
 
669
 *  
 
670
 *  Availability:
 
671
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
672
 *    CarbonLib:        not available
 
673
 *    Mac OS X:         not available
 
674
 }
 
675
function DMDisplayGestalt(theDisplayID: DisplayIDType; displayGestaltSelector: ResType; var displayGestaltResponse: UInt32): OSErr; external name '_DMDisplayGestalt';
 
676
{
 
677
 *  DMUseScreenPrefs()
 
678
 *  
 
679
 *  Availability:
 
680
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
681
 *    CarbonLib:        not available
 
682
 *    Mac OS X:         not available
 
683
 }
 
684
function DMUseScreenPrefs(usePrefs: boolean; displayState: Handle): OSErr; external name '_DMUseScreenPrefs';
 
685
{
 
686
 *  DMSuspendConfigure()
 
687
 *  
 
688
 *  Availability:
 
689
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
690
 *    CarbonLib:        not available
 
691
 *    Mac OS X:         not available
 
692
 }
 
693
function DMSuspendConfigure(displayState: Handle; reserved1: UInt32): OSErr; external name '_DMSuspendConfigure';
 
694
{
 
695
 *  DMResumeConfigure()
 
696
 *  
 
697
 *  Availability:
 
698
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
699
 *    CarbonLib:        not available
 
700
 *    Mac OS X:         not available
 
701
 }
 
702
function DMResumeConfigure(displayState: Handle; reserved1: UInt32): OSErr; external name '_DMResumeConfigure';
 
703
{
 
704
 *  DMSetGammaByAVID()
 
705
 *  
 
706
 *  Availability:
 
707
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
708
 *    CarbonLib:        not available
 
709
 *    Mac OS X:         not available
 
710
 }
 
711
function DMSetGammaByAVID(gammaAVID: AVIDType; setGammaFlags: UInt32; theGamma: GammaTblHandle): OSErr; external name '_DMSetGammaByAVID';
 
712
{
 
713
 *  DMGetGammaByAVID()
 
714
 *  
 
715
 *  Availability:
 
716
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
717
 *    CarbonLib:        not available
 
718
 *    Mac OS X:         not available
 
719
 }
 
720
function DMGetGammaByAVID(gammaAVID: AVIDType; getGammaFlags: UInt32; var theGamma: GammaTblHandle): OSErr; external name '_DMGetGammaByAVID';
 
721
{
 
722
 *  DMGetMakeAndModelByAVID()
 
723
 *  
 
724
 *  Availability:
 
725
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
726
 *    CarbonLib:        not available
 
727
 *    Mac OS X:         not available
 
728
 }
 
729
function DMGetMakeAndModelByAVID(theAVID: AVIDType; theMakeAndModel: DMMakeAndModelPtr): OSErr; external name '_DMGetMakeAndModelByAVID';
 
730
{
 
731
 *  DMNewDisplayList()
 
732
 *  
 
733
 *  Availability:
 
734
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
735
 *    CarbonLib:        not available
 
736
 *    Mac OS X:         not available
 
737
 }
 
738
function DMNewDisplayList(displayListIncludeFlags: UInt32; reserved1: UInt32; reserved2: UInt32; var theCount: DMListIndexType; var theDisplayList: DMListType): OSErr; external name '_DMNewDisplayList';
 
739
{
 
740
 *  DMGetIndexedDisplayFromList()
 
741
 *  
 
742
 *  Availability:
 
743
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
744
 *    CarbonLib:        not available
 
745
 *    Mac OS X:         not available
 
746
 }
 
747
function DMGetIndexedDisplayFromList(theDisplayList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMDisplayListIteratorUPP; userData: UnivPtr): OSErr; external name '_DMGetIndexedDisplayFromList';
 
748
{
 
749
 *  DMNewProfileListByAVID()
 
750
 *  
 
751
 *  Availability:
 
752
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
753
 *    CarbonLib:        not available
 
754
 *    Mac OS X:         not available
 
755
 }
 
756
function DMNewProfileListByAVID(theAVID: AVIDType; reserved: UInt32; var profileCount: DMListIndexType; var profileList: DMListType): OSErr; external name '_DMNewProfileListByAVID';
 
757
{
 
758
 *  DMGetIndexedProfileFromList()
 
759
 *  
 
760
 *  Availability:
 
761
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
762
 *    CarbonLib:        not available
 
763
 *    Mac OS X:         not available
 
764
 }
 
765
function DMGetIndexedProfileFromList(profileList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMProfileListIteratorUPP; userData: UnivPtr): OSErr; external name '_DMGetIndexedProfileFromList';
 
766
{$endc}  {CALL_NOT_IN_CARBON}
 
767
 
 
768
{
 
769
 *  DMGetFirstScreenDevice()
 
770
 *  
 
771
 *  Availability:
 
772
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
773
 *    CarbonLib:        in CarbonLib 1.0 and later
 
774
 *    Mac OS X:         in version 10.0 and later
 
775
 }
 
776
function DMGetFirstScreenDevice(activeOnly: boolean): GDHandle; external name '_DMGetFirstScreenDevice';
 
777
{
 
778
 *  DMGetNextScreenDevice()
 
779
 *  
 
780
 *  Availability:
 
781
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
782
 *    CarbonLib:        in CarbonLib 1.0 and later
 
783
 *    Mac OS X:         in version 10.0 and later
 
784
 }
 
785
function DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: boolean): GDHandle; external name '_DMGetNextScreenDevice';
 
786
{
 
787
 *  DMDrawDesktopRect()
 
788
 *  
 
789
 *  Availability:
 
790
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
791
 *    CarbonLib:        in CarbonLib 1.0 and later
 
792
 *    Mac OS X:         in version 10.0 and later
 
793
 }
 
794
procedure DMDrawDesktopRect(var globalRect: Rect); external name '_DMDrawDesktopRect';
 
795
{
 
796
 *  DMDrawDesktopRegion()
 
797
 *  
 
798
 *  Availability:
 
799
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
800
 *    CarbonLib:        in CarbonLib 1.0 and later
 
801
 *    Mac OS X:         in version 10.0 and later
 
802
 }
 
803
procedure DMDrawDesktopRegion(globalRgn: RgnHandle); external name '_DMDrawDesktopRegion';
 
804
{
 
805
 *  DMBeginConfigureDisplays()
 
806
 *  
 
807
 *  Availability:
 
808
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
809
 *    CarbonLib:        in CarbonLib 1.0 and later
 
810
 *    Mac OS X:         in version 10.0 and later
 
811
 }
 
812
function DMBeginConfigureDisplays(var displayState: Handle): OSErr; external name '_DMBeginConfigureDisplays';
 
813
{
 
814
 *  DMEndConfigureDisplays()
 
815
 *  
 
816
 *  Availability:
 
817
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
818
 *    CarbonLib:        in CarbonLib 1.0 and later
 
819
 *    Mac OS X:         in version 10.0 and later
 
820
 }
 
821
function DMEndConfigureDisplays(displayState: Handle): OSErr; external name '_DMEndConfigureDisplays';
 
822
{
 
823
 *  DMAddDisplay()
 
824
 *  
 
825
 *  Availability:
 
826
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
827
 *    CarbonLib:        in CarbonLib 1.0 and later
 
828
 *    Mac OS X:         in version 10.0 and later
 
829
 }
 
830
function DMAddDisplay(newDevice: GDHandle; driver: SInt16; mode: UInt32; reserved: UInt32; displayID: UInt32; displayComponent: Component; displayState: Handle): OSErr; external name '_DMAddDisplay';
 
831
{
 
832
 *  DMMoveDisplay()
 
833
 *  
 
834
 *  Availability:
 
835
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
836
 *    CarbonLib:        in CarbonLib 1.0 and later
 
837
 *    Mac OS X:         in version 10.0 and later
 
838
 }
 
839
function DMMoveDisplay(moveDevice: GDHandle; x: SInt16; y: SInt16; displayState: Handle): OSErr; external name '_DMMoveDisplay';
 
840
{
 
841
 *  DMDisableDisplay()
 
842
 *  
 
843
 *  Availability:
 
844
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
845
 *    CarbonLib:        in CarbonLib 1.0 and later
 
846
 *    Mac OS X:         in version 10.0 and later
 
847
 }
 
848
function DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr; external name '_DMDisableDisplay';
 
849
{
 
850
 *  DMEnableDisplay()
 
851
 *  
 
852
 *  Availability:
 
853
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
854
 *    CarbonLib:        in CarbonLib 1.0 and later
 
855
 *    Mac OS X:         in version 10.0 and later
 
856
 }
 
857
function DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr; external name '_DMEnableDisplay';
 
858
{
 
859
 *  DMRemoveDisplay()
 
860
 *  
 
861
 *  Availability:
 
862
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
863
 *    CarbonLib:        in CarbonLib 1.0 and later
 
864
 *    Mac OS X:         in version 10.0 and later
 
865
 }
 
866
function DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr; external name '_DMRemoveDisplay';
 
867
{
 
868
 *  DMSetMainDisplay()
 
869
 *  
 
870
 *  Availability:
 
871
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
872
 *    CarbonLib:        in CarbonLib 1.0 and later
 
873
 *    Mac OS X:         in version 10.0 and later
 
874
 }
 
875
function DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr; external name '_DMSetMainDisplay';
 
876
{
 
877
 *  DMSetDisplayMode()
 
878
 *  
 
879
 *  Availability:
 
880
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
881
 *    CarbonLib:        in CarbonLib 1.0 and later
 
882
 *    Mac OS X:         in version 10.0 and later
 
883
 }
 
884
function DMSetDisplayMode(theDevice: GDHandle; mode: UInt32; var depthMode: UInt32; reserved: UInt32; displayState: Handle): OSErr; external name '_DMSetDisplayMode';
 
885
{
 
886
 *  DMCheckDisplayMode()
 
887
 *  
 
888
 *  Availability:
 
889
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
890
 *    CarbonLib:        in CarbonLib 1.0 and later
 
891
 *    Mac OS X:         in version 10.0 and later
 
892
 }
 
893
function DMCheckDisplayMode(theDevice: GDHandle; mode: UInt32; depthMode: UInt32; var switchFlags: UInt32; reserved: UInt32; var modeOk: boolean): OSErr; external name '_DMCheckDisplayMode';
 
894
{
 
895
 *  DMGetDeskRegion()
 
896
 *  
 
897
 *  Availability:
 
898
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
899
 *    CarbonLib:        in CarbonLib 1.0 and later
 
900
 *    Mac OS X:         in version 10.0 and later
 
901
 }
 
902
function DMGetDeskRegion(var desktopRegion: RgnHandle): OSErr; external name '_DMGetDeskRegion';
 
903
{
 
904
 *  DMRegisterNotifyProc()
 
905
 *  
 
906
 *  Availability:
 
907
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
908
 *    CarbonLib:        in CarbonLib 1.0 and later
 
909
 *    Mac OS X:         in version 10.0 and later
 
910
 }
 
911
function DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: DMProcessInfoPtr): OSErr; external name '_DMRegisterNotifyProc';
 
912
{
 
913
 *  DMRemoveNotifyProc()
 
914
 *  
 
915
 *  Availability:
 
916
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
917
 *    CarbonLib:        in CarbonLib 1.0 and later
 
918
 *    Mac OS X:         in version 10.0 and later
 
919
 }
 
920
function DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: DMProcessInfoPtr): OSErr; external name '_DMRemoveNotifyProc';
 
921
{
 
922
 *  DMQDIsMirroringCapable()
 
923
 *  
 
924
 *  Availability:
 
925
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
926
 *    CarbonLib:        in CarbonLib 1.0 and later
 
927
 *    Mac OS X:         in version 10.0 and later
 
928
 }
 
929
function DMQDIsMirroringCapable(var qdIsMirroringCapable: boolean): OSErr; external name '_DMQDIsMirroringCapable';
 
930
{
 
931
 *  DMCanMirrorNow()
 
932
 *  
 
933
 *  Availability:
 
934
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
935
 *    CarbonLib:        in CarbonLib 1.0 and later
 
936
 *    Mac OS X:         in version 10.0 and later
 
937
 }
 
938
function DMCanMirrorNow(var canMirrorNow: boolean): OSErr; external name '_DMCanMirrorNow';
 
939
{
 
940
 *  DMIsMirroringOn()
 
941
 *  
 
942
 *  Availability:
 
943
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
944
 *    CarbonLib:        in CarbonLib 1.0 and later
 
945
 *    Mac OS X:         in version 10.0 and later
 
946
 }
 
947
function DMIsMirroringOn(var isMirroringOn: boolean): OSErr; external name '_DMIsMirroringOn';
 
948
{
 
949
 *  DMMirrorDevices()
 
950
 *  
 
951
 *  Availability:
 
952
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
953
 *    CarbonLib:        in CarbonLib 1.0 and later
 
954
 *    Mac OS X:         in version 10.0 and later
 
955
 }
 
956
function DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr; external name '_DMMirrorDevices';
 
957
{
 
958
 *  DMUnmirrorDevice()
 
959
 *  
 
960
 *  Availability:
 
961
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
962
 *    CarbonLib:        in CarbonLib 1.0 and later
 
963
 *    Mac OS X:         in version 10.0 and later
 
964
 }
 
965
function DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr; external name '_DMUnmirrorDevice';
 
966
{
 
967
 *  DMGetNextMirroredDevice()
 
968
 *  
 
969
 *  Availability:
 
970
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
971
 *    CarbonLib:        in CarbonLib 1.0 and later
 
972
 *    Mac OS X:         in version 10.0 and later
 
973
 }
 
974
function DMGetNextMirroredDevice(gDevice: GDHandle; var mirroredDevice: GDHandle): OSErr; external name '_DMGetNextMirroredDevice';
 
975
{
 
976
 *  DMBlockMirroring()
 
977
 *  
 
978
 *  Availability:
 
979
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
980
 *    CarbonLib:        in CarbonLib 1.0 and later
 
981
 *    Mac OS X:         in version 10.0 and later
 
982
 }
 
983
function DMBlockMirroring: OSErr; external name '_DMBlockMirroring';
 
984
{
 
985
 *  DMUnblockMirroring()
 
986
 *  
 
987
 *  Availability:
 
988
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
989
 *    CarbonLib:        in CarbonLib 1.0 and later
 
990
 *    Mac OS X:         in version 10.0 and later
 
991
 }
 
992
function DMUnblockMirroring: OSErr; external name '_DMUnblockMirroring';
 
993
{$ifc CALL_NOT_IN_CARBON}
 
994
{
 
995
 *  DMGetDisplayMgrA5World()
 
996
 *  
 
997
 *  Availability:
 
998
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
999
 *    CarbonLib:        not available
 
1000
 *    Mac OS X:         not available
 
1001
 }
 
1002
function DMGetDisplayMgrA5World(var dmA5: Ptr): OSErr; external name '_DMGetDisplayMgrA5World';
 
1003
{$endc}  {CALL_NOT_IN_CARBON}
 
1004
 
 
1005
{
 
1006
 *  DMGetDisplayIDByGDevice()
 
1007
 *  
 
1008
 *  Availability:
 
1009
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
1010
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1011
 *    Mac OS X:         in version 10.0 and later
 
1012
 }
 
1013
function DMGetDisplayIDByGDevice(displayDevice: GDHandle; var displayID: DisplayIDType; failToMain: boolean): OSErr; external name '_DMGetDisplayIDByGDevice';
 
1014
{
 
1015
 *  DMGetGDeviceByDisplayID()
 
1016
 *  
 
1017
 *  Availability:
 
1018
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
1019
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1020
 *    Mac OS X:         in version 10.0 and later
 
1021
 }
 
1022
function DMGetGDeviceByDisplayID(displayID: DisplayIDType; var displayDevice: GDHandle; failToMain: boolean): OSErr; external name '_DMGetGDeviceByDisplayID';
 
1023
{
 
1024
 *  DMSetDisplayComponent()
 
1025
 *  
 
1026
 *  Availability:
 
1027
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
1028
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1029
 *    Mac OS X:         in version 10.0 and later
 
1030
 }
 
1031
function DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr; external name '_DMSetDisplayComponent';
 
1032
{
 
1033
 *  DMGetDisplayComponent()
 
1034
 *  
 
1035
 *  Availability:
 
1036
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
1037
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1038
 *    Mac OS X:         in version 10.0 and later
 
1039
 }
 
1040
function DMGetDisplayComponent(theDevice: GDHandle; var displayComponent: Component): OSErr; external name '_DMGetDisplayComponent';
 
1041
{
 
1042
 *  DMNewDisplay()
 
1043
 *  
 
1044
 *  Availability:
 
1045
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
1046
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1047
 *    Mac OS X:         in version 10.0 and later
 
1048
 }
 
1049
function DMNewDisplay(var newDevice: GDHandle; driverRefNum: SInt16; mode: UInt32; reserved: UInt32; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr; external name '_DMNewDisplay';
 
1050
{
 
1051
 *  DMDisposeDisplay()
 
1052
 *  
 
1053
 *  Availability:
 
1054
 *    Non-Carbon CFM:   in InterfaceLib 7.5 and later
 
1055
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1056
 *    Mac OS X:         in version 10.0 and later
 
1057
 }
 
1058
function DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr; external name '_DMDisposeDisplay';
 
1059
{
 
1060
 *  DMResolveDisplayComponents()
 
1061
 *  
 
1062
 *  Availability:
 
1063
 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
 
1064
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1065
 *    Mac OS X:         in version 10.0 and later
 
1066
 }
 
1067
function DMResolveDisplayComponents: OSErr; external name '_DMResolveDisplayComponents';
 
1068
{
 
1069
 *  DMRegisterExtendedNotifyProc()
 
1070
 *  
 
1071
 *  Availability:
 
1072
 *    Non-Carbon CFM:   in DisplayLib 2.0 and later
 
1073
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1074
 *    Mac OS X:         in version 10.0 and later
 
1075
 }
 
1076
function DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UnivPtr; nofifyOnFlags: UInt16; whichPSN: DMProcessInfoPtr): OSErr; external name '_DMRegisterExtendedNotifyProc';
 
1077
{
 
1078
 *  DMRemoveExtendedNotifyProc()
 
1079
 *  
 
1080
 *  Availability:
 
1081
 *    Non-Carbon CFM:   in DisplayLib 2.0 and later
 
1082
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1083
 *    Mac OS X:         in version 10.0 and later
 
1084
 }
 
1085
function DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UnivPtr; whichPSN: DMProcessInfoPtr; removeFlags: UInt16): OSErr; external name '_DMRemoveExtendedNotifyProc';
 
1086
{
 
1087
 *  DMNewAVPanelList()
 
1088
 *  
 
1089
 *  Availability:
 
1090
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1091
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1092
 *    Mac OS X:         in version 10.0 and later
 
1093
 }
 
1094
function DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: UInt32; reserved: UInt32; var thePanelCount: DMListIndexType; var thePanelList: DMListType): OSErr; external name '_DMNewAVPanelList';
 
1095
{
 
1096
 *  DMNewAVEngineList()
 
1097
 *  
 
1098
 *  Availability:
 
1099
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1100
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1101
 *    Mac OS X:         in version 10.0 and later
 
1102
 }
 
1103
function DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: UInt32; reserved: UInt32; var engineCount: DMListIndexType; var engineList: DMListType): OSErr; external name '_DMNewAVEngineList';
 
1104
{
 
1105
 *  DMNewAVDeviceList()
 
1106
 *  
 
1107
 *  Availability:
 
1108
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1109
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1110
 *    Mac OS X:         in version 10.0 and later
 
1111
 }
 
1112
function DMNewAVDeviceList(deviceType: ResType; deviceListFlags: UInt32; reserved: UInt32; var deviceCount: DMListIndexType; var deviceList: DMListType): OSErr; external name '_DMNewAVDeviceList';
 
1113
{
 
1114
 *  DMNewAVPortListByPortType()
 
1115
 *  
 
1116
 *  Availability:
 
1117
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1118
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1119
 *    Mac OS X:         in version 10.0 and later
 
1120
 }
 
1121
function DMNewAVPortListByPortType(subType: ResType; portListFlags: UInt32; reserved: UInt32; var devicePortCount: DMListIndexType; var theDevicePortList: DMListType): OSErr; external name '_DMNewAVPortListByPortType';
 
1122
{
 
1123
 *  DMGetIndexedComponentFromList()
 
1124
 *  
 
1125
 *  Availability:
 
1126
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1127
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1128
 *    Mac OS X:         in version 10.0 and later
 
1129
 }
 
1130
function DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMComponentListIteratorUPP; userData: UnivPtr): OSErr; external name '_DMGetIndexedComponentFromList';
 
1131
{
 
1132
 *  DMDisposeList()
 
1133
 *  
 
1134
 *  Availability:
 
1135
 *    Non-Carbon CFM:   in DisplayLib 2.0 and later
 
1136
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1137
 *    Mac OS X:         in version 10.0 and later
 
1138
 }
 
1139
function DMDisposeList(panelList: DMListType): OSErr; external name '_DMDisposeList';
 
1140
{
 
1141
 *  DMGetNameByAVID()
 
1142
 *  
 
1143
 *  Availability:
 
1144
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1145
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1146
 *    Mac OS X:         in version 10.0 and later
 
1147
 }
 
1148
function DMGetNameByAVID(theID: AVIDType; nameFlags: UInt32; var name: Str255): OSErr; external name '_DMGetNameByAVID';
 
1149
{
 
1150
 *  DMNewAVIDByPortComponent()
 
1151
 *  
 
1152
 *  Availability:
 
1153
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1154
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1155
 *    Mac OS X:         in version 10.0 and later
 
1156
 }
 
1157
function DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: UInt32; var newID: AVIDType): OSErr; external name '_DMNewAVIDByPortComponent';
 
1158
{
 
1159
 *  DMGetPortComponentByAVID()
 
1160
 *  
 
1161
 *  Availability:
 
1162
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1163
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1164
 *    Mac OS X:         in version 10.0 and later
 
1165
 }
 
1166
function DMGetPortComponentByAVID(thePortID: DisplayIDType; var thePortComponent: Component; var theDesciption: ComponentDescription; var thePortKind: ResType): OSErr; external name '_DMGetPortComponentByAVID';
 
1167
{
 
1168
 *  DMSendDependentNotification()
 
1169
 *  
 
1170
 *  Availability:
 
1171
 *    Non-Carbon CFM:   in DisplayLib 2.0 and later
 
1172
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1173
 *    Mac OS X:         in version 10.0 and later
 
1174
 }
 
1175
function DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr; external name '_DMSendDependentNotification';
 
1176
{
 
1177
 *  DMDisposeAVComponent()
 
1178
 *  
 
1179
 *  Availability:
 
1180
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1181
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1182
 *    Mac OS X:         in version 10.0 and later
 
1183
 }
 
1184
function DMDisposeAVComponent(theAVComponent: Component): OSErr; external name '_DMDisposeAVComponent';
 
1185
{
 
1186
 *  DMSaveScreenPrefs()
 
1187
 *  
 
1188
 *  Availability:
 
1189
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1190
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1191
 *    Mac OS X:         in version 10.0 and later
 
1192
 }
 
1193
function DMSaveScreenPrefs(reserved1: UInt32; saveFlags: UInt32; reserved2: UInt32): OSErr; external name '_DMSaveScreenPrefs';
 
1194
{
 
1195
 *  DMNewAVIDByDeviceComponent()
 
1196
 *  
 
1197
 *  Availability:
 
1198
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1199
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1200
 *    Mac OS X:         in version 10.0 and later
 
1201
 }
 
1202
function DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: UInt32; var newID: DisplayIDType): OSErr; external name '_DMNewAVIDByDeviceComponent';
 
1203
{
 
1204
 *  DMNewAVPortListByDeviceAVID()
 
1205
 *  
 
1206
 *  Availability:
 
1207
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1208
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1209
 *    Mac OS X:         in version 10.0 and later
 
1210
 }
 
1211
function DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: UInt32; reserved: UInt32; var devicePortCount: DMListIndexType; var theDevicePortList: DMListType): OSErr; external name '_DMNewAVPortListByDeviceAVID';
 
1212
{
 
1213
 *  DMGetDeviceComponentByAVID()
 
1214
 *  
 
1215
 *  Availability:
 
1216
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1217
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1218
 *    Mac OS X:         in version 10.0 and later
 
1219
 }
 
1220
function DMGetDeviceComponentByAVID(theDeviceID: AVIDType; var theDeviceComponent: Component; var theDesciption: ComponentDescription; var theDeviceKind: ResType): OSErr; external name '_DMGetDeviceComponentByAVID';
 
1221
{
 
1222
 *  DMNewDisplayModeList()
 
1223
 *  
 
1224
 *  Availability:
 
1225
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1226
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1227
 *    Mac OS X:         in version 10.0 and later
 
1228
 }
 
1229
function DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: UInt32; reserved: UInt32; var thePanelCount: DMListIndexType; var thePanelList: DMListType): OSErr; external name '_DMNewDisplayModeList';
 
1230
{
 
1231
 *  DMGetIndexedDisplayModeFromList()
 
1232
 *  
 
1233
 *  Availability:
 
1234
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1235
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1236
 *    Mac OS X:         in version 10.0 and later
 
1237
 }
 
1238
function DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMDisplayModeListIteratorUPP; userData: UnivPtr): OSErr; external name '_DMGetIndexedDisplayModeFromList';
 
1239
{
 
1240
 *  DMGetGraphicInfoByAVID()
 
1241
 *  
 
1242
 *  Availability:
 
1243
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1244
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1245
 *    Mac OS X:         in version 10.0 and later
 
1246
 }
 
1247
function DMGetGraphicInfoByAVID(theID: AVIDType; var theAVPcit: PicHandle; var theAVIconSuite: Handle; var theAVLocation: AVLocationRec): OSErr; external name '_DMGetGraphicInfoByAVID';
 
1248
{
 
1249
 *  DMGetAVPowerState()
 
1250
 *  
 
1251
 *  Availability:
 
1252
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1253
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1254
 *    Mac OS X:         in version 10.0 and later
 
1255
 }
 
1256
function DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: UInt32): OSErr; external name '_DMGetAVPowerState';
 
1257
{
 
1258
 *  DMSetAVPowerState()
 
1259
 *  
 
1260
 *  Availability:
 
1261
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1262
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1263
 *    Mac OS X:         in version 10.0 and later
 
1264
 }
 
1265
function DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: UInt32; displayState: Handle): OSErr; external name '_DMSetAVPowerState';
 
1266
{
 
1267
 *  DMGetDeviceAVIDByPortAVID()
 
1268
 *  
 
1269
 *  Availability:
 
1270
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1271
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1272
 *    Mac OS X:         in version 10.0 and later
 
1273
 }
 
1274
function DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; var deviceAVID: AVIDType): OSErr; external name '_DMGetDeviceAVIDByPortAVID';
 
1275
{
 
1276
 *  DMGetEnableByAVID()
 
1277
 *  
 
1278
 *  Availability:
 
1279
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1280
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1281
 *    Mac OS X:         in version 10.0 and later
 
1282
 }
 
1283
function DMGetEnableByAVID(theAVID: AVIDType; var isAVIDEnabledNow: boolean; var canChangeEnableNow: boolean): OSErr; external name '_DMGetEnableByAVID';
 
1284
{
 
1285
 *  DMSetEnableByAVID()
 
1286
 *  
 
1287
 *  Availability:
 
1288
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1289
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1290
 *    Mac OS X:         in version 10.0 and later
 
1291
 }
 
1292
function DMSetEnableByAVID(theAVID: AVIDType; doEnable: boolean; displayState: Handle): OSErr; external name '_DMSetEnableByAVID';
 
1293
{
 
1294
 *  DMGetDisplayMode()
 
1295
 *  
 
1296
 *  Availability:
 
1297
 *    Non-Carbon CFM:   in DisplayLib68k 2.0 and later
 
1298
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1299
 *    Mac OS X:         in version 10.0 and later
 
1300
 }
 
1301
function DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr; external name '_DMGetDisplayMode';
 
1302
{
 
1303
 *  DMConfirmConfiguration()
 
1304
 *  
 
1305
 *  Availability:
 
1306
 *    Non-Carbon CFM:   in DisplayLib 2.1 and later
 
1307
 *    CarbonLib:        in CarbonLib 1.0 and later
 
1308
 *    Mac OS X:         in version 10.0 and later
 
1309
 }
 
1310
function DMConfirmConfiguration(filterProc: DMModalFilterUPP; confirmFlags: UInt32; reserved: UInt32; displayState: Handle): OSErr; external name '_DMConfirmConfiguration';
 
1311
{$ALIGN MAC68K}
 
1312
 
 
1313
 
 
1314
end.