Module: wine Branch: master Commit: 136549dd58bba4f869690034b4d92042578db49b URL: http://source.winehq.org/git/wine.git/?a=commit;h=136549dd58bba4f869690034b4...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Dec 23 16:30:05 2013 +0400
include: Added ID2D1SimplifiedGeometrySink definition.
---
include/Makefile.in | 2 + include/d2d1.idl | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ include/d2dbasetypes.h | 23 +++++++++++++++ 3 files changed, 99 insertions(+), 0 deletions(-)
diff --git a/include/Makefile.in b/include/Makefile.in index a6d149d..460c3c2 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -23,6 +23,7 @@ PUBLIC_IDL_H_SRCS = \ cordebug.idl \ ctfutb.idl \ ctxtcall.idl \ + d2d1.idl \ d3d10.idl \ d3d10_1.idl \ d3d11.idl \ @@ -187,6 +188,7 @@ SRCDIR_INCLUDES = \ cryptuiapi.h \ custcntl.h \ cvconst.h \ + d2dbasetypes.h \ d3d.h \ d3d10_1shader.h \ d3d10effect.h \ diff --git a/include/d2d1.idl b/include/d2d1.idl new file mode 100644 index 0000000..8c9cdb3 --- /dev/null +++ b/include/d2d1.idl @@ -0,0 +1,74 @@ +/* + * Copyright 2013 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 "unknwn.idl"; +import "d2dbasetypes.h"; + +typedef D2D_POINT_2F D2D1_POINT_2F; + +typedef enum D2D1_FILL_MODE +{ + D2D1_FILL_MODE_ALTERNATE = 0, + D2D1_FILL_MODE_WINDING = 1, + D2D1_FILL_MODE_FORCE_DWORD = 0xffffffff +} D2D1_FILL_MODE; + +typedef enum D2D1_PATH_SEGMENT +{ + D2D1_PATH_SEGMENT_NONE = 0, + D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 1, + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 2, + D2D1_PATH_SEGMENT_FORCE_DWORD = 0xffffffff +} D2D1_PATH_SEGMENT; + +typedef enum D2D1_FIGURE_BEGIN +{ + D2D1_FIGURE_BEGIN_FILLED = 0, + D2D1_FIGURE_BEGIN_HOLLOW = 1, + D2D1_FIGURE_BEGIN_FORCE_DWORD = 0xffffffff +} D2D1_FIGURE_BEGIN; + +typedef struct D2D1_BEZIER_SEGMENT +{ + D2D1_POINT_2F point1; + D2D1_POINT_2F point2; + D2D1_POINT_2F point3; +} D2D1_BEZIER_SEGMENT; + +typedef enum D2D1_FIGURE_END +{ + D2D1_FIGURE_END_OPEN = 0, + D2D1_FIGURE_END_CLOSED = 1, + D2D1_FIGURE_END_FORCE_DWORD = 0xffffffff +} D2D1_FIGURE_END; + +[ + local, + object, + uuid(2cd9069e-12e2-11dc-9fed-001143a055f9) +] +interface ID2D1SimplifiedGeometrySink : IUnknown +{ + void SetFillMode(D2D1_FILL_MODE mode); + void SetSegmentFlags(D2D1_PATH_SEGMENT vertexFlags); + void BeginFigure(D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin); + void AddLines(const D2D1_POINT_2F *points, UINT32 count); + void AddBeziers(const D2D1_BEZIER_SEGMENT *beziers, UINT32 count); + void EndFigure(D2D1_FIGURE_END figureEnd); + HRESULT Close(); +} diff --git a/include/d2dbasetypes.h b/include/d2dbasetypes.h new file mode 100644 index 0000000..b306e2b --- /dev/null +++ b/include/d2dbasetypes.h @@ -0,0 +1,23 @@ +/* + * Copyright 2013 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 + */ + +typedef struct D2D_POINT_2F +{ + FLOAT x; + FLOAT y; +} D2D_POINT_2F;