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

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       QD3DAcceleration.h
  3.  
  4.      Contains:   Header file for low-level 3D driver API
  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 __QD3DACCELERATION__
  18. #define __QD3DACCELERATION__
  19. #ifndef __QD3D__
  20. #include "QD3D.h"
  21. #endif
  22. #if PRAGMA_ONCE
  23. #pragma once
  24. #endif
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28. #if PRAGMA_IMPORT
  29. #pragma import on
  30. #endif
  31. #if PRAGMA_STRUCT_ALIGN
  32.     #pragma options align=power
  33. #elif PRAGMA_STRUCT_PACKPUSH
  34.     #pragma pack(push, 2)
  35. #elif PRAGMA_STRUCT_PACK
  36.     #pragma pack(2)
  37. #endif
  38. #if PRAGMA_ENUM_ALWAYSINT
  39.     #if defined(__fourbyteints__) && !__fourbyteints__ 
  40.         #define __QD3DACCELERATION__RESTORE_TWOBYTEINTS
  41.         #pragma fourbyteints on
  42.     #endif
  43.     #pragma enumsalwaysint on
  44. #elif PRAGMA_ENUM_OPTIONS
  45.     #pragma option enum=int
  46. #elif PRAGMA_ENUM_PACK
  47.     #if __option(pack_enums)
  48.         #define __QD3DACCELERATION__RESTORE_PACKED_ENUMS
  49.         #pragma options(!pack_enums)
  50.     #endif
  51. #endif
  52. /******************************************************************************
  53.  **                                                                          **
  54.  **                         Vendor ID definitions                            **
  55.  **                                                                          **
  56.  *****************************************************************************/
  57. /*
  58.  * If kQAVendor_BestChoice is used, the system chooses the "best" drawing engine
  59.  * available for the target device. This should be used for the default.
  60.  */
  61. enum {
  62.     kQAVendor_BestChoice        = -1
  63. };
  64. /*
  65.  * The other definitions (kQAVendor_Apple, etc.) identify specific vendors
  66.  * of drawing engines. When a vendor ID is used in conjunction with a
  67.  * vendor-defined engine ID, a specific drawing engine can be selected.
  68.  */
  69. enum {
  70.     kQAVendor_Apple             = 0,
  71.     kQAVendor_ATI               = 1,
  72.     kQAVendor_Radius            = 2,
  73.     kQAVendor_DesignMark        = 3,
  74.     kQAVendor_Matrox            = 4,
  75.     kQAVendor_Yarc              = 5,
  76.     kQAVendor_DiamondMM         = 6,
  77.     kQAVendor_3DLabs            = 7,
  78.     kQAVendor_D3DAdaptor        = 8,
  79.     kQAVendor_IXMicro           = 9,
  80.     kQAVendor_NumberNine        = 10,
  81.     kQAVendor_MicroConversions  = 11,
  82.     kQAVendor_PurpleShark       = 12,
  83.     kQAVendor_VillageTronic     = 14
  84. };
  85. /******************************************************************************
  86.  **                                                                          **
  87.  **                      Apple's engine ID definitions                       **
  88.  **                                                                          **
  89.  *****************************************************************************/
  90. enum {
  91.     kQAEngine_AppleSW           = 0,                            /* Default software rasterizer*/
  92.     kQAEngine_AppleHW           = -1,                           /* Apple accelerator*/
  93.     kQAEngine_AppleHW2          = 1,                            /* Another Apple accelerator*/
  94.     kQAEngine_AppleHW3          = 2                             /* Another Apple accelerator*/
  95. };
  96. #if PRAGMA_ENUM_ALWAYSINT
  97.     #pragma enumsalwaysint reset
  98.     #ifdef __QD3DACCELERATION__RESTORE_TWOBYTEINTS
  99.         #pragma fourbyteints off
  100.     #endif
  101. #elif PRAGMA_ENUM_OPTIONS
  102.     #pragma option enum=reset
  103. #elif defined(__QD3DACCELERATION__RESTORE_PACKED_ENUMS)
  104.     #pragma options(pack_enums)
  105. #endif
  106. #if PRAGMA_STRUCT_ALIGN
  107.     #pragma options align=reset
  108. #elif PRAGMA_STRUCT_PACKPUSH
  109.     #pragma pack(pop)
  110. #elif PRAGMA_STRUCT_PACK
  111.     #pragma pack()
  112. #endif
  113. #ifdef PRAGMA_IMPORT_OFF
  114. #pragma import off
  115. #elif PRAGMA_IMPORT
  116. #pragma import reset
  117. #endif
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121. #endif /* __QD3DACCELERATION__ */