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

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       QD3DCustomElements.h
  3.  
  4.      Contains:   Custom QuickTime Elements in QuickDraw 3D
  5.  
  6.      Version:    Technology: Quickdraw 3D 1.6
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1995-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 __QD3DCUSTOMELEMENTS__
  18. #define __QD3DCUSTOMELEMENTS__
  19. #ifndef __QD3D__
  20. #include "QD3D.h"
  21. #endif
  22. #ifndef __MOVIES__
  23. #include "Movies.h"
  24. #endif
  25. #if PRAGMA_ONCE
  26. #pragma once
  27. #endif
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. #if PRAGMA_IMPORT
  32. #pragma import on
  33. #endif
  34. #if PRAGMA_STRUCT_ALIGN
  35.     #pragma options align=power
  36. #elif PRAGMA_STRUCT_PACKPUSH
  37.     #pragma pack(push, 2)
  38. #elif PRAGMA_STRUCT_PACK
  39.     #pragma pack(2)
  40. #endif
  41. #if PRAGMA_ENUM_ALWAYSINT
  42.     #if defined(__fourbyteints__) && !__fourbyteints__ 
  43.         #define __QD3DCUSTOMELEMENTS__RESTORE_TWOBYTEINTS
  44.         #pragma fourbyteints on
  45.     #endif
  46.     #pragma enumsalwaysint on
  47. #elif PRAGMA_ENUM_OPTIONS
  48.     #pragma option enum=int
  49. #elif PRAGMA_ENUM_PACK
  50.     #if __option(pack_enums)
  51.         #define __QD3DCUSTOMELEMENTS__RESTORE_PACKED_ENUMS
  52.         #pragma options(!pack_enums)
  53.     #endif
  54. #endif
  55. /******************************************************************************
  56.  **                                                                             **
  57.  **                     Name Data Structure Definitions                      **
  58.  **                                                                          **
  59.  *****************************************************************************/
  60. #define CEcNameElementName  "Apple Computer, Inc.:NameElement"
  61. /******************************************************************************
  62.  **                                                                          **
  63.  **                     Custom Name Element Functions                        **
  64.  **                                                                          **
  65.  *****************************************************************************/
  66. #if CALL_NOT_IN_CARBON
  67. EXTERN_API_C( TQ3Status )
  68. CENameElement_SetData           (TQ3Object              object,
  69.                                  const char *           name);
  70. EXTERN_API_C( TQ3Status )
  71. CENameElement_GetData           (TQ3Object              object,
  72.                                  char **                name);
  73. EXTERN_API_C( TQ3Status )
  74. CENameElement_EmptyData         (char **                name);
  75. /******************************************************************************
  76.  **                                                                          **
  77.  **                         URL Data Structure Definitions                   **
  78.  **                                                                          **
  79.  *****************************************************************************/
  80. #define CEcUrlElementName       "Apple Computer, Inc.:URLElement"
  81. #endif  /* CALL_NOT_IN_CARBON */
  82. enum TCEUrlOptions {
  83.     kCEUrlOptionNone            = 0,
  84.     kCEUrlOptionUseMap          = 1
  85. };
  86. typedef enum TCEUrlOptions TCEUrlOptions;
  87. struct TCEUrlData {
  88.     char *                          url;
  89.     char *                          description;
  90.     TCEUrlOptions                   options;
  91. };
  92. typedef struct TCEUrlData               TCEUrlData;
  93. /******************************************************************************
  94.  **                                                                          **
  95.  **                     Custom URL Element Functions                         **
  96.  **                                                                          **
  97.  *****************************************************************************/
  98. #if CALL_NOT_IN_CARBON
  99. EXTERN_API_C( TQ3Status )
  100. CEUrlElement_SetData            (TQ3Object              object,
  101.                                  TCEUrlData *           urlData);
  102. EXTERN_API_C( TQ3Status )
  103. CEUrlElement_GetData            (TQ3Object              object,
  104.                                  TCEUrlData **          urlData);
  105. EXTERN_API_C( TQ3Status )
  106. CEUrlElement_EmptyData          (TCEUrlData **          urlData);
  107. /******************************************************************************
  108.  **                                                                          **
  109.  **                         Wire Data Definitions                            **
  110.  **                                                                          **
  111.  *****************************************************************************/
  112. #define CEcWireElementName  "Apple Computer, Inc.:WireElement"
  113. /******************************************************************************
  114.  **                                                                          **
  115.  **                     Wire Custom Element Functions                        **
  116.  **                                                                          **
  117.  *****************************************************************************/
  118. EXTERN_API_C( TQ3Status )
  119. CEWireElement_SetData           (TQ3Object              object,
  120.                                  QTAtomContainer        wireData);
  121. EXTERN_API_C( TQ3Status )
  122. CEWireElement_GetData           (TQ3Object              object,
  123.                                  QTAtomContainer *      wireData);
  124. EXTERN_API_C( TQ3Status )
  125. CEWireElement_EmptyData         (QTAtomContainer *      wireData);
  126. #endif  /* CALL_NOT_IN_CARBON */
  127. #if PRAGMA_ENUM_ALWAYSINT
  128.     #pragma enumsalwaysint reset
  129.     #ifdef __QD3DCUSTOMELEMENTS__RESTORE_TWOBYTEINTS
  130.         #pragma fourbyteints off
  131.     #endif
  132. #elif PRAGMA_ENUM_OPTIONS
  133.     #pragma option enum=reset
  134. #elif defined(__QD3DCUSTOMELEMENTS__RESTORE_PACKED_ENUMS)
  135.     #pragma options(pack_enums)
  136. #endif
  137. #if PRAGMA_STRUCT_ALIGN
  138.     #pragma options align=reset
  139. #elif PRAGMA_STRUCT_PACKPUSH
  140.     #pragma pack(pop)
  141. #elif PRAGMA_STRUCT_PACK
  142.     #pragma pack()
  143. #endif
  144. #ifdef PRAGMA_IMPORT_OFF
  145. #pragma import off
  146. #elif PRAGMA_IMPORT
  147. #pragma import reset
  148. #endif
  149. #ifdef __cplusplus
  150. }
  151. #endif
  152. #endif /* __QD3DCUSTOMELEMENTS__ */