blob: 43c82eb8a7688cd9c0b72996f1e48d0900cc0ec0 [file] [log] [blame]
/*
* Copyright 2012 Nikolay Sivov for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "dxgiformat.idl";
cpp_quote("#if 0")
typedef struct
{
long x, y;
} POINT;
typedef struct
{
long left, top, right, bottom;
} RECT;
typedef unsigned int UINT32;
cpp_quote("#endif")
typedef enum DWRITE_MEASURING_MODE
{
DWRITE_MEASURING_MODE_NATURAL,
DWRITE_MEASURING_MODE_GDI_CLASSIC,
DWRITE_MEASURING_MODE_GDI_NATURAL
} DWRITE_MEASURING_MODE;
typedef enum DWRITE_GLYPH_IMAGE_FORMATS
{
DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0,
DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 1 << 0,
DWRITE_GLYPH_IMAGE_FORMATS_CFF = 1 << 1,
DWRITE_GLYPH_IMAGE_FORMATS_COLR = 1 << 2,
DWRITE_GLYPH_IMAGE_FORMATS_SVG = 1 << 3,
DWRITE_GLYPH_IMAGE_FORMATS_PNG = 1 << 4,
DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 1 << 5,
DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 1 << 6,
DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 1 << 7
} DWRITE_GLYPH_IMAGE_FORMATS;
typedef enum D2D1_ALPHA_MODE
{
D2D1_ALPHA_MODE_UNKNOWN = 0,
D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
D2D1_ALPHA_MODE_STRAIGHT = 2,
D2D1_ALPHA_MODE_IGNORE = 3,
D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
} D2D1_ALPHA_MODE;
typedef struct D2D1_PIXEL_FORMAT
{
DXGI_FORMAT format;
D2D1_ALPHA_MODE alphaMode;
} D2D1_PIXEL_FORMAT;
typedef struct D2D_POINT_2F
{
float x;
float y;
} D2D_POINT_2F, D2D1_POINT_2F;
typedef POINT D2D_POINT_2L, D2D1_POINT_2L;
typedef struct D2D_VECTOR_2F
{
float x;
float y;
} D2D_VECTOR_2F;
typedef struct D2D_VECTOR_3F
{
float x;
float y;
float z;
} D2D_VECTOR_3F;
typedef struct D2D_VECTOR_4F
{
float x;
float y;
float z;
float w;
} D2D_VECTOR_4F;
typedef RECT D2D_RECT_L, D2D1_RECT_L;
typedef struct D2D_SIZE_U
{
UINT32 width;
UINT32 height;
} D2D_SIZE_U, D2D1_SIZE_U;
typedef struct D2D_MATRIX_3X2_F
{
union
{
struct
{
float m11;
float m12;
float m21;
float m22;
float dx;
float dy;
};
struct
{
float _11, _12;
float _21, _22;
float _31, _32;
};
float m[3][2];
};
} D2D_MATRIX_3X2_F;
typedef struct D2D_MATRIX_4X3_F
{
union
{
struct
{
float _11, _12, _13;
float _21, _22, _23;
float _31, _32, _33;
float _41, _42, _43;
};
float m[4][3];
};
} D2D_MATRIX_4X3_F;
typedef struct D2D_MATRIX_4X4_F
{
union
{
struct
{
float _11, _12, _13, _14;
float _21, _22, _23, _24;
float _31, _32, _33, _34;
float _41, _42, _43, _44;
};
float m[4][4];
};
} D2D_MATRIX_4X4_F;
typedef struct D2D_MATRIX_5X4_F
{
union
{
struct
{
float _11, _12, _13, _14;
float _21, _22, _23, _24;
float _31, _32, _33, _34;
float _41, _42, _43, _44;
float _51, _52, _53, _54;
};
float m[5][4];
};
} D2D_MATRIX_5X4_F;