dcommon.idl 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /*
  2. * Copyright 2012 Nikolay Sivov for CodeWeavers
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. import "dxgiformat.idl";
  19. cpp_quote("#if 0")
  20. typedef struct
  21. {
  22. long x, y;
  23. } POINT;
  24. typedef struct
  25. {
  26. long left, top, right, bottom;
  27. } RECT;
  28. typedef unsigned int UINT32;
  29. cpp_quote("#endif")
  30. typedef enum DWRITE_MEASURING_MODE
  31. {
  32. DWRITE_MEASURING_MODE_NATURAL,
  33. DWRITE_MEASURING_MODE_GDI_CLASSIC,
  34. DWRITE_MEASURING_MODE_GDI_NATURAL
  35. } DWRITE_MEASURING_MODE;
  36. typedef enum DWRITE_GLYPH_IMAGE_FORMATS
  37. {
  38. DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0,
  39. DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 1 << 0,
  40. DWRITE_GLYPH_IMAGE_FORMATS_CFF = 1 << 1,
  41. DWRITE_GLYPH_IMAGE_FORMATS_COLR = 1 << 2,
  42. DWRITE_GLYPH_IMAGE_FORMATS_SVG = 1 << 3,
  43. DWRITE_GLYPH_IMAGE_FORMATS_PNG = 1 << 4,
  44. DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 1 << 5,
  45. DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 1 << 6,
  46. DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 1 << 7
  47. } DWRITE_GLYPH_IMAGE_FORMATS;
  48. typedef enum D2D1_ALPHA_MODE
  49. {
  50. D2D1_ALPHA_MODE_UNKNOWN = 0,
  51. D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
  52. D2D1_ALPHA_MODE_STRAIGHT = 2,
  53. D2D1_ALPHA_MODE_IGNORE = 3,
  54. D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
  55. } D2D1_ALPHA_MODE;
  56. typedef struct D2D1_PIXEL_FORMAT
  57. {
  58. DXGI_FORMAT format;
  59. D2D1_ALPHA_MODE alphaMode;
  60. } D2D1_PIXEL_FORMAT;
  61. typedef struct D2D_POINT_2F
  62. {
  63. float x;
  64. float y;
  65. } D2D_POINT_2F, D2D1_POINT_2F;
  66. typedef POINT D2D_POINT_2L, D2D1_POINT_2L;
  67. typedef struct D2D_VECTOR_2F
  68. {
  69. float x;
  70. float y;
  71. } D2D_VECTOR_2F;
  72. typedef struct D2D_VECTOR_3F
  73. {
  74. float x;
  75. float y;
  76. float z;
  77. } D2D_VECTOR_3F;
  78. typedef struct D2D_VECTOR_4F
  79. {
  80. float x;
  81. float y;
  82. float z;
  83. float w;
  84. } D2D_VECTOR_4F;
  85. typedef RECT D2D_RECT_L, D2D1_RECT_L;
  86. typedef struct D2D_SIZE_U
  87. {
  88. UINT32 width;
  89. UINT32 height;
  90. } D2D_SIZE_U, D2D1_SIZE_U;
  91. typedef struct D2D_MATRIX_3X2_F
  92. {
  93. union
  94. {
  95. struct
  96. {
  97. float m11;
  98. float m12;
  99. float m21;
  100. float m22;
  101. float dx;
  102. float dy;
  103. };
  104. struct
  105. {
  106. float _11, _12;
  107. float _21, _22;
  108. float _31, _32;
  109. };
  110. float m[3][2];
  111. };
  112. } D2D_MATRIX_3X2_F;
  113. typedef struct D2D_MATRIX_4X3_F
  114. {
  115. union
  116. {
  117. struct
  118. {
  119. float _11, _12, _13;
  120. float _21, _22, _23;
  121. float _31, _32, _33;
  122. float _41, _42, _43;
  123. };
  124. float m[4][3];
  125. };
  126. } D2D_MATRIX_4X3_F;
  127. typedef struct D2D_MATRIX_4X4_F
  128. {
  129. union
  130. {
  131. struct
  132. {
  133. float _11, _12, _13, _14;
  134. float _21, _22, _23, _24;
  135. float _31, _32, _33, _34;
  136. float _41, _42, _43, _44;
  137. };
  138. float m[4][4];
  139. };
  140. } D2D_MATRIX_4X4_F;
  141. typedef struct D2D_MATRIX_5X4_F
  142. {
  143. union
  144. {
  145. struct
  146. {
  147. float _11, _12, _13, _14;
  148. float _21, _22, _23, _24;
  149. float _31, _32, _33, _34;
  150. float _41, _42, _43, _44;
  151. float _51, _52, _53, _54;
  152. };
  153. float m[5][4];
  154. };
  155. } D2D_MATRIX_5X4_F;