1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 6 * d2dbasetypes.h - Header file for the Direct2D API 7 * No original Microsoft headers were used in the creation of this 8 * file. 9 *API docs available at: http://msdn.microsoft.com/en-us/library/dd372349%28v=VS.85%29.aspx 10 */ 11 12 #ifndef _D2DBASETYPES_H 13 #define _D2DBASETYPES_H 14 15 #include <d3d9types.h> 16 17 typedef D3DCOLORVALUE D2D_COLOR_F; 18 19 struct D2D_MATRIX_3X2_F { 20 FLOAT _11; 21 FLOAT _12; 22 FLOAT _21; 23 FLOAT _22; 24 FLOAT _31; 25 FLOAT _32; 26 }; 27 28 typedef struct D2D_MATRIX_4X3_F { 29 __C89_NAMELESS union { 30 __C89_NAMELESS struct { 31 FLOAT _11, _12, _13; 32 FLOAT _21, _22, _23; 33 FLOAT _31, _32, _33; 34 FLOAT _41, _42, _43; 35 }; 36 FLOAT m[4][3]; 37 }; 38 } D2D_MATRIX_4X3_F; 39 40 typedef struct D2D_MATRIX_4X4_F { 41 __C89_NAMELESS union { 42 __C89_NAMELESS struct { 43 FLOAT _11, _12, _13, _14; 44 FLOAT _21, _22, _23, _24; 45 FLOAT _31, _32, _33, _34; 46 FLOAT _41, _42, _43, _44; 47 }; 48 FLOAT m[4][4]; 49 }; 50 } D2D_MATRIX_4X4_F; 51 52 typedef struct D2D_MATRIX_5X4_F { 53 __C89_NAMELESS union { 54 __C89_NAMELESS struct { 55 FLOAT _11, _12, _13, _14; 56 FLOAT _21, _22, _23, _24; 57 FLOAT _31, _32, _33, _34; 58 FLOAT _41, _42, _43, _44; 59 FLOAT _51, _52, _53, _54; 60 }; 61 FLOAT m[5][4]; 62 }; 63 } D2D_MATRIX_5X4_F; 64 65 struct D2D_POINT_2F { 66 FLOAT x; 67 FLOAT y; 68 }; 69 70 typedef POINT D2D_POINT_2L; 71 72 struct D2D_POINT_2U { 73 UINT32 x; 74 UINT32 y; 75 }; 76 77 struct D2D_RECT_F { 78 FLOAT left; 79 FLOAT top; 80 FLOAT right; 81 FLOAT bottom; 82 }; 83 84 struct D2D_RECT_U { 85 UINT32 left; 86 UINT32 top; 87 UINT32 right; 88 UINT32 bottom; 89 }; 90 91 typedef RECT D2D_RECT_L; 92 93 struct D2D_SIZE_F { 94 FLOAT width; 95 FLOAT height; 96 }; 97 98 struct D2D_SIZE_U { 99 UINT32 width; 100 UINT32 height; 101 }; 102 103 typedef D2D_COLOR_F D2D1_COLOR_F; 104 105 typedef struct D2D_POINT_2F D2D1_POINT_2F; 106 107 typedef struct D2D_POINT_2U D2D1_POINT_2U; 108 109 typedef struct D2D_RECT_F D2D1_RECT_F; 110 111 typedef struct D2D_RECT_U D2D1_RECT_U; 112 113 typedef struct D2D_SIZE_F D2D1_SIZE_F; 114 115 typedef struct D2D_SIZE_U D2D1_SIZE_U; 116 117 typedef struct D2D_VECTOR_2F { 118 FLOAT x; 119 FLOAT y; 120 } D2D_VECTOR_2F; 121 122 typedef struct D2D_VECTOR_3F { 123 FLOAT x; 124 FLOAT y; 125 FLOAT z; 126 } D2D_VECTOR_3F; 127 128 typedef struct D2D_VECTOR_4F { 129 FLOAT x; 130 FLOAT y; 131 FLOAT z; 132 FLOAT w; 133 } D2D_VECTOR_4F; 134 135 #endif /* _D2DBASETYPES_H */ 136