| 1 | /* $Id: path.h,v 1.1 1999-05-24 20:19:17 ktk Exp $ */ | 
|---|
| 2 |  | 
|---|
| 3 | /* | 
|---|
| 4 | * Graphics paths (BeginPath, EndPath etc.) | 
|---|
| 5 | * | 
|---|
| 6 | * Copyright 1997, 1998 Martin Boehme | 
|---|
| 7 | */ | 
|---|
| 8 |  | 
|---|
| 9 | #ifndef __WINE_PATH_H | 
|---|
| 10 | #define __WINE_PATH_H | 
|---|
| 11 |  | 
|---|
| 12 | #include "windef.h" | 
|---|
| 13 |  | 
|---|
| 14 | /* It should not be necessary to access the contents of the GdiPath | 
|---|
| 15 | * structure directly; if you find that the exported functions don't | 
|---|
| 16 | * allow you to do what you want, then please place a new exported | 
|---|
| 17 | * function that does this job in path.c. | 
|---|
| 18 | */ | 
|---|
| 19 |  | 
|---|
| 20 | typedef enum tagGdiPathState | 
|---|
| 21 | { | 
|---|
| 22 | PATH_Null, | 
|---|
| 23 | PATH_Open, | 
|---|
| 24 | PATH_Closed | 
|---|
| 25 | } GdiPathState; | 
|---|
| 26 |  | 
|---|
| 27 | typedef struct tagGdiPath | 
|---|
| 28 | { | 
|---|
| 29 | GdiPathState state; | 
|---|
| 30 | POINT      *pPoints; | 
|---|
| 31 | BYTE         *pFlags; | 
|---|
| 32 | int          numEntriesUsed, numEntriesAllocated; | 
|---|
| 33 | BOOL       newStroke; | 
|---|
| 34 | } GdiPath; | 
|---|
| 35 |  | 
|---|
| 36 | #define PATH_IsPathOpen(path) ((path).state==PATH_Open) | 
|---|
| 37 | /* Returns TRUE if the specified path is in the open state, i.e. in the | 
|---|
| 38 | * state where points will be added to the path, or FALSE otherwise. This | 
|---|
| 39 | * function is implemented as a macro for performance reasons. | 
|---|
| 40 | */ | 
|---|
| 41 |  | 
|---|
| 42 | extern void   PATH_InitGdiPath(GdiPath *pPath); | 
|---|
| 43 | extern void   PATH_DestroyGdiPath(GdiPath *pPath); | 
|---|
| 44 | extern BOOL PATH_AssignGdiPath(GdiPath *pPathDest, | 
|---|
| 45 | const GdiPath *pPathSrc); | 
|---|
| 46 |  | 
|---|
| 47 | extern BOOL PATH_MoveTo(HDC hdc); | 
|---|
| 48 | extern BOOL PATH_LineTo(HDC hdc, INT x, INT y); | 
|---|
| 49 | extern BOOL PATH_Rectangle(HDC hdc, INT x1, INT y1, | 
|---|
| 50 | INT x2, INT y2); | 
|---|
| 51 | extern BOOL PATH_Ellipse(HDC hdc, INT x1, INT y1, | 
|---|
| 52 | INT x2, INT y2); | 
|---|
| 53 | extern BOOL PATH_Arc(HDC hdc, INT x1, INT y1, INT x2, INT y2, | 
|---|
| 54 | INT xStart, INT yStart, INT xEnd, INT yEnd); | 
|---|
| 55 |  | 
|---|
| 56 | #endif /* __WINE_PATH_H */ | 
|---|