#define PATHTYPE_KEEPME 1
#define PATHTYPE_STACK 2
+/* extended PATHDATA */
+typedef struct _EXTPATHDATA
+{
+ PATHDATA pd;
+ struct _EXTPATHDATA *ppdNext;
+} EXTPATHDATA, *PEXTPATHDATA;
+
typedef struct _PATH
{
BASEOBJECT BaseObject;
RECTFX rcfxBoundBox;
POINTFX ptfxSubPathStart;
FLONG flType;
- //PEXTPATHDATA ppdFirst;
- //PEXTPATHDATA ppdLast;
+ PEXTPATHDATA ppdFirst;
+ PEXTPATHDATA ppdLast;
FLONG flags; // PATHDATA flags.
- //PEXTPATHDATA ppdCurrent;
+ PEXTPATHDATA ppdCurrent;
// PATHOBJ;
FLONG fl; // Saved flags.
ULONG cCurves; // Saved number of lines and Bezier.
+ struct _EPATHOBJ *epo;
+
// Wine/ReactOS Things to convert from:
FLONG state;
POINT *pPoints;
BOOL FASTCALL PATH_AddFlatBezier (PPATH pPath, POINT *pt, BOOL closed);
BOOL FASTCALL PATH_DoArcPart (PPATH pPath, FLOAT_POINT corners[], double angleStart, double angleEnd, BYTE startEntryType);
BOOL FASTCALL PATH_FillPath( PDC dc, PPATH pPath );
+BOOL FASTCALL PATH_FillPathEx(PDC dc, PPATH pPath, PBRUSH pbrFill);
PPATH FASTCALL PATH_FlattenPath (PPATH pPath);
VOID FASTCALL PATH_NormalizePoint (FLOAT_POINT corners[], const FLOAT_POINT *pPoint, double *pX, double *pY);
BOOL PATH_RestorePath( DC *, DC *);
BOOL PATH_SavePath( DC *, DC *);
+BOOL IntGdiFillRgn(PDC pdc, PREGION prgn, PBRUSH pbrFill);