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 struct D2D_POINT_2U { 71 UINT32 x; 72 UINT32 y; 73 }; 74 75 struct D2D_RECT_F { 76 FLOAT left; 77 FLOAT top; 78 FLOAT right; 79 FLOAT bottom; 80 }; 81 82 struct D2D_RECT_U { 83 UINT32 left; 84 UINT32 top; 85 UINT32 right; 86 UINT32 bottom; 87 }; 88 89 typedef RECT D2D_RECT_L; 90 91 struct D2D_SIZE_F { 92 FLOAT width; 93 FLOAT height; 94 }; 95 96 typedef D2D_COLOR_F D2D1_COLOR_F; 97 98 typedef struct D2D_POINT_2F D2D1_POINT_2F; 99 100 typedef struct D2D_POINT_2U D2D1_POINT_2U; 101 102 typedef struct D2D_RECT_F D2D1_RECT_F; 103 104 typedef struct D2D_RECT_U D2D1_RECT_U; 105 106 typedef struct D2D_SIZE_F D2D1_SIZE_F; 107 108 typedef struct D2D_VECTOR_2F { 109 FLOAT x; 110 FLOAT y; 111 } D2D_VECTOR_2F; 112 113 typedef struct D2D_VECTOR_3F { 114 FLOAT x; 115 FLOAT y; 116 FLOAT z; 117 } D2D_VECTOR_3F; 118 119 typedef struct D2D_VECTOR_4F { 120 FLOAT x; 121 FLOAT y; 122 FLOAT z; 123 FLOAT w; 124 } D2D_VECTOR_4F; 125 126 #endif /* _D2DBASETYPES_H */ 127