Home | History | Annotate | Download | only in include
      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