dxgitype.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //
  2. // Copyright (C) Microsoft. All rights reserved.
  3. //
  4. #ifndef __dxgitype_h__
  5. #define __dxgitype_h__
  6. #include "dxgicommon.h"
  7. #include "dxgiformat.h"
  8. #define _FACDXGI 0x87a
  9. #define MAKE_DXGI_HRESULT(code) MAKE_HRESULT(1, _FACDXGI, code)
  10. #define MAKE_DXGI_STATUS(code) MAKE_HRESULT(0, _FACDXGI, code)
  11. // DXGI error messages have moved to winerror.h
  12. #define DXGI_CPU_ACCESS_NONE ( 0 )
  13. #define DXGI_CPU_ACCESS_DYNAMIC ( 1 )
  14. #define DXGI_CPU_ACCESS_READ_WRITE ( 2 )
  15. #define DXGI_CPU_ACCESS_SCRATCH ( 3 )
  16. #define DXGI_CPU_ACCESS_FIELD 15
  17. typedef struct DXGI_RGB
  18. {
  19. float Red;
  20. float Green;
  21. float Blue;
  22. } DXGI_RGB;
  23. #ifndef D3DCOLORVALUE_DEFINED
  24. typedef struct _D3DCOLORVALUE {
  25. float r;
  26. float g;
  27. float b;
  28. float a;
  29. } D3DCOLORVALUE;
  30. #define D3DCOLORVALUE_DEFINED
  31. #endif
  32. typedef D3DCOLORVALUE DXGI_RGBA;
  33. typedef struct DXGI_GAMMA_CONTROL
  34. {
  35. DXGI_RGB Scale;
  36. DXGI_RGB Offset;
  37. DXGI_RGB GammaCurve[ 1025 ];
  38. } DXGI_GAMMA_CONTROL;
  39. typedef struct DXGI_GAMMA_CONTROL_CAPABILITIES
  40. {
  41. BOOL ScaleAndOffsetSupported;
  42. float MaxConvertedValue;
  43. float MinConvertedValue;
  44. UINT NumGammaControlPoints;
  45. float ControlPointPositions[1025];
  46. } DXGI_GAMMA_CONTROL_CAPABILITIES;
  47. typedef enum DXGI_MODE_SCANLINE_ORDER
  48. {
  49. DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0,
  50. DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1,
  51. DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2,
  52. DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3
  53. } DXGI_MODE_SCANLINE_ORDER;
  54. typedef enum DXGI_MODE_SCALING
  55. {
  56. DXGI_MODE_SCALING_UNSPECIFIED = 0,
  57. DXGI_MODE_SCALING_CENTERED = 1,
  58. DXGI_MODE_SCALING_STRETCHED = 2
  59. } DXGI_MODE_SCALING;
  60. typedef enum DXGI_MODE_ROTATION
  61. {
  62. DXGI_MODE_ROTATION_UNSPECIFIED = 0,
  63. DXGI_MODE_ROTATION_IDENTITY = 1,
  64. DXGI_MODE_ROTATION_ROTATE90 = 2,
  65. DXGI_MODE_ROTATION_ROTATE180 = 3,
  66. DXGI_MODE_ROTATION_ROTATE270 = 4
  67. } DXGI_MODE_ROTATION;
  68. typedef struct DXGI_MODE_DESC
  69. {
  70. UINT Width;
  71. UINT Height;
  72. DXGI_RATIONAL RefreshRate;
  73. DXGI_FORMAT Format;
  74. DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;
  75. DXGI_MODE_SCALING Scaling;
  76. } DXGI_MODE_DESC;
  77. typedef struct DXGI_JPEG_DC_HUFFMAN_TABLE
  78. {
  79. BYTE CodeCounts[12];
  80. BYTE CodeValues[12];
  81. } DXGI_JPEG_DC_HUFFMAN_TABLE;
  82. typedef struct DXGI_JPEG_AC_HUFFMAN_TABLE
  83. {
  84. BYTE CodeCounts[16];
  85. BYTE CodeValues[162];
  86. } DXGI_JPEG_AC_HUFFMAN_TABLE;
  87. typedef struct DXGI_JPEG_QUANTIZATION_TABLE
  88. {
  89. BYTE Elements[64];
  90. } DXGI_JPEG_QUANTIZATION_TABLE;
  91. #endif // __dxgitype_h__