AVComponents.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:32k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       AVComponents.h
  3.  
  4.      Contains:   Standard includes for standard AV panels
  5.  
  6.      Version:    Technology: System 7.5
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1989-2001 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://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __AVCOMPONENTS__
  18. #define __AVCOMPONENTS__
  19. #ifndef __DIALOGS__
  20. #include "Dialogs.h"
  21. #endif
  22. #ifndef __VIDEO__
  23. #include "Video.h"
  24. #endif
  25. #ifndef __DISPLAYS__
  26. #include "Displays.h"
  27. #endif
  28. #ifndef __COMPONENTS__
  29. #include "Components.h"
  30. #endif
  31. #if PRAGMA_ONCE
  32. #pragma once
  33. #endif
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. #if PRAGMA_IMPORT
  38. #pragma import on
  39. #endif
  40. #if PRAGMA_STRUCT_ALIGN
  41.     #pragma options align=mac68k
  42. #elif PRAGMA_STRUCT_PACKPUSH
  43.     #pragma pack(push, 2)
  44. #elif PRAGMA_STRUCT_PACK
  45.     #pragma pack(2)
  46. #endif
  47. /*
  48.     The subtypes listed here are for example only.  The display manager will find _all_ panels
  49.     with the appropriate types.  These panels return class information that is used to devide them
  50.     up into groups to be displayed in the AV Windows (class means "geometry" or "color" or other groupings
  51.     like that.
  52. */
  53. enum {
  54.     kAVPanelType                = FOUR_CHAR_CODE('avpc'),       /* Panel subtypes        */
  55.     kBrightnessPanelSubType     = FOUR_CHAR_CODE('brit'),
  56.     kContrastPanelSubType       = FOUR_CHAR_CODE('cont'),
  57.     kBitDepthPanelSubType       = FOUR_CHAR_CODE('bitd'),
  58.     kAVEngineType               = FOUR_CHAR_CODE('avec'),       /* Engine subtypes          */
  59.     kBrightnessEngineSubType    = FOUR_CHAR_CODE('brit'),
  60.     kContrastEngineSubType      = FOUR_CHAR_CODE('cont'),       /*    kBitDepthEngineSubType     = 'bitd',       // Not used              */
  61.     kAVPortType                 = FOUR_CHAR_CODE('avdp'),       /* subtypes are defined in each port's public .h file */
  62.     kAVUtilityType              = FOUR_CHAR_CODE('avuc'),
  63.     kAVBackChannelSubType       = FOUR_CHAR_CODE('avbc'),
  64.     kAVCommunicationType        = FOUR_CHAR_CODE('avcm'),
  65.     kAVDialogType               = FOUR_CHAR_CODE('avdg')
  66. };
  67. /* PortComponent subtypes are up to the port and display manager does not use the subtype
  68.     to find port components.  Instead, display manager uses an internal cache to search for portcompoennts.
  69.     It turns out to be useful to have a unique subtype so that engines can see if they should apply themselves to
  70.     a particular port component.
  71.   
  72.    PortKinds are the "class" of port.  When a port is registered with display manager (creating a display ID), the
  73.     caller of DMNewDisplayIDByPortComponent passes a portKind.  Ports of this type are returned by
  74.     DMNewDevicePortList.
  75.   
  76.    PortKinds are NOT subtypes of components
  77.    PortKinds ARE used to register and find port components with Display Manager.  Here are the basic port kinds:
  78.   
  79.    Video displays are distinct from video out because there are some video out ports that are not actaully displays.
  80.     if EZAV is looking to configure displays, it needs to look for kAVVideoDisplayPortKind not kAVVideoOutPortKind.
  81. */
  82. enum {
  83.     kAVVideoDisplayPortKind     = FOUR_CHAR_CODE('pkdo'),       /* Video Display (CRT or panel display)          */
  84.     kAVVideoOutPortKind         = FOUR_CHAR_CODE('pkvo'),       /* Video out port (camera output).                */
  85.     kAVVideoInPortKind          = FOUR_CHAR_CODE('pkvi'),       /* Video in port (camera input)               */
  86.     kAVSoundOutPortKind         = FOUR_CHAR_CODE('pkso'),       /* Sound out port (speaker or speaker jack)      */
  87.     kAVSoundInPortKind          = FOUR_CHAR_CODE('pksi'),       /* Sound in port (microphone or microphone jack)  */
  88.     kAVDeviceType               = FOUR_CHAR_CODE('avdc'),       /* Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster) */
  89.     kAVDisplayDeviceKind        = FOUR_CHAR_CODE('dkvo'),       /* Display device*/
  90.                                                                 /* Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster)*/
  91.     kAVCategoryType             = FOUR_CHAR_CODE('avcc'),
  92.     kAVSoundInSubType           = FOUR_CHAR_CODE('avao'),
  93.     kAVSoundOutSubType          = FOUR_CHAR_CODE('avai'),
  94.     kAVVideoInSubType           = FOUR_CHAR_CODE('vdin'),
  95.     kAVVideoOutSubType          = FOUR_CHAR_CODE('vdou'),
  96.     kAVInvalidType              = FOUR_CHAR_CODE('badt')        /* Some calls return a component type, in case of errors, these types are set to kAVInvalidComponentType */
  97. };
  98. /*
  99.    Interface Signatures are used to identify what kind of component
  100.    calls can be made for a given component. Today this applies only
  101.    to ports, but could be applied to other components as well.
  102. */
  103. enum {
  104.     kAVGenericInterfaceSignature = FOUR_CHAR_CODE('dmgr'),
  105.     kAVAppleVisionInterfaceSignature = FOUR_CHAR_CODE('avav')
  106. };
  107. /* =============================                    */
  108. /* Panel Class Constants                            */
  109. /* =============================                    */
  110. enum {
  111.     kAVPanelClassDisplayDefault = FOUR_CHAR_CODE('cdsp'),
  112.     kAVPanelClassColor          = FOUR_CHAR_CODE('cclr'),
  113.     kAVPanelClassGeometry       = FOUR_CHAR_CODE('cgeo'),
  114.     kAVPanelClassSound          = FOUR_CHAR_CODE('csnd'),
  115.     kAVPanelClassPreferences    = FOUR_CHAR_CODE('cprf'),
  116.     kAVPanelClassLCD            = FOUR_CHAR_CODE('clcd'),
  117.     kAVPanelClassMonitorSound   = FOUR_CHAR_CODE('cres'),
  118.     kAVPanelClassAlert          = FOUR_CHAR_CODE('calr'),
  119.     kAVPanelClassExtras         = FOUR_CHAR_CODE('cext'),
  120.     kAVPanelClassRearrange      = FOUR_CHAR_CODE('crea')
  121. };
  122. /* =============================                    */
  123. /* AV Notification Types                            */
  124. /* =============================                    */
  125. /*
  126.    This notification will be sent whenever a
  127.    device has been reset, for whatever reason.
  128. */
  129. enum {
  130.     kAVNotifyDeviceReset        = FOUR_CHAR_CODE('rset')
  131. };
  132. /* =============================                    */
  133. /* Component interface revision levels and history  */
  134. /* =============================                    */
  135. enum {
  136.     kAVPanelComponentInterfaceRevOne = 1,
  137.     kAVPanelComponentInterfaceRevTwo = 2,
  138.     kAVEngineComponentInterfaceRevOne = 1,
  139.     kAVPortComponentInterfaceRevOne = 1,
  140.     kAVDeviceComponentInterfaceRevOne = 1,
  141.     kAVUtilityComponentInterfaceRevOne = 1
  142. };
  143. /* =============================                    */
  144. /* Adornment Constants                              */
  145. /* =============================                    */
  146. enum {
  147.     kAVPanelAdornmentNoBorder   = 0,
  148.     kAVPanelAdornmentStandardBorder = 1
  149. };
  150. enum {
  151.     kAVPanelAdornmentNoName     = 0,
  152.     kAVPanelAdornmentStandardName = 1
  153. };
  154. /* =============================                    */
  155. /* Selector Ranges                                  */
  156. /* =============================                    */
  157. enum {
  158.     kBaseAVComponentSelector    = 256,                          /* First apple-defined selector for AV components */
  159.     kAppleAVComponentSelector   = 512                           /* First apple-defined type-specific selector for AV components */
  160. };
  161. /* =============================                */
  162. /* Panel Standard component selectors           */
  163. /* =============================                */
  164. enum {
  165.     kAVPanelFakeRegisterSelect  = kComponentRegisterSelect,     /* -5 */
  166.     kAVPanelSetCustomDataSelect = 0,
  167.     kAVPanelGetDitlSelect       = 1,
  168.     kAVPanelGetTitleSelect      = 2,
  169.     kAVPanelInstallSelect       = 3,
  170.     kAVPanelEventSelect         = 4,
  171.     kAVPanelItemSelect          = 5,
  172.     kAVPanelRemoveSelect        = 6,
  173.     kAVPanelValidateInputSelect = 7,
  174.     kAVPanelGetSettingsIdentifiersSelect = 8,
  175.     kAVPanelGetSettingsSelect   = 9,
  176.     kAVPanelSetSettingsSelect   = 10,
  177.     kAVPanelSelectorGetFidelitySelect = kBaseAVComponentSelector,
  178.     kAVPanelSelectorTargetDeviceSelect = 257,
  179.     kAVPanelSelectorGetPanelClassSelect = 258,
  180.     kAVPanelSelectorGetPanelAdornmentSelect = 259,
  181.     kAVPanelSelectorGetBalloonHelpStringSelect = 260,
  182.     kAVPanelSelectorAppleGuideRequestSelect = 261
  183. };
  184. /* =============================                */
  185. /* Engine Standard component selectors          */
  186. /* =============================                */
  187. enum {
  188.     kAVEngineGetEngineFidelitySelect = kBaseAVComponentSelector,
  189.     kAVEngineTargetDeviceSelect = 257
  190. };
  191. /* =============================                    */
  192. /* Video Port Specific calls                        */
  193. /* =============================                    */
  194. enum {
  195.     kAVPortCheckTimingModeSelect = 0,
  196.     kAVPortReserved1Select      = 1,                            /* Reserved*/
  197.     kAVPortReserved2Select      = 2,                            /* Reserved*/
  198.     kAVPortGetDisplayTimingInfoSelect = kAppleAVComponentSelector,
  199.     kAVPortGetDisplayProfileCountSelect = 513,
  200.     kAVPortGetIndexedDisplayProfileSelect = 514,
  201.     kAVPortGetDisplayGestaltSelect = 515
  202. };
  203. /* =============================                    */
  204. /* AV Port Specific calls                           */
  205. /* =============================                    */
  206. enum {
  207.     kAVPortGetAVDeviceFidelitySelect = kBaseAVComponentSelector, /* Port Standard Component selectors */
  208.     kAVPortGetWiggleSelect      = 257,
  209.     kAVPortSetWiggleSelect      = 258,
  210.     kAVPortGetNameSelect        = 259,
  211.     kAVPortGetGraphicInfoSelect = 260,
  212.     kAVPortSetActiveSelect      = 261,
  213.     kAVPortGetActiveSelect      = 262,
  214.     kAVPortUnsed1Select         = 263,                          /* Selector removed as part of API change.  We don't want to mess up the following selectors, so we put in this spacer (ie kPadSelector). */
  215.     kAVPortGetAVIDSelect        = 264,
  216.     kAVPortSetAVIDSelect        = 265,
  217.     kAVPortSetDeviceAVIDSelect  = 266,                          /* For registrar to set device (instead of hitting global directly) -- should only be called once */
  218.     kAVPortGetDeviceAVIDSelect  = 267,                          /* Called by display mgr for generic ports */
  219.     kAVPortGetPowerStateSelect  = 268,
  220.     kAVPortSetPowerStateSelect  = 269,
  221.     kAVPortGetMakeAndModelSelect = 270,                         /* Get Make and model information*/
  222.     kAVPortGetInterfaceSignatureSelect = 271,                   /* To determine what VideoPort-specific calls can be made*/
  223.     kAVPortReserved3Select      = 272,                          /* Reserved*/
  224.     kAVPortGetManufactureInfoSelect = 273                       /* Get more Make and model information  */
  225. };
  226. /* =============================                    */
  227. /* Device Component Standard Component selectors    */
  228. /* =============================                    */
  229. enum {
  230.     kAVDeviceGetNameSelect      = kBaseAVComponentSelector,
  231.     kAVDeviceGetGraphicInfoSelect = 257,
  232.     kAVDeviceGetPowerStateSelect = 258,
  233.     kAVDeviceSetPowerStateSelect = 259,
  234.     kAVDeviceGetAVIDSelect      = 260,
  235.     kAVDeviceSetAVIDSelect      = 261
  236. };
  237. /* =============================                    */
  238. /* AV Back-Channel Selectors                        */
  239. /* =============================                    */
  240. enum {
  241.     kAVBackChannelReservedSelector = 1,
  242.     kAVBackChannelPreModalFilterSelect = 2,
  243.     kAVBackChannelModalFilterSelect = 3,
  244.     kAVBackChannelAppleGuideLaunchSelect = 4
  245. };
  246. /* =============================                */
  247. /* Engine Standard component selectors          */
  248. /* =============================                */
  249. #if CALL_NOT_IN_CARBON
  250. EXTERN_API( ComponentResult )
  251. AVEngineComponentGetFidelity    (ComponentInstance      engineComponent,
  252.                                  DisplayIDType          displayID,
  253.                                  DMFidelityType *       engineFidelity)                     FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  254. EXTERN_API( ComponentResult )
  255. AVEngineComponentTargetDevice   (ComponentInstance      engineComponent,
  256.                                  DisplayIDType          displayID)                          FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  257. /* =============================                */
  258. /* Panel Standard Component calls               */
  259. /* =============================                */
  260. EXTERN_API( ComponentResult )
  261. AVPanelFakeRegister             (ComponentInstance      ci)                                 FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFB, 0x7000, 0xA82A);
  262. EXTERN_API( ComponentResult )
  263. AVPanelSetCustomData            (ComponentInstance      ci,
  264.                                  long                   theCustomData)                      FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
  265. EXTERN_API( ComponentResult )
  266. AVPanelGetDitl                  (ComponentInstance      ci,
  267.                                  Handle *               ditl)                               FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  268. EXTERN_API( ComponentResult )
  269. AVPanelGetTitle                 (ComponentInstance      ci,
  270.                                  StringPtr              title)                              FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
  271. EXTERN_API( ComponentResult )
  272. AVPanelInstall                  (ComponentInstance      ci,
  273.                                  DialogPtr              dialog,
  274.                                  long                   itemOffset)                         FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
  275. EXTERN_API( ComponentResult )
  276. AVPanelEvent                    (ComponentInstance      ci,
  277.                                  DialogPtr              dialog,
  278.                                  long                   itemOffset,
  279.                                  EventRecord *          event,
  280.                                  short *                itemHit,
  281.                                  Boolean *              handled)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0004, 0x7000, 0xA82A);
  282. EXTERN_API( ComponentResult )
  283. AVPanelItem                     (ComponentInstance      ci,
  284.                                  DialogPtr              dialog,
  285.                                  long                   itemOffset,
  286.                                  short                  itemNum)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0005, 0x7000, 0xA82A);
  287. EXTERN_API( ComponentResult )
  288. AVPanelRemove                   (ComponentInstance      ci,
  289.                                  DialogPtr              dialog,
  290.                                  long                   itemOffset)                         FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
  291. EXTERN_API( ComponentResult )
  292. AVPanelValidateInput            (ComponentInstance      ci,
  293.                                  Boolean *              ok)                                 FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  294. EXTERN_API( ComponentResult )
  295. AVPanelGetSettingsIdentifiers   (ComponentInstance      ci,
  296.                                  short *                theID,
  297.                                  OSType *               theType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
  298. EXTERN_API( ComponentResult )
  299. AVPanelGetSettings              (ComponentInstance      ci,
  300.                                  Handle *               userDataHand,
  301.                                  long                   flags,
  302.                                  DialogPtr              theDialog,
  303.                                  long                   itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0009, 0x7000, 0xA82A);
  304. EXTERN_API( ComponentResult )
  305. AVPanelSetSettings              (ComponentInstance      ci,
  306.                                  Handle                 userDataHand,
  307.                                  long                   flags,
  308.                                  DialogPtr              theDialog,
  309.                                  long                   itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
  310. EXTERN_API( ComponentResult )
  311. AVPanelGetFidelity              (ComponentInstance      panelComponent,
  312.                                  DisplayIDType          displayID,
  313.                                  DMFidelityType *       panelFidelity)                      FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  314. EXTERN_API( ComponentResult )
  315. AVPanelComponentTargetDevice    (ComponentInstance      panelComponent,
  316.                                  DisplayIDType          displayID,
  317.                                  DialogPtr              theDialog,
  318.                                  long                   itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  319. EXTERN_API( ComponentResult )
  320. AVPanelComponentGetPanelClass   (ComponentInstance      panelComponent,
  321.                                  ResType *              panelClass,
  322.                                  ResType *              subClass,
  323.                                  Ptr                    reserved1,
  324.                                  Ptr                    reserved2)                          FIVEWORDINLINE(0x2F3C, 0x0010, 0x0102, 0x7000, 0xA82A);
  325. EXTERN_API( ComponentResult )
  326. AVPanelComponentGetPanelAdornment (ComponentInstance    panelComponent,
  327.                                  long *                 panelBorderType,
  328.                                  long *                 panelNameType)                      FIVEWORDINLINE(0x2F3C, 0x0008, 0x0103, 0x7000, 0xA82A);
  329. EXTERN_API( ComponentResult )
  330. AVPanelComponentGetBalloonHelpString (ComponentInstance  panelComponent,
  331.                                  short                  item,
  332.                                  StringPtr              balloonString)                      FIVEWORDINLINE(0x2F3C, 0x0006, 0x0104, 0x7000, 0xA82A);
  333. EXTERN_API( ComponentResult )
  334. AVPanelComponentAppleGuideRequest (ComponentInstance    panelComponent,
  335.                                  OSType                 agSelector,
  336.                                  void *                 agDataReply)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0105, 0x7000, 0xA82A);
  337. /* =============================                */
  338. /* Port Component Standard Component selectors  */
  339. /* =============================                */
  340. EXTERN_API( ComponentResult )
  341. AVPortGetAVDeviceFidelity       (ComponentInstance      portComponent,
  342.                                  AVIDType               deviceAVID,
  343.                                  DMFidelityType *       portFidelity)                       FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  344. EXTERN_API( ComponentResult )
  345. AVPortGetWiggle                 (ComponentInstance      portComponent,
  346.                                  Boolean *              wiggleDevice)                       FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  347. EXTERN_API( ComponentResult )
  348. AVPortSetWiggle                 (ComponentInstance      portComponent,
  349.                                  Boolean                wiggleDevice)                       FIVEWORDINLINE(0x2F3C, 0x0002, 0x0102, 0x7000, 0xA82A);
  350. EXTERN_API( ComponentResult )
  351. AVPortGetName                   (ComponentInstance      portComponent,
  352.                                  Str255                 portName)                           FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  353. EXTERN_API( ComponentResult )
  354. AVPortGetGraphicInfo            (ComponentInstance      portComponent,
  355.                                  PicHandle *            thePict,
  356.                                  Handle *               theIconSuite,
  357.                                  AVLocationPtr          theLocation)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
  358. EXTERN_API( ComponentResult )
  359. AVPortSetActive                 (ComponentInstance      portComponent,
  360.                                  Boolean                setActive)                          FIVEWORDINLINE(0x2F3C, 0x0002, 0x0105, 0x7000, 0xA82A);
  361. EXTERN_API( ComponentResult )
  362. AVPortGetActive                 (ComponentInstance      portComponent,
  363.                                  Boolean *              isPortActive,
  364.                                  Boolean *              portCanBeActivated,
  365.                                  void *                 reserved)                           FIVEWORDINLINE(0x2F3C, 0x000C, 0x0106, 0x7000, 0xA82A);
  366. EXTERN_API( ComponentResult )
  367. AVPortGetAVID                   (ComponentInstance      portComponent,
  368.                                  AVIDType *             avPortID)                           FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
  369. EXTERN_API( ComponentResult )
  370. AVPortSetAVID                   (ComponentInstance      portComponent,
  371.                                  AVIDType               avPortID)                           FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
  372. EXTERN_API( ComponentResult )
  373. AVPortSetDeviceAVID             (ComponentInstance      portComponent,
  374.                                  AVIDType               avDeviceID)                         FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
  375. EXTERN_API( ComponentResult )
  376. AVPortGetDeviceAVID             (ComponentInstance      portComponent,
  377.                                  AVIDType *             avDeviceID)                         FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
  378. EXTERN_API( ComponentResult )
  379. AVPortGetPowerState             (ComponentInstance      portComponent,
  380.                                  AVPowerStatePtr        getPowerState)                      FIVEWORDINLINE(0x2F3C, 0x0004, 0x010C, 0x7000, 0xA82A);
  381. EXTERN_API( ComponentResult )
  382. AVPortSetPowerState             (ComponentInstance      portComponent,
  383.                                  AVPowerStatePtr        setPowerState)                      FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
  384. EXTERN_API( ComponentResult )
  385. AVPortGetMakeAndModel           (ComponentInstance      portComponent,
  386.                                  DisplayIDType          theDisplayID,
  387.                                  ResType *              manufacturer,
  388.                                  UInt32 *               model,
  389.                                  UInt32 *               serialNumber)                       FIVEWORDINLINE(0x2F3C, 0x0010, 0x010E, 0x7000, 0xA82A);
  390. EXTERN_API( ComponentResult )
  391. AVPortGetInterfaceSignature     (ComponentInstance      portComponent,
  392.                                  OSType *               interfaceSignature)                 FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
  393. EXTERN_API( ComponentResult )
  394. AVPortGetManufactureInfo        (ComponentInstance      portComponent,
  395.                                  DisplayIDType          theDisplayID,
  396.                                  DMMakeAndModelPtr      theMakeAndModel)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0111, 0x7000, 0xA82A);
  397. /* =============================                */
  398. /* Video Out Port Component Selectors           */
  399. /* =============================                */
  400. EXTERN_API( ComponentResult )
  401. AVPortCheckTimingMode           (ComponentInstance      displayComponent,
  402.                                  DisplayIDType          theDisplayID,
  403.                                  VDDisplayConnectInfoPtr  connectInfo,
  404.                                  VDTimingInfoPtr        modeTiming,
  405.                                  UInt32                 reserved)                           FIVEWORDINLINE(0x2F3C, 0x0010, 0x0000, 0x7000, 0xA82A);
  406. EXTERN_API( ComponentResult )
  407. AVPortGetDisplayTimingInfo      (ComponentInstance      displayComponent,
  408.                                  VDTimingInfoPtr        modeTiming,
  409.                                  UInt32                 requestedVersion,
  410.                                  DMDisplayTimingInfoPtr  modeInfo,
  411.                                  UInt32                 reserved)                           FIVEWORDINLINE(0x2F3C, 0x0010, 0x0200, 0x7000, 0xA82A);
  412. EXTERN_API( ComponentResult )
  413. AVPortGetDisplayProfileCount    (ComponentInstance      displayComponent,
  414.                                  UInt32                 reserved,
  415.                                  UInt32 *               profileCount,
  416.                                  UInt32 *               profileSeed)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0201, 0x7000, 0xA82A);
  417. /*pascal ComponentResult AVPortGetIndexedDisplayProfile(ComponentInstance displayComponent, UInt32 reserved, UInt32 profileIndex, UInt32 profileSeed, CMProfileRef* indexedProfile)*/
  418. EXTERN_API( ComponentResult )
  419. AVPortGetIndexedDisplayProfile  (ComponentInstance      displayComponent,
  420.                                  UInt32                 reserved,
  421.                                  UInt32                 profileIndex,
  422.                                  UInt32                 profileSeed,
  423.                                  void *                 indexedProfile)                     FIVEWORDINLINE(0x2F3C, 0x0010, 0x0202, 0x7000, 0xA82A);
  424. EXTERN_API( ComponentResult )
  425. AVPortGetDisplayGestalt         (ComponentInstance      displayComponent,
  426.                                  ResType                displayGestaltSelector,
  427.                                  UInt32 *               displayGestaltResponse)             FIVEWORDINLINE(0x2F3C, 0x0008, 0x0203, 0x7000, 0xA82A);
  428. /* =============================                */
  429. /* AV Device Component Selectors                */
  430. /* =============================                */
  431. EXTERN_API( ComponentResult )
  432. AVDeviceGetName                 (ComponentInstance      deviceComponent,
  433.                                  Str255                 portName)                           FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  434. EXTERN_API( ComponentResult )
  435. AVDeviceGetGraphicInfo          (ComponentInstance      deviceComponent,
  436.                                  PicHandle *            thePict,
  437.                                  Handle *               theIconSuite,
  438.                                  AVLocationPtr          theLocation)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  439. EXTERN_API( ComponentResult )
  440. AVDeviceGetPowerState           (ComponentInstance      deviceComponent,
  441.                                  AVPowerStatePtr        getPowerState)                      FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
  442. EXTERN_API( ComponentResult )
  443. AVDeviceSetPowerState           (ComponentInstance      deviceComponent,
  444.                                  AVPowerStatePtr        setPowerState)                      FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  445. EXTERN_API( ComponentResult )
  446. AVDeviceGetAVID                 (ComponentInstance      deviceComponent,
  447.                                  AVIDType *             avDeviceID)                         FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
  448. EXTERN_API( ComponentResult )
  449. AVDeviceSetAVID                 (ComponentInstance      deviceComponent,
  450.                                  AVIDType               avDeviceID)                         FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
  451. /* =============================                */
  452. /* AV BackChannel Component Selectors           */
  453. /* =============================                */
  454. EXTERN_API( ComponentResult )
  455. AVBackChannelPreModalFilter     (ComponentInstance      compInstance)                       FIVEWORDINLINE(0x2F3C, 0x0000, 0x0002, 0x7000, 0xA82A);
  456. EXTERN_API( ComponentResult )
  457. AVBackChannelModalFilter        (ComponentInstance      compInstance,
  458.                                  EventRecord *          theEvent)                           FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
  459. EXTERN_API( ComponentResult )
  460. AVBackChannelAppleGuideLaunch   (ComponentInstance      compInstance,
  461.                                  StringPtr              theSubject)                         FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
  462. /* MixedMode ProcInfo constants for component calls */
  463. enum {
  464.     uppAVEngineComponentGetFidelityProcInfo    = 0x00000FF0,
  465.     uppAVEngineComponentTargetDeviceProcInfo   = 0x000003F0,
  466.     uppAVPanelFakeRegisterProcInfo             = 0x000000F0,
  467.     uppAVPanelSetCustomDataProcInfo            = 0x000003F0,
  468.     uppAVPanelGetDitlProcInfo                  = 0x000003F0,
  469.     uppAVPanelGetTitleProcInfo                 = 0x000003F0,
  470.     uppAVPanelInstallProcInfo                  = 0x00000FF0,
  471.     uppAVPanelEventProcInfo                    = 0x0003FFF0,
  472.     uppAVPanelItemProcInfo                     = 0x00002FF0,
  473.     uppAVPanelRemoveProcInfo                   = 0x00000FF0,
  474.     uppAVPanelValidateInputProcInfo            = 0x000003F0,
  475.     uppAVPanelGetSettingsIdentifiersProcInfo   = 0x00000FF0,
  476.     uppAVPanelGetSettingsProcInfo              = 0x0000FFF0,
  477.     uppAVPanelSetSettingsProcInfo              = 0x0000FFF0,
  478.     uppAVPanelGetFidelityProcInfo              = 0x00000FF0,
  479.     uppAVPanelComponentTargetDeviceProcInfo    = 0x00003FF0,
  480.     uppAVPanelComponentGetPanelClassProcInfo   = 0x0000FFF0,
  481.     uppAVPanelComponentGetPanelAdornmentProcInfo = 0x00000FF0,
  482.     uppAVPanelComponentGetBalloonHelpStringProcInfo = 0x00000EF0,
  483.     uppAVPanelComponentAppleGuideRequestProcInfo = 0x00000FF0,
  484.     uppAVPortGetAVDeviceFidelityProcInfo       = 0x00000FF0,
  485.     uppAVPortGetWiggleProcInfo                 = 0x000003F0,
  486.     uppAVPortSetWiggleProcInfo                 = 0x000001F0,
  487.     uppAVPortGetNameProcInfo                   = 0x000003F0,
  488.     uppAVPortGetGraphicInfoProcInfo            = 0x00003FF0,
  489.     uppAVPortSetActiveProcInfo                 = 0x000001F0,
  490.     uppAVPortGetActiveProcInfo                 = 0x00003FF0,
  491.     uppAVPortGetAVIDProcInfo                   = 0x000003F0,
  492.     uppAVPortSetAVIDProcInfo                   = 0x000003F0,
  493.     uppAVPortSetDeviceAVIDProcInfo             = 0x000003F0,
  494.     uppAVPortGetDeviceAVIDProcInfo             = 0x000003F0,
  495.     uppAVPortGetPowerStateProcInfo             = 0x000003F0,
  496.     uppAVPortSetPowerStateProcInfo             = 0x000003F0,
  497.     uppAVPortGetMakeAndModelProcInfo           = 0x0000FFF0,
  498.     uppAVPortGetInterfaceSignatureProcInfo     = 0x000003F0,
  499.     uppAVPortGetManufactureInfoProcInfo        = 0x00000FF0,
  500.     uppAVPortCheckTimingModeProcInfo           = 0x0000FFF0,
  501.     uppAVPortGetDisplayTimingInfoProcInfo      = 0x0000FFF0,
  502.     uppAVPortGetDisplayProfileCountProcInfo    = 0x00003FF0,
  503.     uppAVPortGetIndexedDisplayProfileProcInfo  = 0x0000FFF0,
  504.     uppAVPortGetDisplayGestaltProcInfo         = 0x00000FF0,
  505.     uppAVDeviceGetNameProcInfo                 = 0x000003F0,
  506.     uppAVDeviceGetGraphicInfoProcInfo          = 0x00003FF0,
  507.     uppAVDeviceGetPowerStateProcInfo           = 0x000003F0,
  508.     uppAVDeviceSetPowerStateProcInfo           = 0x000003F0,
  509.     uppAVDeviceGetAVIDProcInfo                 = 0x000003F0,
  510.     uppAVDeviceSetAVIDProcInfo                 = 0x000003F0,
  511.     uppAVBackChannelPreModalFilterProcInfo     = 0x000000F0,
  512.     uppAVBackChannelModalFilterProcInfo        = 0x000003F0,
  513.     uppAVBackChannelAppleGuideLaunchProcInfo   = 0x000003F0
  514. };
  515. #endif  /* CALL_NOT_IN_CARBON */
  516. #if PRAGMA_STRUCT_ALIGN
  517.     #pragma options align=reset
  518. #elif PRAGMA_STRUCT_PACKPUSH
  519.     #pragma pack(pop)
  520. #elif PRAGMA_STRUCT_PACK
  521.     #pragma pack()
  522. #endif
  523. #ifdef PRAGMA_IMPORT_OFF
  524. #pragma import off
  525. #elif PRAGMA_IMPORT
  526. #pragma import reset
  527. #endif
  528. #ifdef __cplusplus
  529. }
  530. #endif
  531. #endif /* __AVCOMPONENTS__ */