7d0f816fcf2c31c4e45802592d260824a6e325eb
6 DCPATH_ACTIVE
= 0x0001,
8 DCPATH_CLOCKWISE
= 0x0004,
11 DCPATH_SAVESTATE
= 0x80000000
14 typedef HGDIOBJ HPATH
, *PHPATH
;
16 typedef enum tagGdiPathState
25 BASEOBJECT BaseObject
;
28 POINTFX ptfxSubPathStart
;
30 // Things to convert from:
35 int numEntriesAllocated
;
40 typedef struct _EPATHOBJ
44 } EPATHOBJ
, *PEPATHOBJ
;
46 #define PATH_AllocPath() ((PPATH) GDIOBJ_AllocObj(GDIObjType_PATH_TYPE))
47 #define PATH_AllocPathWithHandle() ((PPATH) GDIOBJ_AllocObjWithHandle (GDI_OBJECT_TYPE_PATH, sizeof(PATH)))
48 #define PATH_LockPath(hPath) ((PPATH)GDIOBJ_ShareLockObj((HGDIOBJ)hPath, GDI_OBJECT_TYPE_PATH))
49 #define PATH_UnlockPath(pPath) GDIOBJ_vDereferenceObject((POBJ)pPath)
52 #define PATH_IsPathOpen(dclevel) ( ((dclevel).hPath) && ((dclevel).flPath & DCPATH_ACTIVE) )
54 BOOL FASTCALL
PATH_Arc (PDC dc
, INT x1
, INT y1
, INT x2
, INT y2
, INT xStart
, INT yStart
, INT xEnd
, INT yEnd
, INT direction
, INT lines
);
55 BOOL FASTCALL
PATH_Ellipse (PDC dc
, INT x1
, INT y1
, INT x2
, INT y2
);
56 VOID FASTCALL
PATH_EmptyPath (PPATH pPath
);
57 BOOL FASTCALL
PATH_LineTo (PDC dc
, INT x
, INT y
);
58 BOOL FASTCALL
PATH_PolyBezier (PDC dc
, const POINT
*pts
, DWORD cbPoints
);
59 BOOL FASTCALL
PATH_PolyBezierTo (PDC dc
, const POINT
*pts
, DWORD cbPoints
);
60 BOOL FASTCALL
PATH_PolyDraw(PDC dc
, const POINT
*pts
, const BYTE
*types
, DWORD cbPoints
);
61 BOOL FASTCALL
PATH_PolylineTo (PDC dc
, const POINT
*pts
, DWORD cbPoints
);
62 BOOL FASTCALL
PATH_PolyPolygon ( PDC dc
, const POINT
* pts
, const INT
* counts
, UINT polygons
);
63 BOOL FASTCALL
PATH_PolyPolyline( PDC dc
, const POINT
* pts
, const DWORD
* counts
, DWORD polylines
);
64 BOOL FASTCALL
PATH_Rectangle (PDC dc
, INT x1
, INT y1
, INT x2
, INT y2
);
65 BOOL FASTCALL
PATH_RoundRect(DC
*dc
, INT x1
, INT y1
, INT x2
, INT y2
, INT ell_width
, INT ell_height
);
66 BOOL FASTCALL
PATH_PathToRegion (PPATH pPath
, INT nPolyFillMode
, PREGION Rgn
);
67 BOOL FASTCALL
PATH_ExtTextOut(PDC dc
,INT x
,INT y
,UINT flags
,const RECTL
*lprc
,LPCWSTR str
,UINT count
,const INT
*dx
);
69 BOOL FASTCALL
PATH_AddEntry (PPATH pPath
, const POINT
*pPoint
, BYTE flags
);
70 BOOL FASTCALL
PATH_AddFlatBezier (PPATH pPath
, POINT
*pt
, BOOL closed
);
71 BOOL FASTCALL
PATH_DoArcPart (PPATH pPath
, FLOAT_POINT corners
[], double angleStart
, double angleEnd
, BYTE startEntryType
);
72 BOOL FASTCALL
PATH_FillPath( PDC dc
, PPATH pPath
);
73 PPATH FASTCALL
PATH_FlattenPath (PPATH pPath
);
74 VOID FASTCALL
PATH_NormalizePoint (FLOAT_POINT corners
[], const FLOAT_POINT
*pPoint
, double *pX
, double *pY
);
76 BOOL FASTCALL
PATH_ReserveEntries (PPATH pPath
, INT numEntries
);
77 VOID FASTCALL
PATH_ScaleNormalizedPoint (FLOAT_POINT corners
[], double x
, double y
, POINT
*pPoint
);
78 BOOL FASTCALL
PATH_StrokePath(DC
*dc
, PPATH pPath
);
79 BOOL
PATH_CheckCorners(DC
*dc
, POINT corners
[], INT x1
, INT y1
, INT x2
, INT y2
);
81 VOID FASTCALL
IntGdiCloseFigure(PPATH pPath
);
82 BOOL FASTCALL
PATH_Delete(HPATH hPath
);
84 VOID FASTCALL
IntGetCurrentPositionEx(PDC dc
, LPPOINT pt
);
86 BOOL
PATH_RestorePath( DC
*, DC
*);
87 BOOL
PATH_SavePath( DC
*, DC
*);