ugfixes for IPX code and preliminary groundwork for other address
[wine.git] / include / path.h
blob8263e2a0bff0c0693e2a14e149c10073c91ea4d6
1 /*
2 * Graphics paths (BeginPath, EndPath etc.)
4 * Copyright 1997, 1998 Martin Boehme
5 */
7 #ifndef __WINE_PATH_H
8 #define __WINE_PATH_H
10 /* It should not be necessary to access the contents of the GdiPath
11 * structure directly; if you find that the exported functions don't
12 * allow you to do what you want, then please place a new exported
13 * function that does this job in path.c.
16 typedef enum tagGdiPathState
18 PATH_Null,
19 PATH_Open,
20 PATH_Closed
21 } GdiPathState;
23 typedef struct tagGdiPath
25 GdiPathState state;
26 POINT32 *pPoints;
27 BYTE *pFlags;
28 int numEntriesUsed, numEntriesAllocated;
29 BOOL32 newStroke;
30 } GdiPath;
32 #define PATH_IsPathOpen(path) ((path).state==PATH_Open)
33 /* Returns TRUE if the specified path is in the open state, i.e. in the
34 * state where points will be added to the path, or FALSE otherwise. This
35 * function is implemented as a macro for performance reasons.
38 extern void PATH_InitGdiPath(GdiPath *pPath);
39 extern void PATH_DestroyGdiPath(GdiPath *pPath);
40 extern BOOL32 PATH_AssignGdiPath(GdiPath *pPathDest,
41 const GdiPath *pPathSrc);
43 extern BOOL32 PATH_MoveTo(HDC32 hdc);
44 extern BOOL32 PATH_LineTo(HDC32 hdc, INT32 x, INT32 y);
45 extern BOOL32 PATH_Rectangle(HDC32 hdc, INT32 x1, INT32 y1,
46 INT32 x2, INT32 y2);
47 extern BOOL32 PATH_Ellipse(HDC32 hdc, INT32 x1, INT32 y1,
48 INT32 x2, INT32 y2);
49 extern BOOL32 PATH_Arc(HDC32 hdc, INT32 x1, INT32 y1, INT32 x2, INT32 y2,
50 INT32 xStart, INT32 yStart, INT32 xEnd, INT32 yEnd);
52 #endif /* __WINE_PATH_H */