d2d1: Add the ID2D1GeometrySink interface.
This commit is contained in:
parent
fb763bf361
commit
29237d832b
|
@ -22,6 +22,7 @@ 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 D2D_SIZE_F D2D1_SIZE_F;
|
||||
|
||||
typedef enum D2D1_DEBUG_LEVEL
|
||||
{
|
||||
|
@ -123,6 +124,20 @@ typedef enum D2D1_COMBINE_MODE
|
|||
D2D1_COMBINE_MODE_FORCE_DWORD = 0xffffffff,
|
||||
} D2D1_COMBINE_MODE;
|
||||
|
||||
typedef enum D2D1_SWEEP_DIRECTION
|
||||
{
|
||||
D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0,
|
||||
D2D1_SWEEP_DIRECTION_CLOCKWISE = 1,
|
||||
D2D1_SWEEP_DIRECTION_FORCE_DWORD = 0xffffffff,
|
||||
} D2D1_SWEEP_DIRECTION;
|
||||
|
||||
typedef enum D2D1_ARC_SIZE
|
||||
{
|
||||
D2D1_ARC_SIZE_SMALL = 0,
|
||||
D2D1_ARC_SIZE_LARGE = 1,
|
||||
D2D1_ARC_SIZE_FORCE_DWORD = 0xffffffff,
|
||||
} D2D1_ARC_SIZE;
|
||||
|
||||
typedef struct D2D1_BEZIER_SEGMENT
|
||||
{
|
||||
D2D1_POINT_2F point1;
|
||||
|
@ -156,6 +171,21 @@ typedef struct D2D1_ELLIPSE
|
|||
float radiusY;
|
||||
} D2D1_ELLIPSE;
|
||||
|
||||
typedef struct D2D1_QUADRATIC_BEZIER_SEGMENT
|
||||
{
|
||||
D2D1_POINT_2F point1;
|
||||
D2D1_POINT_2F point2;
|
||||
} D2D1_QUADRATIC_BEZIER_SEGMENT;
|
||||
|
||||
typedef struct D2D1_ARC_SEGMENT
|
||||
{
|
||||
D2D1_POINT_2F point;
|
||||
D2D1_SIZE_F size;
|
||||
float rotationAngle;
|
||||
D2D1_SWEEP_DIRECTION sweepDirection;
|
||||
D2D1_ARC_SIZE arcSize;
|
||||
} D2D1_ARC_SEGMENT;
|
||||
|
||||
interface ID2D1Factory;
|
||||
|
||||
[
|
||||
|
@ -374,5 +404,30 @@ interface ID2D1TransformedGeometry : ID2D1Geometry
|
|||
);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
object,
|
||||
uuid(2cd9069f-12e2-11dc-9fed-001143a055f9)
|
||||
]
|
||||
interface ID2D1GeometrySink : ID2D1SimplifiedGeometrySink
|
||||
{
|
||||
void AddLine(
|
||||
[in] D2D1_POINT_2F point
|
||||
);
|
||||
void AddBezier(
|
||||
[in] const D2D1_BEZIER_SEGMENT *bezier
|
||||
);
|
||||
void AddQuadraticBezier(
|
||||
[in] const D2D1_QUADRATIC_BEZIER_SEGMENT *bezier
|
||||
);
|
||||
void AddQuadraticBeziers(
|
||||
[in, size_is(bezier_count)] const D2D1_QUADRATIC_BEZIER_SEGMENT *beziers,
|
||||
[in] UINT32 bezier_count
|
||||
);
|
||||
void AddArc(
|
||||
[in] const D2D1_ARC_SEGMENT *arc
|
||||
);
|
||||
}
|
||||
|
||||
[local] HRESULT __stdcall D2D1CreateFactory(D2D1_FACTORY_TYPE factory_type, REFIID iid,
|
||||
const D2D1_FACTORY_OPTIONS *factory_options, void **factory);
|
||||
|
|
|
@ -39,3 +39,9 @@ typedef struct D2D_RECT_F
|
|||
float right;
|
||||
float bottom;
|
||||
} D2D_RECT_F;
|
||||
|
||||
typedef struct D2D_SIZE_F
|
||||
{
|
||||
float width;
|
||||
float height;
|
||||
} D2D_SIZE_F;
|
||||
|
|
Loading…
Reference in New Issue