ReactOS  0.4.15-dev-1201-gb2cf5a4
path.c
Go to the documentation of this file.
1 /*
2  * reactos/lib/gdi32/objects/path.c
3  *
4  * GDI32.DLL Path
5  *
6  * When you implement one of these functions,
7  * remove its stub from this file.
8  *
9  */
10 
11 #include <precomp.h>
12 
13 /*
14  * @implemented
15  */
16 BOOL
17 WINAPI
19  HDC hdc)
20 {
22  return NtGdiAbortPath(hdc);
23 }
24 
25 
26 /*
27  * @implemented
28  */
29 BOOL
30 WINAPI
32  HDC hdc)
33 {
35  return NtGdiBeginPath(hdc);
36 }
37 
38 /*
39  * @implemented
40  */
41 BOOL
42 WINAPI
44  HDC hdc)
45 {
47  return NtGdiCloseFigure(hdc);
48 }
49 
50 
51 /*
52  * @implemented
53  */
54 BOOL
55 WINAPI
57  HDC hdc)
58 {
60  return NtGdiEndPath( hdc );
61 }
62 
63 
64 /*
65  * @implemented
66  */
67 BOOL
68 WINAPI
70  HDC hdc)
71 {
73  return NtGdiFillPath( hdc );
74 }
75 
76 
77 /*
78  * @implemented
79  */
80 BOOL
81 WINAPI
83  HDC hdc)
84 {
86  return NtGdiFlattenPath ( hdc );
87 }
88 
89 
90 /*
91  * @implemented
92  */
93 INT
94 WINAPI
96  LPPOINT pptlBuf,
97  LPBYTE pjTypes,
98  INT cptBuf)
99 {
100  INT retValue = -1;
101 
103  {
105  }
106  else
107  {
108  retValue = NtGdiGetPath(hdc,pptlBuf,pjTypes,cptBuf);
109  }
110 
111  return retValue;
112 }
113 
114 
115 /*
116  * @implemented
117  */
118 HRGN
119 WINAPI
121  HDC hdc)
122 {
124  return NtGdiPathToRegion(hdc);
125 }
126 
127 /*
128  * @implemented
129  */
130 BOOL
131 WINAPI
133  HDC hdc,
134  FLOAT a1,
135  PFLOAT a2
136 )
137 {
138  BOOL Ret;
139  gxf_long worker, worker1;
140 
141  worker.f = a1;
142  Ret = NtGdiSetMiterLimit ( hdc, worker.l, a2 ? &worker1.l : NULL );
143  if (a2 && Ret) *a2 = worker1.f;
144  return Ret;
145 }
146 
147 
148 /*
149  * @implemented
150  */
151 BOOL
152 WINAPI
154  HDC hdc)
155 {
157  return NtGdiStrokeAndFillPath ( hdc );
158 }
159 
160 
161 /*
162  * @implemented
163  */
164 BOOL
165 WINAPI
167  HDC hdc)
168 {
170  return NtGdiStrokePath ( hdc );
171 }
172 
173 
174 /*
175  * @implemented
176  */
177 BOOL
178 WINAPI
180  HDC hdc)
181 {
183  return NtGdiWidenPath ( hdc );
184 }
185 
186 /*
187  * @implemented
188  */
189 BOOL
190 WINAPI
192  HDC hdc,
193  int iMode)
194 {
196  return NtGdiSelectClipPath(hdc, iMode);
197 }
BOOL APIENTRY NtGdiStrokeAndFillPath(HDC hDC)
Definition: path.c:2890
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
FLOAT f
Definition: ntgdityp.h:426
#define HANDLE_METADC0P(_RetType, _Func, dwError, hdc,...)
Definition: gdi32p.h:606
ULONG l
Definition: ntgdityp.h:427
BOOL WINAPI SelectClipPath(HDC hdc, int iMode)
Definition: path.c:191
BOOL APIENTRY NtGdiBeginPath(HDC hDC)
Definition: path.c:2417
_In_ ULONG iMode
Definition: winddi.h:3520
BOOL WINAPI StrokeAndFillPath(HDC hdc)
Definition: path.c:153
INT APIENTRY NtGdiGetPath(HDC hDC, LPPOINT Points, LPBYTE Types, INT nSize)
Definition: path.c:2689
static HDC
Definition: imagelist.c:92
BOOL WINAPI CloseFigure(HDC hdc)
Definition: path.c:43
FLOAT * PFLOAT
Definition: windef.h:174
BOOL APIENTRY NtGdiStrokePath(HDC hDC)
Definition: path.c:2949
int32_t INT
Definition: typedefs.h:58
#define HANDLE_METADC(_RetType, _Func, dwError, hdc,...)
Definition: gdi32p.h:616
BOOL WINAPI BeginPath(HDC hdc)
Definition: path.c:31
unsigned char * LPBYTE
Definition: typedefs.h:53
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL WINAPI SetMiterLimit(HDC hdc, FLOAT a1, PFLOAT a2)
Definition: path.c:132
smooth NULL
Definition: ftsmooth.c:416
BOOL APIENTRY NtGdiWidenPath(HDC hDC)
Definition: path.c:3002
#define GDI_HANDLE_GET_TYPE(h)
Definition: gdi.h:31
BOOL WINAPI WidenPath(HDC hdc)
Definition: path.c:179
BOOL APIENTRY NtGdiAbortPath(HDC hDC)
Definition: path.c:2387
static const struct update_accum a2
Definition: msg.c:586
INT WINAPI GetPath(HDC hdc, LPPOINT pptlBuf, LPBYTE pjTypes, INT cptBuf)
Definition: path.c:95
HRGN WINAPI PathToRegion(HDC hdc)
Definition: path.c:120
#define WINAPI
Definition: msvc.h:6
BOOL WINAPI FillPath(HDC hdc)
Definition: path.c:69
BOOL APIENTRY NtGdiEndPath(HDC hDC)
Definition: path.c:2512
#define SetLastError(x)
Definition: compat.h:611
#define GDI_OBJECT_TYPE_METADC
Definition: gdi.h:57
BOOL WINAPI StrokePath(HDC hdc)
Definition: path.c:166
HDC hdc
Definition: main.c:9
HRGN APIENTRY NtGdiPathToRegion(HDC hDC)
Definition: path.c:2774
BOOL APIENTRY NtGdiCloseFigure(HDC hDC)
Definition: path.c:2473
__kernel_entry W32KAPI BOOL APIENTRY NtGdiSelectClipPath(_In_ HDC hdc, _In_ INT iMode)
BOOL WINAPI EndPath(HDC hdc)
Definition: path.c:56
BOOL APIENTRY NtGdiFillPath(HDC hDC)
Definition: path.c:2554
BOOL APIENTRY NtGdiSetMiterLimit(IN HDC hdc, IN DWORD dwNew, IN OUT OPTIONAL PDWORD pdwOut)
Definition: path.c:2850
BOOL APIENTRY NtGdiFlattenPath(HDC hDC)
Definition: path.c:2612
BOOL WINAPI FlattenPath(HDC hdc)
Definition: path.c:82
float FLOAT
Definition: typedefs.h:69
static const struct update_accum a1
Definition: msg.c:578
BOOL WINAPI AbortPath(HDC hdc)
Definition: path.c:18