2 * Graphics paths (BeginPath, EndPath etc.)
4 * Copyright 1997, 1998 Martin Boehme
12 /* It should not be necessary to access the contents of the GdiPath
13 * structure directly; if you find that the exported functions don't
14 * allow you to do what you want, then please place a new exported
15 * function that does this job in path.c.
18 typedef enum tagGdiPathState
25 typedef struct tagGdiPath
30 int numEntriesUsed
, numEntriesAllocated
;
34 #define PATH_IsPathOpen(path) ((path).state==PATH_Open)
35 /* Returns TRUE if the specified path is in the open state, i.e. in the
36 * state where points will be added to the path, or FALSE otherwise. This
37 * function is implemented as a macro for performance reasons.
40 extern void PATH_InitGdiPath(GdiPath
*pPath
);
41 extern void PATH_DestroyGdiPath(GdiPath
*pPath
);
42 extern BOOL
PATH_AssignGdiPath(GdiPath
*pPathDest
,
43 const GdiPath
*pPathSrc
);
45 extern BOOL
PATH_MoveTo(HDC hdc
);
46 extern BOOL
PATH_LineTo(HDC hdc
, INT x
, INT y
);
47 extern BOOL
PATH_Rectangle(HDC hdc
, INT x1
, INT y1
,
49 extern BOOL
PATH_Ellipse(HDC hdc
, INT x1
, INT y1
,
51 extern BOOL
PATH_Arc(HDC hdc
, INT x1
, INT y1
, INT x2
, INT y2
,
52 INT xStart
, INT yStart
, INT xEnd
, INT yEnd
);
53 extern BOOL
PATH_PolyBezierTo(HDC hdc
, const POINT
*pt
, DWORD cbCount
);
54 extern BOOL
PATH_PolyBezier(HDC hdc
, const POINT
*pt
, DWORD cbCount
);
55 extern BOOL
PATH_PolylineTo(HDC hdc
, const POINT
*pt
, DWORD cbCount
);
56 extern BOOL
PATH_Polyline(HDC hdc
, const POINT
*pt
, DWORD cbCount
);
57 extern BOOL
PATH_Polygon(HDC hdc
, const POINT
*pt
, DWORD cbCount
);
58 extern BOOL
PATH_PolyPolyline(HDC hdc
, const POINT
*pt
, const DWORD
*counts
,
60 extern BOOL
PATH_PolyPolygon(HDC hdc
, const POINT
*pt
, const INT
*counts
,
62 #endif /* __WINE_PATH_H */