Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
2f72c13c
Commit
2f72c13c
authored
May 12, 2014
by
Henri Verbeet
Committed by
Alexandre Julliard
May 12, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d2d1: Add the ID2D1Geometry interface.
parent
7b6ee15b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
133 additions
and
0 deletions
+133
-0
d2d1.idl
include/d2d1.idl
+115
-0
d2dbasetypes.h
include/d2dbasetypes.h
+18
-0
No files found.
include/d2d1.idl
View file @
2f72c13c
...
...
@@ -20,6 +20,8 @@ import "unknwn.idl";
import
"d2dbasetypes.h"
;
typedef
D2D_POINT_2F
D2D1_POINT_2F
;
typedef
D2D_MATRIX_3X2_F
D2D1_MATRIX_3X2_F
;
typedef
D2D_RECT_F
D2D1_RECT_F
;
typedef
enum
D2D1_DEBUG_LEVEL
{
...
...
@@ -95,6 +97,32 @@ typedef enum D2D1_DASH_STYLE
D2D1_DASH_STYLE_FORCE_DWORD
=
0
xffffffff
,
}
D2D1_DASH_STYLE
;
typedef
enum
D2D1_GEOMETRY_RELATION
{
D2D1_GEOMETRY_RELATION_UNKNOWN
=
0
,
D2D1_GEOMETRY_RELATION_DISJOINT
=
1
,
D2D1_GEOMETRY_RELATION_IS_CONTAINED
=
2
,
D2D1_GEOMETRY_RELATION_CONTAINS
=
3
,
D2D1_GEOMETRY_RELATION_OVERLAP
=
4
,
D2D1_GEOMETRY_RELATION_FORCE_DWORD
=
0
xffffffff
,
}
D2D1_GEOMETRY_RELATION
;
typedef
enum
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
{
D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES
=
0
,
D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES
=
1
,
D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD
=
0
xffffffff
,
}
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
;
typedef
enum
D2D1_COMBINE_MODE
{
D2D1_COMBINE_MODE_UNION
=
0
,
D2D1_COMBINE_MODE_INTERSECT
=
1
,
D2D1_COMBINE_MODE_XOR
=
2
,
D2D1_COMBINE_MODE_EXCLUDE
=
3
,
D2D1_COMBINE_MODE_FORCE_DWORD
=
0
xffffffff
,
}
D2D1_COMBINE_MODE
;
typedef
struct
D2D1_BEZIER_SEGMENT
{
D2D1_POINT_2F
point1
;
...
...
@@ -179,5 +207,92 @@ interface ID2D1TessellationSink : IUnknown
HRESULT
Close
()
;
}
[
local
,
object
,
uuid
(
2
cd906a1
-
12
e2
-
11
dc
-
9
fed
-
001143
a055f9
)
]
interface
ID2D1Geometry
:
ID2D1Resource
{
HRESULT
GetBounds
(
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
out
]
D2D1_RECT_F
*
bounds
)
;
HRESULT
GetWidenedBounds
(
[
in
]
float
stroke_width
,
[
in
,
optional
]
ID2D1StrokeStyle
*
stroke_style
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
]
D2D1_RECT_F
*
bounds
)
;
HRESULT
StrokeContainsPoint
(
[
in
]
D2D1_POINT_2F
point
,
[
in
]
float
stroke_width
,
[
in
,
optional
]
ID2D1StrokeStyle
*
stroke_style
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
]
BOOL
*
contains
)
;
HRESULT
FillContainsPoint
(
[
in
]
D2D1_POINT_2F
point
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
]
BOOL
*
contains
)
;
HRESULT
CompareWithGeometry
(
[
in
]
ID2D1Geometry
*
geometry
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
]
D2D1_GEOMETRY_RELATION
*
relation
)
;
HRESULT
Simplify
(
[
in
]
D2D1_GEOMETRY_SIMPLIFICATION_OPTION
option
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
in
]
ID2D1SimplifiedGeometrySink
*
sink
)
;
HRESULT
Tessellate
(
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
in
]
ID2D1TessellationSink
*
sink
)
;
HRESULT
CombineWithGeometry
(
[
in
]
ID2D1Geometry
*
geometry
,
[
in
]
D2D1_COMBINE_MODE
combine_mode
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
in
]
ID2D1SimplifiedGeometrySink
*
sink
)
;
HRESULT
Outline
(
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
in
]
ID2D1SimplifiedGeometrySink
*
sink
)
;
HRESULT
ComputeArea
(
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
]
float
*
area
)
;
HRESULT
ComputeLength
(
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
]
float
*
length
)
;
HRESULT
ComputePointAtLength
(
[
in
]
float
length
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
out
,
optional
]
D2D1_POINT_2F
*
point
,
[
out
,
optional
]
D2D1_POINT_2F
*
tangent
)
;
HRESULT
Widen
(
[
in
]
float
stroke_width
,
[
in
,
optional
]
ID2D1StrokeStyle
*
stroke_style
,
[
in
,
optional
]
const
D2D1_MATRIX_3X2_F
*
transform
,
[
in
]
float
tolerance
,
[
in
]
ID2D1SimplifiedGeometrySink
*
sink
)
;
}
[
local
]
HRESULT
__stdcall
D2D1CreateFactory
(
D2D1_FACTORY_TYPE
factory_type
,
REFIID
iid
,
const
D2D1_FACTORY_OPTIONS
*
factory_options
,
void
**
factory
)
;
include/d2dbasetypes.h
View file @
2f72c13c
...
...
@@ -21,3 +21,21 @@ typedef struct D2D_POINT_2F
FLOAT
x
;
FLOAT
y
;
}
D2D_POINT_2F
;
typedef
struct
D2D_MATRIX_3X2_F
{
float
_11
;
float
_12
;
float
_21
;
float
_22
;
float
_31
;
float
_32
;
}
D2D_MATRIX_3X2_F
;
typedef
struct
D2D_RECT_F
{
float
left
;
float
top
;
float
right
;
float
bottom
;
}
D2D_RECT_F
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment