source: trunk/Include/Classes/System/Drawing/Graphics.ab@ 497

Last change on this file since 497 was 497, checked in by イグトランス (egtra), 16 years ago

インクルードガードとその他不要な前処理定義などの削除

File size: 77.7 KB
RevLine 
[33]1' Classes/System/Drawing/Graphics.ab
2
[104]3Class Brush : End Class
4Class Pen : End Class
5Class StringFormat : End Class
6Class Image : End Class
7Class ImageAttributes : End Class
8Class Metafile : End Class
9Class Region : End Class
10Class GraphicsPath : End Class
11Class CachedBitmap : End Class
12
[33]13Class Graphics
14Public
15 '=========================================================================
16 ' Properties
17 '=========================================================================
18 Const Function Clip() As Region
[212]19 Dim r As Region
[33]20 GetClip(r)
21 Return r
22 End Function
23
[212]24 Sub Clip(region As /*Const*/ Region)
[33]25 SetClip(region, CombineMode.Replace)
26 End Sub
27
28 Const Function ClipBounds() As RectangleF
29 Dim rc As RectangleF
30 GetClipBounds(rc)
31 Return rc
32 End Function
33
34 Sub ClipBounds(rc As RectangleF)
35 SetClipBounds(rc)
36 End Sub
37
38 Function CompositingMode() As CompositingMode
39 Return GetCompositingMode()
40 End Function
41
42 Sub CompositingMode(mode As CompositingMode)
43 SetCompositingMode(mode)
44 End Sub
45
46 Function CompositingQuality() As CompositingQuality
47 Return GetCompositingQuality()
48 End Function
49
50 Sub CompositingQuality(cq As CompositingQuality)
51 SetCompositingQuality(cq)
52 End Sub
53
54 Const Function DpiX() As Single
55 Dim dpi As Single
56 SetStatus(GdipGetDpiX(nativeGraphics, dpi))
57 Return dpi
58 End Function
59
60 Const Function DpiY() As Single
61 Dim dpi As Single
62 SetStatus(GdipGetDpiY(nativeGraphics, dpi))
63 Return dpi
64 End Function
65
66 Const Function InterpolationMode() As InterpolationMode
67 Return GetInterpolationMode()
68 End Function
69
70 Sub InterpolationMode(im As InterpolationMode)
71 SetInterpolationMode(im)
72 End Sub
73
74 Const Function IsClipEmpty() As BOOL
75 Dim b = FALSE As BOOL
76 SetStatus(GdipIsClipEmpty(nativeGraphics, b))
77 Return b
78 End Function
79
80 Const Function IsVisibleClipEmpty() As BOOL
81 Dim b = FALSE As BOOL
82 SetStatus(GdipIsVisibleClipEmpty(nativeGraphics, b))
83 Return b
84 End Function
85
86 Function PageScale(scale As Single) As Status
87 Return SetStatus(GdipSetPageScale(nativeGraphics, scale))
88 End Function
89
90 Const Function PageScale() As Single
91 Dim scale As Single
92 SetStatus(GdipGetPageScale(nativeGraphics, scale))
93 Return scale
94 End Function
95
96 Const Function PageUnit() As GraphicsUnit
97 Dim unit As GraphicsUnit
98 SetStatus(GdipGetPageUnit(nativeGraphics, unit))
99 Return unit
100 End Function
101
102 Function PageUnit(unit As GraphicsUnit) As Status
103 Return SetStatus(GdipSetPageUnit(nativeGraphics, unit))
104 End Function
105
106 Function PixelOffsetMode() As PixelOffsetMode
107 Return GetPixelOffsetMode()
108 End Function
109
110 Sub PixelOffsetMode(mode As PixelOffsetMode)
111 SetPixelOffsetMode(mode)
112 End Sub
113
114 Function RenderingOrigin() As Point
115 Dim pt As Point
116 GetRenderingOrigin(pt.X, pt.Y)
117 Return pt
118 End Function
119
120 Sub RenderingOrigin(pt As Point)
121 SetRenderingOrigin(pt.X, pt.Y)
122 End Sub
123
124 Function SmoothingMode() As SmoothingMode
125 Return GetSmoothingMode()
126 End Function
127
128 Sub SmoothingMode(mode As SmoothingMode)
129 SetSmoothingMode(mode)
130 End Sub
131
132 Function TextContrast() As DWord
133 Return GetTextContrast()
134 End Function
135
136 Sub TextContrast(contrast As DWord)
137 SetTextContrast(contrast)
138 End Sub
139
140 Function TextRenderingHint() As TextRenderingHint
141 Return GetTextRenderingHint()
142 End Function
143
144 Sub TextRenderingHint(mode As TextRenderingHint)
145 SetTextRenderingHint(mode)
146 End Sub
147
148 Function Transform() As Matrix
149 Dim matrix As Matrix
150 GetTransform(matrix)
151 Return matrix
152 End Function
153
[212]154 Sub Transform(matrix As Matrix)
[33]155 SetTransform(matirx)
156 End Sub
157
158 Function VisibleClipBounds() As RectangleF
159 Dim rc As RectangleF
160 GetVisibleClipBounds(rc)
161 Return rc
162 End Function
163
164 '=========================================================================
165 ' Methods
166 '=========================================================================
[212]167 Static Function FromHDC(hdc As HDC) As Graphics
[33]168 Return New Graphics(hdc)
169 End Function
170
[212]171 Static Function FromHDC(hdc As HDC, hdevice As HANDLE) As Graphics
[33]172 Return New Graphics(hdc, hdevice)
173 End Function
174
[212]175 Static Function FromHWND(hwnd As HWND) As Graphics
[33]176 Return New Graphics(hwnd, FALSE)
177 End Function
178
[212]179 Static Function FromHWND(hwnd As DWord, icm As BOOL) As Graphics
[33]180 Return New Graphics(hwnd, icm)
181 End Function
182
[212]183 Static Function FromImage(image As Image) As Graphics
[33]184 Return New Graphics(image)
185 End Function
186
187 Sub Graphics(hdc As HDC)
[212]188 Dim graphics = 0 As GpGraphics
[33]189 lastResult = GdipCreateFromHDC(hdc, graphics)
190 SetNativeGraphics(graphics)
191 End Sub
192
193 Sub Graphics(hdc As HDC, hdevice As HANDLE)
194 Dim graphics = 0 As *GpGraphics
195 lastResult = GdipCreateFromHDC2(hdc, hdevice, graphics)
196 SetNativeGraphics(graphics)
197 End Sub
198
199 Sub Graphics(hwnd As HWND)
200 Dim graphics = 0 As *GpGraphics
201 lastResult = GdipCreateFromHWND(hwnd, graphics)
202 SetNativeGraphics(graphics)
203 End Sub
204
205 Sub Graphics(hwnd As HWND, icm As BOOL)
206 Dim graphics = 0 As *GpGraphics
207 If icm <> FALSE Then
208 lastResult = GdipCreateFromHWNDICM(hwnd, graphics)
209 Else
210 lastResult = GdipCreateFromHWND(hwnd, graphics)
211 End If
212 SetNativeGraphics(graphics)
213 End Sub
214
[212]215 Sub Graphics(image As Image)
[33]216 Dim graphics = 0 As *GpGraphics
217 If (image != 0)
[104]218 lastResult = GdipGetImageGraphicsContext(image->NativeImage, graphics)
[33]219 End If
220 SetNativeGraphics(graphics)
221 End Sub
222
223 Sub ~Graphics()
224 GdipDeleteGraphics(nativeGraphics)
225 End Sub
226
227 Sub Flush()
228 GdipFlush(nativeGraphics, FlushIntention.Flush)
229 End Sub
230
231 Sub Flush(intention As FlushIntention)
232 GdipFlush(nativeGraphics, intention)
233 End Sub
234
235 '------------------------------------------------------------------------
236 ' GDI Interop methods
237 '------------------------------------------------------------------------
238
239 ' Locks the graphics until ReleaseDC is called
240
241 Function GetHDC() As HDC
242 Dim hdc = 0 As HDC
243 SetStatus(GdipGetDC(nativeGraphics, hdc))
244 Return hdc
245 End Function
246
247 Sub ReleaseHDC(hdc As HDC)
248 SetStatus(GdipReleaseDC(nativeGraphics, hdc))
249 End Sub
250
251 '------------------------------------------------------------------------
252 ' Rendering modes
253 '------------------------------------------------------------------------
254
255 Function SetRenderingOrigin(x As Long, y As Long) As Status
256 Return SetStatus(GdipSetRenderingOrigin(nativeGraphics, x, y))
257 End Function
258
[212]259 Const Function GetRenderingOrigin(x As Long, y As Long) As Status
[33]260 Return SetStatus(GdipGetRenderingOrigin(nativeGraphics, x, y))
261 End Function
262
263 Function SetCompositingMode(compositingMode As CompositingMode) As Status
264 Return SetStatus(GdipSetCompositingMode(nativeGraphics, compositingMode))
265 End Function
266
267 Const Function GetCompositingMode() As CompositingMode
268 Dim mode As CompositingMode
269 SetStatus(GdipGetCompositingMode(nativeGraphics, mode))
270 Return mode
271 End Function
272
273 Function SetCompositingQuality(compositingQuality As CompositingQuality)
274 Return SetStatus(GdipSetCompositingQuality(nativeGraphics, compositingQuality))
275 End Function
276
277 Const Function GetCompositingQuality() As CompositingQuality
278 Dim quality As CompositingQuality
279 SetStatus(GdipGetCompositingQuality(nativeGraphics, quality))
280 Return quality
281 End Function
282
283 Function SetTextRenderingHint(newMode As TextRenderingHint) As Status
284 Return SetStatus(GdipSetTextRenderingHint(nativeGraphics, newMode))
285 End Function
286
287 Const Function GetTextRenderingHint() As TextRenderingHint
288 Dim hint As TextRenderingHint
289 SetStatus(GdipGetTextRenderingHint(nativeGraphics, hint))
290 Return hint
291 End Function
292
293 Function SetTextContrast(contrast As DWord) As Status
294 Return SetStatus(GdipSetTextContrast(nativeGraphics, contrast))
295 End Function
296
297 Const Function GetTextContrast() As DWord
298 Dim contrast As DWord
299 SetStatus(GdipGetTextContrast(nativeGraphics, contrast))
300 Return contrast
301 End Function
302
303 Const Function GetInterpolationMode() As InterpolationMode
304 Dim mode = InterpolationMode.Invalid As InterpolationMode
305 SetStatus(GdipGetInterpolationMode(nativeGraphics, mode))
306 Return mode
307 End Function
308
309 Function SetInterpolationMode(interpolationMode As InterpolationMode) As Status
310 Return SetStatus(GdipSetInterpolationMode(nativeGraphics, interpolationMode))
311 End Function
312
313 Const Function GetSmoothingMode() As SmoothingMode
314 Dim smoothingMode = SmoothingMode.Invalid As SmoothingMode
315 SetStatus(GdipGetSmoothingMode(nativeGraphics, smoothingMode))
316 Return smoothingMode
317 End Function
318
319 Function SetSmoothingMode(smoothingMode As SmoothingMode) As Status
320 Return SetStatus(GdipSetSmoothingMode(nativeGraphics, smoothingMode))
321 End Function
322
323 Const Function GetPixelOffsetMode() As PixelOffsetMode
324 Dim pixelOffsetMode = PixelOffsetMode.Invalid As PixelOffsetMode
325 SetStatus(GdipGetPixelOffsetMode(nativeGraphics, pixelOffsetMode))
326 Return pixelOffsetMode
327 End Function
328
329 Function SetPixelOffsetMode(pixelOffsetMode As PixelOffsetMode) As Status
330 Return SetStatus(GdipSetPixelOffsetMode(nativeGraphics, pixelOffsetMode))
331 End Function
332
333 '------------------------------------------------------------------------
334 ' Manipulate current world transform
335 '------------------------------------------------------------------------
336
[212]337 Function SetTransform(matrix As /*Const*/ *Matrix) As Status
[33]338 Return SetStatus(GdipSetWorldTransform(nativeGraphics, matrix->nativeMatrix))
339 End Function
340
341 Function ResetTransform() As Status
342 Return SetStatus(GdipResetWorldTransform(nativeGraphics))
343 End Function
344
[212]345 Function MultiplyTransform(matrix As /*Const*/ Matrix) As Status
[33]346 Return SetStatus(GdipMultiplyWorldTransform(nativeGraphics, matrix->nativeMatrix, MatrixOrder.Prepend))
347 End Function
348
[212]349 Function MultiplyTransform(matrix As /*Const*/ Matrix, order As MatrixOrder) As Status
[33]350 Return SetStatus(GdipMultiplyWorldTransform(nativeGraphics, matrix->nativeMatrix, order))
351 End Function
352
353 Function TranslateTransform(dx As Single, dy As Single) As Status
354 Return SetStatus(GdipTranslateWorldTransform(nativeGraphics, dx, dy, MatrixOrder.Prepend))
355 End Function
356
357 Function TranslateTransform(dx As Single, dy As Single, order As MatrixOrder) As Status
358 Return SetStatus(GdipTranslateWorldTransform(nativeGraphics, dx, dy, order))
359 End Function
360
361 Function ScaleTransform(sx As Single, sy As Single) As Status
362 Return SetStatus(GdipScaleWorldTransform(nativeGraphics, sx, sy, MatrixOrder.Prepend))
363 End Function
364
365 Function ScaleTransform(sx As Single, sy As Single, order As MatrixOrder) As Status
366 Return SetStatus(GdipScaleWorldTransform(nativeGraphics, sx, sy, order))
367 End Function
368
369 Function RotateTransform(angle As Single) As Status
370 Return SetStatus(GdipRotateWorldTransform(nativeGraphics, angle, MatrixOrder.Prepend))
371 End Function
372
373 Function RotateTransform(angle As Single, order As MatrixOrder) As Status
374 Return SetStatus(GdipRotateWorldTransform(nativeGraphics, angle, order))
375 End Function
376
[212]377 Const Function GetTransform(matrix As Matrix) As Status
[33]378 Return SetStatus(GdipGetWorldTransform(nativeGraphics, matrix->nativeMatrix))
379 End Function
380
381 Const Function TransformPoints(destSpace As CoordinateSpace, srcSpace As CoordinateSpace, pts As PointF, count As Long) As Status
382 Return SetStatus(GdipTransformPoints(nativeGraphics, destSpace, srcSpace, pts, count))
383 End Function
384
385 Const Function TransformPoints(destSpace As CoordinateSpace, srcSpace As CoordinateSpace, pts As Point, count As Long) As Status
386 Return SetStatus(GdipTransformPointsI(nativeGraphics, destSpace, srcSpace, pts, count))
387 End Function
388
389 '------------------------------------------------------------------------
390 ' GetNearestColor (for <= 8bpp surfaces). Note: Alpha is ignored.
391 '------------------------------------------------------------------------
392
[212]393 Const Function GetNearestColor(color As Color) As Status
[33]394 Dim argb = color->Value
395 Dim status = SetStatus(GdipGetNearestColor(nativeGraphics, argb))
396 color->Value = argb
397 Return status
398 End Function
399
[212]400 Function DrawLine(pen As /*Const*/ Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single) As Status
[33]401 Return SetStatus(GdipDrawLine(nativeGraphics, pen->nativePen, x1, y1, x2, y2))
402 End Function
403
[212]404 Function DrawLine(pen As /*Const*/ Pen, pt1 As /*Const*/ PointF, pt2 As /*Const*/ PointF) As Status
[33]405 Return DrawLine(pen, pt1.X, pt1.Y, pt2.X, pt2.Y)
406 End Function
407
[212]408 Function DrawLines(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long) As Status
[33]409 Return SetStatus(GdipDrawLines(nativeGraphics, pen->nativePen, points, count))
410 End Function
411
[212]412 Function DrawLine(pen As /*Const*/ Pen, x1 As Long, y1 As Long, x2 As Long, y2 As Long) As Status
[33]413 Return SetStatus(GdipDrawLineI(nativeGraphics, pen->nativePen, x1, y1, x2, y2))
414 End Function
415
[212]416 Function DrawLine(pen As /*Const*/ Pen, pt1 As /*Const*/ Point, pt2 As /*Const*/ Point) As Status
[33]417 Return DrawLine(pen, pt1.X, pt1.Y, pt2.X, pt2.Y)
418 End Function
419
[212]420 Function DrawLines(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long) As Status
[33]421 Return SetStatus(GdipDrawLinesI(nativeGraphics, pen->nativePen, points, count))
422 End Function
423
[212]424 Function DrawArc(pen As /*Const*/ Pen, x As Single, y As Single, width As Single, height As Single, startAngle As Single, sweepAngle As Single) As Status
[33]425 Return SetStatus(GdipDrawArc(nativeGraphics, pen->nativePen, x, y, width, height, startAngle, sweepAngle))
426 End Function
427
[212]428 Function DrawArc(pen As /*Const*/ Pen, rect As /*Const*/ RectangleF, startAngle As Single, sweepAngle As Single) As Status
[33]429 Return DrawArc(pen, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle)
430 End Function
431
[212]432 Function DrawArc(pen As /*Const*/ Pen, x As Long, y As Long, width As Long, height As Long, startAngle As Single, sweepAngle As Single) As Status
[33]433 Return SetStatus(GdipDrawArcI(nativeGraphics, pen->nativePen, x, y, width, height, startAngle, sweepAngle))
434 End Function
435
[212]436 Function DrawArc(pen As /*Const*/ Pen, rect As /*Const*/ Rectangle, startAngle As Single, sweepAngle As Single) As Status
[33]437 Return DrawArc(pen, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle)
438 End Function
439
[212]440 Function DrawBezier(pen As /*Const*/ Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single, x3 As Single, y3 As Single, x4 As Single, y4 As Single) As Status
[33]441 Return SetStatus(GdipDrawBezier(nativeGraphics, pen->nativePen, x1, y1,x2, y2, x3, y3, x4, y4))
442 End Function
443
[212]444 Function DrawBezier(pen As /*Const*/ Pen, pt1 As /*Const*/ PointF, pt2 As /*Const*/ PointF, pt3 As /*Const*/ PointF, pt4 As /*Const*/ PointF) As Status
[33]445 Return DrawBezier(pen, pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y)
446 End Function
447
[212]448 Function DrawBeziers(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long) As Status
[33]449 Return SetStatus(GdipDrawBeziers(nativeGraphics, pen->nativePen, points, count))
450 End Function
451
[212]452 Function DrawBezier(pen As /*Const*/ Pen, x1 As Long, y1 As Long, x2 As Long, y2 As Long, x3 As Long, y3 As Long, x4 As Long, y4 As Long) As Status
[33]453 Return SetStatus(GdipDrawBezierI(nativeGraphics, pen->nativePen, x1, y1, x2, y2, x3, y3, x4, y4))
454 End Function
455
[212]456 Function DrawBezier(pen As /*Const*/ Pen, pt1 As /*Const*/ Point, pt2 As /*Const*/ Point, pt3 As /*Const*/ Point, pt4 As /*Const*/ Point) As Status
[33]457 Return DrawBezier(pen pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y)
458 End Function
459
[212]460 Function DrawBeziers(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long) As Status
[33]461 Return SetStatus(GdipDrawBeziersI(nativeGraphics, pen->nativePen, points, count))
462 End Function
463
[212]464 Function DrawRectangle(pen As /*Const*/ Pen, rect As /*Const*/ RectangleF) As Status
[33]465 Return DrawRectangle(pen, rect.X, rect.Y, rect.Width, rect.Height)
466 End Function
467
[212]468 Function DrawRectangle(pen As /*Const*/ Pen, x As Single, y As Single, width As Single, height As Single) As Status
[33]469 Return SetStatus(GdipDrawRectangle(nativeGraphics, pen->nativePen, x, y, width, height))
470 End Function
471
[212]472 Function DrawRectangles(pen As /*Const*/ Pen, rects As /*Const*/ *RectangleF, count As Long) As Status
[33]473 Return SetStatus(GdipDrawRectangles(nativeGraphics, pen->nativePen, rects, count))
474 End Function
475
[212]476 Function DrawRectangle(pen As /*Const*/ Pen, rect As /*Const*/ Rectangle) As Status
[33]477 Return DrawRectangle(pen, rect.X, rect.Y, rect.Width, rect.Height)
478 End Function
479
[212]480 Function DrawRectangle(pen As /*Const*/ Pen, x As Long, y As Long, width As Long, height As Long) As Status
[33]481 Return SetStatus(GdipDrawRectangleI(nativeGraphics, pen->nativePen, x, y, width, height))
482 End Function
483
[212]484 Function DrawRectangles(pen As /*Const*/ Pen, rects As /*Const*/ *Rectangle, count As Long) As Status
[33]485 Return SetStatus(GdipDrawRectanglesI(nativeGraphics, pen->nativePen, rects, count))
486 End Function
487
[212]488 Function DrawEllipse(pen As /*Const*/ Pen, rect As /*Const*/ RectangleF) As Status
[33]489 Return DrawEllipse(pen, rect.X, rect.Y, rect.Width, rect.Height)
490 End Function
491
[212]492 Function DrawEllipse(pen As /*Const*/ Pen, x As Single, y As Single, width As Single, height As Single) As Status
[33]493 Return SetStatus(GdipDrawEllipse(nativeGraphics, pen->nativePen, x, y, width, height))
494 End Function
495
[212]496 Function DrawEllipse(pen As /*Const*/ Pen, rect As /*Const*/ Rectangle) As Status
[33]497 Return DrawEllipse(pen, rect.X, rect.Y, rect.Width, rect.Height)
498 End Function
499
[212]500 Function DrawEllipse(pen As /*Const*/ Pen, x As Long, y As Long, width As Long, height As Long) As Status
[33]501 Return SetStatus(GdipDrawEllipseI(nativeGraphics, pen->nativePen, x, y, width, height))
502 End Function
503
[212]504 Function DrawPie(pen As /*Const*/ Pen, rect As /*Const*/ RectangleF, startAngle As Single, sweepAngle As Single) As Status
[33]505 Return DrawPie(pen, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle)
506 End Function
507
[212]508 Function DrawPie(pen As /*Const*/ Pen, x As Single, y As Single, width As Single, height As Single, startAngle As Single, sweepAngle As Single) As Status
[33]509 Return SetStatus(GdipDrawPie(nativeGraphics, pen->nativePen, x, y, width, height, startAngle, sweepAngle))
510 End Function
511
[212]512 Function DrawPie(pen As /*Const*/ Pen, rect As /*Const*/ Rectangle, startAngle As Single, sweepAngle As Single) As Status
[33]513 Return DrawPie(pen, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle)
514 End Function
515
[212]516 Function DrawPie(pen As /*Const*/ Pen, x As Long, y As Long, width As Long, height As Long, startAngle As Single, sweepAngle As Single) As Status
[33]517 Return SetStatus(GdipDrawPieI(nativeGraphics, pen->nativePen, x, y, width, height, startAngle, sweepAngle))
518 End Function
519
[212]520 Function DrawPolygon(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long) As Status
[33]521 Return SetStatus(GdipDrawPolygon(nativeGraphics, pen->nativePen, points, count))
522 End Function
523
[212]524 Function DrawPolygon(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long) As Status
[33]525 Return SetStatus(GdipDrawPolygonI(nativeGraphics, pen->nativePen, points, count))
526 End Function
527
[212]528 Function DrawPath(pen As /*Const*/ Pen, path As /*Const*/ GraphicsPath) As Status
[33]529 Return SetStatus(GdipDrawPath(nativeGraphics, pen->nativePen, path->nativePath))
530' Return SetStatus(GdipDrawPath(nativeGraphics, pen ? pen->nativePen : NULL, path ? path->nativePath : NULL))
531 End Function
532
[212]533 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long) As Status
[33]534 Return SetStatus(GdipDrawCurve(nativeGraphics, pen->nativePen, points, count))
535 End Function
536
[212]537 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long, tension As Single) As Status
[33]538 Return SetStatus(GdipDrawCurve2(nativeGraphics, pen->nativePen, points,count, tension))
539 End Function
540
[212]541 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long, offset As Long, numberOfSegments As Long) As Status
[33]542 Return SetStatus(GdipDrawCurve3(nativeGraphics, pen->nativePen, points, count, offset,numberOfSegments, 0.5))
543 End Function
544
[212]545 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long, offset As Long, numberOfSegments As Long, tension As Single) As Status
[33]546 Return SetStatus(GdipDrawCurve3(nativeGraphics, pen->nativePen, points, count, offset,numberOfSegments, tension))
547 End Function
548
[212]549 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long) As Status
[33]550 Return SetStatus(GdipDrawCurveI(nativeGraphics, pen->nativePen, points, count))
551 End Function
552
[212]553 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long, tension As Single) As Status
[33]554 Return SetStatus(GdipDrawCurve2I(nativeGraphics, pen->nativePen, points, count, tension))
555 End Function
556
[212]557 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long, offset As Long, numberOfSegments As Long) As Status
[33]558 Return SetStatus(GdipDrawCurve3I(nativeGraphics, pen->nativePen, points, count, offset, numberOfSegments, 0.5))
559 End Function
560
[212]561 Function DrawCurve(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long, offset As Long, numberOfSegments As Long, tension As Single) As Status
[33]562 Return SetStatus(GdipDrawCurve3I(nativeGraphics, pen->nativePen, points, count, offset, numberOfSegments, tension))
563 End Function
564
[212]565 Function DrawClosedCurve(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long) As Status
[33]566 Return SetStatus(GdipDrawClosedCurve(nativeGraphics, pen->nativePen, points, count))
567 End Function
568
[212]569 Function DrawClosedCurve(pen As /*Const*/ Pen, points As /*Const*/ *PointF, count As Long, tension As Single) As Status
[33]570 Return SetStatus(GdipDrawClosedCurve2(nativeGraphics, pen->nativePen, points, count, tension))
571 End Function
572
[212]573 Function DrawClosedCurve(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long) As Status
[33]574 Return SetStatus(GdipDrawClosedCurveI(nativeGraphics, pen->nativePen, points, count))
575 End Function
576
[212]577 Function DrawClosedCurve(pen As /*Const*/ Pen, points As /*Const*/ *Point, count As Long, tension As Single) As Status
[33]578 Return SetStatus(GdipDrawClosedCurve2I(nativeGraphics, pen->nativePen, points, count, tension))
579 End Function
580
[212]581 Function Clear(color As /*Const*/ Color) As Status
[33]582 Return SetStatus(GdipGraphicsClear(nativeGraphics, color.Value))
583 End Function
584
[212]585 Function FillRectangle(brush As /*Const*/ Brush, rect As /*Const*/ RectangleF) As Status
[33]586 Return FillRectangle(brush, rect.X, rect.Y, rect.Width, rect.Height)
587 End Function
588
[212]589 Function FillRectangle(brush As /*Const*/ Brush, x As Single, y As Single, width As Single, height As Single) As Status
[33]590 Return SetStatus(GdipFillRectangle(nativeGraphics, brush->nativeBrush, x, y, width, height))
591 End Function
592
[212]593 Function FillRectangles(brush As /*Const*/ Brush, rects As /*Const*/ *RectangleF, count As Long) As Status
[33]594 Return SetStatus(GdipFillRectangles(nativeGraphics,brush->nativeBrush,rects, count))
595 End Function
596
[212]597 Function FillRectangle(brush As /*Const*/ Brush, rect As /*Const*/ Rectangle) As Status
[33]598 Return FillRectangle(brush, rect.X, rect.Y, rect.Width, rect.Height)
599 End Function
600
[212]601 Function FillRectangle(brush As /*Const*/ Brush, x As Long, y As Long, width As Long, height As Long) As Status
[33]602 Return SetStatus(GdipFillRectangleI(nativeGraphics, brush->nativeBrush, x, y, width, height))
603 End Function
604
[212]605 Function FillRectangles(brush As /*Const*/ Brush, rects As /*Const*/ *Rectangle, count As Long) As Status
[33]606 Return SetStatus(GdipFillRectanglesI(nativeGraphics, brush->nativeBrush, rects, count))
607 End Function
608
[212]609 Function FillPolygon(brush As /*Const*/ Brush, points As /*Const*/ *PointF, count As Long) As Status
[33]610 Return FillPolygon(brush, points, count, FillModeAlternate)
611 End Function
612
[212]613 Function FillPolygon(brush As /*Const*/ Brush, points As /*Const*/ *PointF, count As Long, fillMode As FillMode) As Status
[33]614 Return SetStatus(GdipFillPolygon(nativeGraphics, brush->nativeBrush, points, count, fillMode))
615 End Function
616
[212]617 Function FillPolygon(brush As /*Const*/ Brush, points As /*Const*/ *Point, count As Long) As Status
[33]618 Return FillPolygon(brush, points, count, FillModeAlternate)
619 End Function
620
[212]621 Function FillPolygon(brush As /*Const*/ Brush, points As /*Const*/ *Point, count As Long, fillMode As FillMode) As Status
[33]622 Return SetStatus(GdipFillPolygonI(nativeGraphics, brush->nativeBrush, points, count, fillMode))
623 End Function
624
[212]625 Function FillEllipse(brush As /*Const*/ Brush, rect As /*Const*/ RectangleF) As Status
[33]626 Return FillEllipse(brush, rect.X, rect.Y, rect.Width, rect.Height)
627 End Function
628
[212]629 Function FillEllipse(brush As /*Const*/ Brush, x As Single, y As Single, width As Single, height As Single) As Status
[33]630 Return SetStatus(GdipFillEllipse(nativeGraphics, brush->nativeBrush, x, y, width, height))
631 End Function
632
[212]633 Function FillEllipse(brush As /*Const*/ Brush, rect As /*Const*/ Rectangle) As Status
[33]634 Return FillEllipse(brush, rect.X, rect.Y, rect.Width, rect.Height)
635 End Function
636
[212]637 Function FillEllipse(brush As /*Const*/ Brush, x As Long, y As Long, width As Long, height As Long) As Status
[33]638 Return SetStatus(GdipFillEllipseI(nativeGraphics, brush->nativeBrush, x, y, width, height))
639 End Function
640
[212]641 Function FillPie(brush As /*Const*/ Brush, rect As /*Const*/ RectangleF, startAngle As Single, sweepAngle As Single) As Status
[33]642 Return FillPie(brush, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle)
643 End Function
644
[212]645 Function FillPie(brush As /*Const*/ Brush, x As Single, y As Single, width As Single, height As Single, startAngle As Single, sweepAngle As Single) As Status
[33]646 Return SetStatus(GdipFillPie(nativeGraphics, brush->nativeBrush, x, y, width, height, startAngle, sweepAngle))
647 End Function
648
[212]649 Function FillPie(brush As /*Const*/ Brush, rect As /*Const*/ Rectangle, startAngle As Single, sweepAngle As Single) As Status
[33]650 Return FillPie(brush, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle)
651 End Function
652
[212]653 Function FillPie(brush As /*Const*/ Brush, x As Long, y As Long, width As Long, height As Long, startAngle As Single, sweepAngle As Single) As Status
[33]654 Return SetStatus(GdipFillPieI(nativeGraphics, brush->nativeBrush, x, y, width, height, startAngle, sweepAngle))
655 End Function
656
[212]657 Function FillPath(brush As /*Const*/ Brush, path As /*Const*/ GraphicsPath) As Status
[33]658 Return SetStatus(GdipFillPath(nativeGraphics, brush->nativeBrush, path->nativePath))
659 End Function
660
[212]661 Function FillClosedCurve(brush As /*Const*/ Brush, points As /*Const*/ *PointF, count As Long) As Status
[33]662 Return SetStatus(GdipFillClosedCurve(nativeGraphics, brush->nativeBrush, points, count))
663 End Function
664
[212]665 Function FillClosedCurve(brush As /*Const*/ Brush, points As /*Const*/ *PointF, count As Long, fillMode As FillMode) As Status
[33]666 Return SetStatus(GdipFillClosedCurve2(nativeGraphics, brush->nativeBrush, points, count, 0.5, fillMode))
667 End Function
668
[212]669 Function FillClosedCurve(brush As /*Const*/ Brush, points As /*Const*/ *PointF, count As Long, fillMode As FillMode, tension As Single) As Status
[33]670 Return SetStatus(GdipFillClosedCurve2(nativeGraphics, brush->nativeBrush, points, count, tension, fillMode))
671 End Function
672
[212]673 Function FillClosedCurve(brush As /*Const*/ Brush, points As /*Const*/ *Point, count As Long) As Status
[33]674 Return SetStatus(GdipFillClosedCurveI(nativeGraphics, brush->nativeBrush, points, count))
675 End Function
676
[212]677 Function FillClosedCurve(brush As /*Const*/ Brush, points As /*Const*/ *Point, count As Long, fillMode As FillMode) As Status
[33]678 Return SetStatus(GdipFillClosedCurve2I(nativeGraphics, brush->nativeBrush, points, count, 0.5, fillMode))
679 End Function
680
[212]681 Function FillClosedCurve(brush As /*Const*/ Brush, points As /*Const*/ *Point, count As Long, fillMode As FillMode, tension As Single) As Status
[33]682 Return SetStatus(GdipFillClosedCurve2I(nativeGraphics, brush->nativeBrush, points, count, tension, fillMode))
683 End Function
684
[212]685 Function FillRegion(brush As /*Const*/ Brush, region As /*Const*/ Region) As Status
[33]686 Return SetStatus(GdipFillRegion(nativeGraphics, brush->nativeBrush, region->nativeRegion))
687 End Function
688
[212]689 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, layoutRect As /*Const*/ RectangleF) As Status
[33]690 Dim nativeFont As *GpFont
691 If VarPtr(font) <> 0 Then
692 nativeFont = font.nativeFormat
693 Else
694 nativeFont = 0
695 End If
696 Return SetStatus(GdipDrawString( nativeGraphics, str, length, nativeFont, layoutRect, 0, 0))
697 End Function
698
[212]699 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, layoutRect As /*Const*/ Rectangle,
700 stringFormat As /*Const*/ StringFormat, brush As /*Const*/ Brush) As Status
[33]701
702 Dim nativeFont As *GpFont
703 If VarPtr(font) <> 0 Then
704 nativeFont = font.nativeFormat
705 Else
706 nativeFont = 0
707 End If
708 Dim nativeFormat As *GpStringFormat
709 If VarPtr(layoutRect) <> 0 Then
710 nativeFormat = layoutRect.nativeFormat
711 Else
712 nativeFormat = 0
713 End If
[104]714 Return SetStatus(GdipDrawString(nativeGraphics, str, length, nativeFont, layoutRect, nativeFormat, 0))
[33]715 End Function
716
[212]717 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, layoutRect As /*Const*/ RectangleF,
718 stringFormat As /*Const*/ StringFormat, brush As /*Const*/ Brush) As Status
[33]719
720 Dim nativeFont As *GpFont
721 If VarPtr(font) <> 0 Then
722 nativeFont = font.nativeFormat
723 Else
724 nativeFont = 0
725 End If
726 Dim nativeFormat As *GpStringFormat
727 If VarPtr(stringFormat) <> 0 Then
728 nativeFormat = stringFormat.nativeFormat
729 Else
730 nativeFormat = 0
731 End If
732 Dim nativeBrush As *GpBrush
733 If VarPtr(brush) <> 0 Then
734 nativeBrush = brush.nativeFormat
735 Else
736 nativeBrush = 0
737 End If
738 Return SetStatus(GdipDrawString(nativeGraphics, str, length, nativeFont, layoutRect, nativeFormat, nativeBrush))
739 End Function
740
[212]741 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, origin As /*Const*/ Point) As Status
[33]742 Dim rect As RectangleF(origin.X, origin.Y, 0.0, 0.0)
743 Dim nativeFont As *GpFont
744 If VarPtr(font) <> 0 Then
745 nativeFont = font.nativeFormat
746 Else
747 nativeFont = 0
748 End If
749 Return SetStatus(GdipDrawString(nativeGraphics, str, length, nativeFont, rect, 0, 0))
750 End Function
751
[212]752 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, origin As /*Const*/ PointF,
753 brush As /*Const*/ Brush) As Status
[33]754
755 Dim rect As RectangleF(origin.X, origin.Y, 0.0, 0.0)
756 Dim nativeFont As *GpFont
757 If VarPtr(font) <> 0 Then
758 nativeFont = font.nativeFormat
759 Else
760 nativeFont = 0
761 End If
762 Dim nativeBrush As *GpBrush
763 If VarPtr(brush) <> 0 Then
764 nativeBrush = brush.nativeFormat
765 Else
766 nativeBrush = 0
767 End If
768 Return SetStatus(GdipDrawString(nativeGraphics, str, length, nativeFont, rect, 0, nativeBrush))
769 End Function
770
[212]771 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, origin As /*Const*/ PointF) As Status
[33]772 Dim rect As RectangleF(origin.X, origin.Y, 0.0, 0.0)
773 Dim nativeFont As *GpFont
774 If VarPtr(font) <> 0 Then
775 nativeFont = font.nativeFormat
776 Else
777 nativeFont = 0
778 End If
779 Return SetStatus(GdipDrawString(nativeGraphics, str, length, nativeFont, rect, 0, 0))
780 End Function
781
[212]782 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, origin As /*Const*/ PointF,
783 stringFormat As /*Const*/ StringFormat) As Status
[33]784
785 Dim rect As RectangleF(origin.X, origin.Y, 0.0, 0.0)
786 Dim nativeFont As *GpFont
787 If VarPtr(font) <> 0 Then
788 nativeFont = font.nativeFormat
789 Else
790 nativeFont = 0
791 End If
792 Dim nativeFormat As *GpStringFormat
793 If VarPtr(stringFormat) <> 0 Then
794 nativeFormat = stringFormat.nativeFormat
795 Else
796 nativeFormat = 0
797 End If
798 Return SetStatus(GdipDrawString(nativeGraphics, str, length, nativeFont, rect, nativeFormat, 0))
799 End Function
800
[212]801 Function DrawString(str As PCWSTR, length As Long, font As /*Const*/ Font, origin As /*Const*/ PointF,
802 stringFormat As /*Const*/ StringFormat, brush As /*Const*/ Brush) As Status
[33]803
804 Dim rect As RectangleF(origin.X, origin.Y, 0.0, 0.0)
805 Dim nativeFont As *GpFont
806 If VarPtr(font) <> 0 Then
807 nativeFont = font.nativeFormat
808 Else
809 nativeFont = 0
810 End If
811 Dim nativeFormat As *GpStringFormat
812 If VarPtr(stringFormat) <> 0 Then
813 nativeFormat = stringFormat.nativeFormat
814 Else
815 nativeFormat = 0
816 End If
817 If VarPtr(brush) <> 0 Then
818 nativeBrush = brush.nativeFormat
819 Else
820 nativeBrush = 0
821 End If
822 Return SetStatus(GdipDrawString( nativeGraphics, str, length, nativeFont, rect, nativeFormat, nativeBrush))
823 End Function
824
[212]825 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font, layoutRect As /*Const*/ RectangleF,
826 stringFormat As /*Const*/ StringFormat, boundingBox As RectangleF) As Status
[33]827
828 Return MeasureString(str, length, font, layoutRect, stringFormat, boundingBox, ByVal 0, ByVal 0)
829 End Function
830
[212]831 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font, layoutRect As /*Const*/ RectangleF,
832 stringFormat As /*Const*/ StringFormat, boundingBox As RectangleF,
833 codepointsFitted As Long) As Status
[33]834
835 Return MeasureString(str, length, font, layoutRect, stringFormat, boundingBox, codepointsFitted, ByVal 0)
836 End Function
837
[212]838 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font, layoutRect As /*Const*/ RectangleF,
839 stringFormat As /*Const*/ StringFormat, boundingBox As RectangleF,
840 codepointsFitted As Long, linesFilled As Long) As Status
[33]841
842 Dim nativeFont As *GpFont
843 If VarPtr(font) <> 0 Then
844 nativeFont = font.nativeFormat
845 Else
846 nativeFont = 0
847 End If
848 Dim nativeFormat As *GpStringFormat
849 If VarPtr(stringFormat) <> 0 Then
850 nativeFormat = stringFormat.nativeFormat
851 Else
852 nativeFormat = 0
853 End If
854 Return SetStatus(GdipMeasureString(nativeGraphics, str, length, nativeFont, layoutRect, nativeFormat,
855 boundingBox, codepointsFitted, linesFilled))
856 End Function
857
[212]858 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font,
859 layoutRectSize As /*Const*/ SizeF, stringFormat As /*Const*/ StringFormat,
860 size As SizeF) As Status
[33]861
[104]862 Return MeasureString(str, length, font, layoutRectSize, stringFormat, size, ByVal 0, ByVal 0)
[33]863 End Function
864
[212]865 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font,
866 layoutRectSize As /*Const*/ SizeF, stringFormat As /*Const*/ StringFormat,
867 size As SizeF, codepointsFitted As Long) As Status
[33]868
[104]869 Return MeasureString(str, length, font, layoutRectSize, stringFormat, size, codepointsFitted, ByVal 0)
[33]870 End Function
871
[212]872 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font,
873 layoutRectSize As /*Const*/ SizeF, stringFormat As /*Const*/ StringFormat,
874 size As SizeF, codepointsFitted As Long, linesFilled As Long) As Status
[33]875
876 Dim layoutRect As RectangleF(0, 0, layoutRectSize.Width, layoutRectSize.Height)
877 Dim boundingBox As RectangleF, pBoundingBox As *RectangleF
878 If VarPtr(size) <> 0 Then
879 pBoundingBox = VarPtr(boundingBox)
880 Else
881 pBoundingBox = 0
882 End If
883
884 Dim nativeFont As *GpFont
885 If VarPtr(font) <> 0 Then
886 nativeFont = font.nativeFormat
887 Else
888 nativeFont = 0
889 End If
890 Dim nativeFormat As *GpStringFormat
891 If VarPtr(stringFormat) <> 0 Then
892 nativeFormat = stringFormat.nativeFormat
893 Else
894 nativeFormat = 0
895 End If
896 Dim status = SetStatus(GdipMeasureString(nativeGraphics, str, length,
897 nativeFont, layoutRect, nativeFormat, pBoundingBox, codepointsFitted, linesFilled))
898
[104]899 If VarPtr(size) <> 0 And status = Status.Ok Then
[33]900 size.Width = boundingBox.Width
901 size.Height = boundingBox.Height
902 End Function
903
904 Return status
905 End Function
906
[212]907 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font,
908 origin As /*Const*/ PointF, stringFormat As /*Const*/ StringFormat,
909 boundingBox As RectangleF) As Status
[33]910
911 Dim rect As RectangleF(origin.X, origin.Y, 0.0f, 0.0f)
912 Dim nativeFont As *GpFont
913 If VarPtr(font) <> 0 Then
914 nativeFont = font.nativeFormat
915 Else
916 nativeFont = 0
917 End If
918 Dim nativeFormat As *GpStringFormat
919 If VarPtr(stringFormat) <> 0 Then
920 nativeFormat = stringFormat.nativeFormat
921 Else
922 nativeFormat = 0
923 End If
924
925 Return SetStatus(GdipMeasureString(nativeGraphics, str, length, nativeFont, rect, nativeFormat, boundingBox, 0, 0))
926 End Function
927
[212]928 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font,
929 layoutRect As /*Const*/ RectangleF, boundingBox As RectangleF) As Status
[33]930
931 Dim nativeFont As *GpFont
932 If VarPtr(font) <> 0 Then
933 nativeFont = font.nativeFormat
934 Else
935 nativeFont = 0
936 End If
937
938 Return SetStatus(GdipMeasureString(nativeGraphics, str, length, nativeFont, layoutRect, 0, boundingBox, 0, 0))
939 End Function
940
[212]941 Const Function MeasureString(str As PCWSTR, length As Long, font As /*Const*/ Font,
942 origin As /*Const*/ PointF, boundingBox As RectangleF) As Status
[33]943 Dim rect As RectangleF(origin.X, origin.Y, 0.0, 0.0)
944
945 Dim nativeFont As *GpFont
946 If VarPtr(font) <> 0 Then
947 nativeFont = font.nativeFormat
948 Else
949 nativeFont = 0
950 End If
951 Return SetStatus(GdipMeasureString(nativeGraphics, str, length, nativeFont, rect, 0, boundingBox, 0, 0))
952 End Function
953
[212]954 Const Function MeasureCharacterRanges(str As PCWSTR, length As Long, font As /*Const*/ Font,
955 layoutRect As /*Const*/ RectangleF, stringFormat As /*Const*/ StringFormat,
[33]956 regionCount As Long, regions As *Region) As Status
957 If regions = 0 Or regionCount <= 0 Then
958 Return InvalidParameter
959 End If
960
961 Dim nativeRegions = _System_malloc(regionCount * SizeOf (GpRegion*)) As **GpRegion
962
963 If nativeRegions = 0 Then
964 Return OutOfMemory
965 End If
966
967 Dim i As Long
968 For i = 0 To regionCount
969 nativeRegions[i] = regions[i].nativeRegion
970 Next
971
972 Dim nativeFont As *GpFont
973 If VarPtr(font) <> 0 Then
974 nativeFont = font.nativeFormat
975 Else
976 nativeFont = 0
977 End If
978 Dim nativeFormat As *GpStringFormat
979 If VarPtr(stringFormat) <> 0 Then
980 nativeFormat = stringFormat.nativeFormat
981 Else
982 nativeFormat = 0
983 End If
984
985 Dim status = SetStatus(GdipMeasureCharacterRanges(nativeGraphics,
986 str, length, nativeFont, layoutRect, nativeFormat,regionCount, nativeRegions))
987 _System_free(nativeRegions)
988 Return status
989 End Function
990
[212]991 Function DrawDriverString(text As /*Const*/ Word, length As Long, font As /*Const*/ Font,
992 brush As /*Const*/ Brush, positions As /*Const*/ *PointF, flags As Long) As Status
[33]993
994 Return DrawDriverString(text, length, font, brush, positions, flags, ByVal 0)
995 End Function
996
[212]997 Function DrawDriverString(text As /*Const*/ Word, length As Long, font As /*Const*/ Font,
998 brush As /*Const*/ Brush, positions As /*Const*/ *PointF, flags As Long, matrix As /*Const*/ Matrix) As Status
[33]999
1000 Dim nativeFont As *GpFont
1001 If VarPtr(font) <> 0 Then
1002 nativeFont = font.nativeFormat
1003 Else
1004 nativeFont = 0
1005 End If
1006 Dim nativeBrush As *GpBrush
1007 If VarPtr(brush) <> 0 Then
1008 nativeBrush = brush.nativeBrush
1009 Else
1010 nativeBrush = 0
1011 End If
1012 Dim nativeMatrix As *GpMatrix
1013 If VarPtr(matrix) <> 0 Then
1014 nativeMatrix = matrix.nativeMatrix
1015 Else
1016 nativeMatrix = 0
1017 End If
1018 Return SetStatus(GdipDrawDriverString(nativeGraphics, text, length, nativeFont, nativeBrush, positions, flags, nativeMatrix))
1019 End Function
1020
[212]1021 Const Function MeasureDriverString(text As /*Const*/ Word, length As Long, font As /*Const*/ Font,
1022 positions As /*Const*/ *PointF, flags As Long, matrix As /*Const*/ Matrix, boundingBox As RectangleF) As Status
[33]1023
1024 Dim nativeFont As *GpFont
1025 If VarPtr(font) <> 0 Then
1026 nativeFont = font.nativeFormat
1027 Else
1028 nativeFont = 0
1029 End If
1030 Dim nativeMatrix As *GpMatrix
1031 If VarPtr(matrix) <> 0 Then
1032 nativeMatrix = matrix.nativeMatrix
1033 Else
1034 nativeMatrix = 0
1035 End If
1036 Return SetStatus(GdipMeasureDriverString(nativeGraphics, text, length, nativeFont, positions, flags, nativeMatrix, boundingBox))
1037 End Function
1038
1039 ' Draw a cached bitmap on this graphics destination offset by
1040 ' x, y. Note this will fail with WrongState if the CachedBitmap
1041 ' native format differs from this Graphics.
1042
[212]1043 Function DrawCachedBitmap(cb As CachedBitmap, x As Long, y As Long) As Status
[33]1044 Return SetStatus(GdipDrawCachedBitmap(nativeGraphics, cb->nativeCachedBitmap, x, y))
1045 End Function
1046
[212]1047 Function DrawImage(image As Image, point As /*Const*/ PointF) As Status
[33]1048 Return DrawImage(image, point.X, point.Y)
1049 End Function
1050
[212]1051 Function DrawImage(image As Image, x As Single, y As Single) As Status
[33]1052 Dim nativeImage As *GpImage
1053 If VarPtr(image) <> 0 Then
[104]1054 nativeImage = image.NativeImage
[33]1055 Else
1056 nativeImage = 0
1057 End If
1058 Return SetStatus(GdipDrawImage(nativeGraphics, nativeImage, x, y))
1059 End Function
1060
[212]1061 Function DrawImage(image As Image, rect As /*Const*/ RectangleF) As Status
[33]1062 Return DrawImage(image, rect.X, rect.Y, rect.Width, rect.Height)
1063 End Function
1064
[212]1065 Function DrawImage(image As Image, x As Single, y As Single, width As Single, height As Single) As Status
[33]1066 Dim nativeImage As *GpImage
1067 If VarPtr(image) <> 0 Then
[104]1068 nativeImage = image.NativeImage
[33]1069 Else
1070 nativeImage = 0
1071 End If
1072 Return SetStatus(GdipDrawImageRect(nativeGraphics, nativeImage, x, y, width, height))
1073 End Function
1074
[212]1075 Function DrawImage(image As Image, point As /*Const*/ Point) As Status
[33]1076 Return DrawImage(image, point.X, point.Y) As Status
1077 End Function
1078
[212]1079 Function DrawImage(image As Image, x As Long, y As Long) As Status
[33]1080 Dim nativeImage As *GpImage
1081 If VarPtr(image) <> 0 Then
[104]1082 nativeImage = image.NativeImage
[33]1083 Else
1084 nativeImage = 0
1085 End If
1086 Return SetStatus(GdipDrawImageI(nativeGraphics, nativeImage, x, y))
1087 End Function
1088
[212]1089 Function DrawImage(image As Image, rect As /*Const*/ Rectangle) As Status
[33]1090 Return DrawImage(image, rect.X, rect.Y, rect.Width, rect.Height)
1091 End Function
1092
[212]1093 Function DrawImage(image As Image, x As Long, y As Long, width As Long, height As Long) As Status
[33]1094 Dim nativeImage As *GpImage
1095 If VarPtr(image) <> 0 Then
[104]1096 nativeImage = image.NativeImage
[33]1097 Else
1098 nativeImage = 0
1099 End If
1100 Return SetStatus(GdipDrawImageRectI(nativeGraphics, nativeImage, x, y, width, height))
1101 End Function
1102
1103 ' Affine Draw Image
1104 ' destPoints.length = 3: rect => parallelogram
1105 ' destPoints[0] <=> top-left corner of the source rectangle
1106 ' destPoints[1] <=> top-right corner
1107 ' destPoints[2] <=> bottom-left corner
1108 ' destPoints.length = 4: rect => quad
1109 ' destPoints[3] <=> bottom-right corner
1110
[212]1111 Function DrawImage(image As Image, destPoints As /*Const*/ PointF, count As Long) As Status
[33]1112 If count <> 3 And count <> 4 Then
1113 Return SetStatus(InvalidParameter)
1114 End If
1115
1116 Dim nativeImage As *GpImage
1117 If VarPtr(image) <> 0 Then
[104]1118 nativeImage = image.NativeImage
[33]1119 Else
1120 nativeImage = 0
1121 End If
1122 Return SetStatus(GdipDrawImagePoints(nativeGraphics, nativeImage, destPoints, count))
1123 End Function
1124
[212]1125 Function DrawImage(image As Image, destPoints As /*Const*/ Point, count As Long) As Status
[33]1126 If count <> 3 And count <> 4 Then
1127 Return SetStatus(InvalidParameter)
1128 End If
1129
1130 Dim nativeImage As *GpImage
1131 If VarPtr(image) <> 0 Then
[104]1132 nativeImage = image.NativeImage
[33]1133 Else
1134 nativeImage = 0
1135 End If
1136 Return SetStatus(GdipDrawImagePointsI(nativeGraphics, nativeImage, destPoints, count))
1137 End Function
1138
[212]1139 Function DrawImage(image As Image, x As Single, y As Single,
[33]1140 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit) As Status
1141
1142 Dim nativeImage As *GpImage
1143 If VarPtr(image) <> 0 Then
[104]1144 nativeImage = image.NativeImage
[33]1145 Else
1146 nativeImage = 0
1147 End If
1148 Return SetStatus(GdipDrawImagePointRect(nativeGraphics, nativeImage, x, y, srcx, srcy, srcwidth, srcheight, srcUnit))
1149 End Function
1150
[212]1151 Function DrawImage(image As Image, destRect As /*Const*/ RectangleF,
[33]1152 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit) As Status
1153
1154 Return DrawImage(image, destRect, srcx, srcy, srcwidth, srcheight, srcUnit, 0, 0, 0)
1155 End Function
1156
[212]1157 Function DrawImage(image As Image, destRect As /*Const*/ RectangleF,
[33]1158 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1159 imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1160
1161 Return DrawImage(image, destRect, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, 0, 0)
1162 End Function
1163
[212]1164 Function DrawImage(image As Image, destRect As /*Const*/ RectangleF,
[33]1165 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1166 imageAttributes As /*Const*/ ImageAttributes,
[33]1167 callback As DrawImageAbort) As Status
1168
1169 Return DrawImage(image, destRect, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, callback, 0)
1170 End Function
1171
[212]1172 Function DrawImage(image As Image, destRect As /*Const*/ RectangleF,
[33]1173 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1174 imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort, callbackData As VoidPtr) As Status
[33]1175
1176 Dim nativeImage As *GpImage
1177 If VarPtr(image) <> 0 Then
[104]1178 nativeImage = image.NativeImage
[33]1179 Else
1180 nativeImage = 0
1181 End If
1182 Dim nativeImageAttr As *GpImageAttributes
1183 If VarPtr(imageAttributes) <> 0 Then
[104]1184 nativeImageAttr = image.NativeImageAttr
[33]1185 Else
1186 nativeImageAttr = 0
1187 End If
1188
1189 Return SetStatus(GdipDrawImageRectRect(nativeGraphics, nativeImageAttr,
1190 destRect.X, destRect.Y, destRect.Width, destRect.Height, srcx, srcy, srcwidth, srcheight,
1191 srcUnit, nativeImageAttr, callback, callbackData))
1192 End Function
1193
[212]1194 Function DrawImage(image As Image, destPoints As /*Const*/ PointF, count As Long,
[33]1195 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit) As Status
1196
1197 Return DrawImage(image, destPoints, count, srcx, srcy, srcwidth, srcheight, srcUnit, 0, 0, 0)
1198 End Function
1199
[212]1200 Function DrawImage(image As Image, destPoints As /*Const*/ PointF, count As Long,
[33]1201 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1202 imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1203
1204 Return DrawImage(image, destPoints, count, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, 0, 0)
1205 End Function
1206
[212]1207 Function DrawImage(image As Image, destPoints As /*Const*/ PointF, count As Long,
[33]1208 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1209 imageAttributes As /*Const*/ ImageAttributes,
[33]1210 callback As DrawImageAbort) As Status
1211
1212 Return DrawImage(image, destPoints, count, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, callback, 0)
1213 End Function
1214
[212]1215 Function DrawImage(image As Image, destPoints As /*Const*/ PointF, count As Long,
[33]1216 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1217 imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort, callbackData As VoidPtr) As Status
[33]1218
1219 Dim nativeImage As *GpImage
1220 If VarPtr(image) <> 0 Then
[104]1221 nativeImage = image.NativeImage
[33]1222 Else
1223 nativeImage = 0
1224 End If
1225 Dim nativeImageAttr As *GpImageAttributes
1226 If VarPtr(imageAttributes) <> 0 Then
[104]1227 nativeImageAttr = image.NativeImageAttr
[33]1228 Else
1229 nativeImageAttr = 0
1230 End If
1231
1232 Return SetStatus(GdipDrawImagePointsRect(nativeGraphics, nativeImage, destPoints, count,
1233 srcx, srcy, srcwidth, srcheight, srcUnit, nativeImageAttr, callback, callbackData))
1234 End Function
1235
[212]1236 Function DrawImage(image As Image, x As Long, y As Long,
[33]1237 srcx As Long, srcy As Long, srcwidth As Long, srcheight As Long, srcUnit As GraphicsUnit) As Status
1238
1239 Dim nativeImage As *GpImage
1240 If VarPtr(image) <> 0 Then
[104]1241 nativeImage = image.NativeImage
[33]1242 Else
1243 nativeImage = 0
1244 End If
1245 Return SetStatus(GdipDrawImagePointRectI(nativeGraphics, nativeImage, x, y, srcx, srcy, srcwidth, srcheight, srcUnit))
1246 End Function
1247
[212]1248 Function DrawImage(image As Image, destRect As /*Const*/ Rectangle,
[33]1249 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit) As Status
1250
1251 Return DrawImage(image, destRect, srcx, srcy, srcwidth, srcheight, srcUnit, 0, 0, 0)
1252 End Function
1253
[212]1254 Function DrawImage(image As Image, destRect As /*Const*/ Rectangle,
[33]1255 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1256 imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1257
1258 Return DrawImage(image, destRect, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, 0, 0)
1259 End Function
1260
[212]1261 Function DrawImage(image As Image, destRect As /*Const*/ Rectangle,
[33]1262 srcx As Single, srcy As Single, srcwidth As Single, srcheight As Single, srcUnit As GraphicsUnit,
[212]1263 imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort) As Status
[33]1264
1265 Return DrawImage(image, destRect, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, callback, 0)
1266 End Function
1267
[212]1268 Function DrawImage(image As Image, destRect As /*Const*/ Rectangle,
[33]1269 srcx As Long, srcy As Long, srcwidth As Long, srcheight As Long, srcUnit As GraphicsUnit,
[212]1270 imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort, callbackData As VoidPtr) As Status
[33]1271
1272 Dim nativeImage As *GpImage
1273 If VarPtr(image) <> 0 Then
[104]1274 nativeImage = image.NativeImage
[33]1275 Else
1276 nativeImage = 0
1277 End If
1278 Dim nativeImageAttr As *GpImageAttributes
1279 If VarPtr(imageAttributes) <> 0 Then
[104]1280 nativeImageAttr = image.NativeImageAttr
[33]1281 Else
1282 nativeImageAttr = 0
1283 End If
1284
1285 Return SetStatus(GdipDrawImageRectRectI(nativeGraphics, nativeImage,
1286 destRect.X, destRect.Y, destRect.Width, destRect.Height,
1287 srcx, srcy, srcwidth, srcheight, srcUnit, nativeImageAttr, callback, callbackData))
1288 End Function
1289
[212]1290 Function DrawImage(image As Image, destPoints As /*Const*/ Point, count As Long,
[33]1291 srcx As Long, srcy As Long, srcwidth As Long, srcheight As Long, srcUnit As GraphicsUnit) As Status
1292
1293 Return DrawImage(image, destPoints, count, srcx, srcy, srcwidth, srcheight, srcUnit, 0, 0, 0)
1294 End Function
1295
[212]1296 Function DrawImage(image As Image, destPoints As /*Const*/ Point, count As Long,
[33]1297 srcx As Long, srcy As Long, srcwidth As Long, srcheight As Long, srcUnit As GraphicsUnit,
[212]1298 imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1299
1300 Return DrawImage(image, destPoints, count, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, 0, 0)
1301 End Function
1302
[212]1303 Function DrawImage(image As Image, destPoints As /*Const*/ Point, count As Long, _
[104]1304 srcx As Long, srcy As Long, srcwidth As Long, srcheight As Long, srcUnit As GraphicsUnit, _
[212]1305 imageAttributes As /*Const*/ ImageAttributes,
[104]1306 callback As DrawImageAbort) As Status
[33]1307
1308 Return DrawImage(image, destPoints, count, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, callback, 0)
1309 End Function
1310
[212]1311 Function DrawImage(image As Image, destPoints As /*Const*/ Point, count As Long,
[33]1312 srcx As Long, srcy As Long, srcwidth As Long, srcheight As Long, srcUnit As GraphicsUnit,
[212]1313 imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort, callbackData As VoidPtr) As Status
[33]1314
1315 Dim nativeImage As *GpImage
1316 If VarPtr(image) <> 0 Then
[104]1317 nativeImage = image.NativeImage
[33]1318 Else
1319 nativeImage = 0
1320 End If
1321 Dim nativeImageAttr As *GpImageAttributes
1322 If VarPtr(imageAttributes) <> 0 Then
[104]1323 nativeImageAttr = image.NativeImageAttr
[33]1324 Else
1325 nativeImageAttr = 0
1326 End If
1327
1328 Return SetStatus(GdipDrawImagePointsRectI(nativeGraphics, nativeImage, destPoints, count,
1329 srcx, srcy, srcwidth, srcheight, srcUnit, nativeImageAttr, callback, callbackData))
1330 End Function
1331
[212]1332 Function DrawImage(image As Image, destPoints As /*Const*/ *Point, count As Long, srcRect As Rectangle, srcUnit As GraphicsUnit) As Status
[33]1333 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit)
1334 End Function
1335
[212]1336 Function DrawImage(image As Image, destPoints As /*Const*/ *PointF, count As Long, srcRect As RectangleF, srcUnit As GraphicsUnit) As Status
[33]1337 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit)
1338 End Function
1339
[212]1340 Function DrawImage(image As Image, x As Long, y As Long, srcRect As Rectangle, srcUnit As GraphicsUnit) As Status
[33]1341 Return DrawImage(image, x, y, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit)
1342 End Function
1343
[212]1344 Function DrawImage(image As Image, x As Single, y As Single, srcRect As RectangleF, srcUnit As GraphicsUnit) As Status
[33]1345 Return DrawImage(image, x, y, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit)
1346 End Function
1347
[212]1348 Function DrawImage(image As Image, destPoints As /*Const*/ *Point, count As Long, srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1349 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit, imageAttributes)
1350 End Function
1351
[212]1352 Function DrawImage(image As Image, destPoints As /*Const*/ *PointF, count As Long, srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1353 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit, imageAttributes)
1354 End Function
1355
[212]1356 Function DrawImage(image As Image, destPoints As /*Const*/ *Point, count As Long, srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort) As Status
[33]1357 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit, imageAttributes, callback)
1358 End Function
1359
[212]1360 Function DrawImage(image As Image, destPoints As /*Const*/ *PointF, count As Long, srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort) As Status
[33]1361 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit, imageAttributes, callback)
1362 End Function
1363
[212]1364 Function DrawImage(image As Image, destPoints As /*Const*/ *Point, count As Long, srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort, callbackData As VoidPtr) As Status
[33]1365 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit, imageAttributes, callback, callbackData)
1366 End Function
1367
[212]1368 Function DrawImage(image As Image, destPoints As /*Const*/ *PointF, count As Long, srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttributes As /*Const*/ ImageAttributes, callback As DrawImageAbort, callbackData As VoidPtr) As Status
[33]1369 Return DrawImage(image, destPoints, count, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, srcUnit, imageAttributes, callback, callbackData)
1370 End Function
1371
1372 ' The following methods are for playing an EMF+ to a graphics
1373 ' via the enumeration interface. Each record of the EMF+ is
1374 ' sent to the callback (along with the callbackData). Then
1375 ' the callback can invoke the Metafile::PlayRecord method
1376 ' to play the particular record.
1377
[212]1378 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoint As /*Const*/ PointF,
[33]1379 callback As EnumerateMetafileProc) As Status
1380
1381 Return EnumerateMetafile(metafile, destPoint, callback, 0, 0)
1382 End Function
1383
[212]1384 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoint As /*Const*/ PointF,
[33]1385 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1386
1387 Return EnumerateMetafile(metafile, destPoint, callback, callbackData, 0)
1388 End Function
1389
[212]1390 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoint As /*Const*/ PointF,
1391 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1392
1393 Dim nativeImage As /*Const*/ *GpMetafile
1394 If VarPtr(metafile) <> 0 Then
[104]1395 nativeImage = metafile.NativeImage
[33]1396 Else
1397 nativeImage = 0
1398 End If
1399 Dim nativeImageAttr As *GpImageAttributes
1400 If VarPtr(imageAttributes) <> 0 Then
[104]1401 nativeImageAttr = image.NativeImageAttr
[33]1402 Else
1403 nativeImageAttr = 0
1404 End If
1405
1406 Return SetStatus(GdipEnumerateMetafileDestPoint(nativeGraphics,
1407 nativeImage, destPoint, callback, callbackData,nativeImageAttr))
1408 End Function
1409
[212]1410 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoint As /*Const*/ Point,
[33]1411 callback As EnumerateMetafileProc) As Status
1412
1413 Return EnumerateMetafile(metafile, destPoint, callback, 0, 0)
1414 End Function
1415
[212]1416 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoint As /*Const*/ Point,
[33]1417 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1418
1419 Return EnumerateMetafile(metafile, destPoint, callback, callbackData, 0)
1420 End Function
1421
[212]1422 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoint As /*Const*/ Point,
1423 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1424
1425 Dim nativeImage As /*Const*/ *GpMetafile
1426 If VarPtr(metafile) <> 0 Then
[104]1427 nativeImage = metafile.NativeImage
[33]1428 Else
1429 nativeImage = 0
1430 End If
1431 Dim nativeImageAttr As *GpImageAttributes
1432 If VarPtr(imageAttributes) <> 0 Then
[104]1433 nativeImageAttr = image.NativeImageAttr
[33]1434 Else
1435 nativeImageAttr = 0
1436 End If
1437
1438 Return SetStatus(GdipEnumerateMetafileDestPointI(nativeGraphics,
1439 nativeImage, destPoint, callback, callbackData,nativeImageAttr))
1440 End Function
1441
[212]1442 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destRect As /*Const*/ RectangleF,
[33]1443 callback As EnumerateMetafileProc) As Status
1444
1445 Return EnumerateMetafile(metafile, destRect, callback, 0, 0)
1446 End Function
1447
[212]1448 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destRect As /*Const*/ RectangleF,
[33]1449 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1450
1451 Return EnumerateMetafile(metafile, destRect, callback, callbackData, 0)
1452 End Function
1453
[212]1454 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destRect As /*Const*/ RectangleF,
1455 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1456
1457 Dim nativeImage As /*Const*/ *GpMetafile
1458 If VarPtr(metafile) <> 0 Then
[104]1459 nativeImage = metafile.NativeImage
[33]1460 Else
1461 nativeImage = 0
1462 End If
1463 Dim nativeImageAttr As *GpImageAttributes
1464 If VarPtr(imageAttributes) <> 0 Then
[104]1465 nativeImageAttr = image.NativeImageAttr
[33]1466 Else
1467 nativeImageAttr = 0
1468 End If
1469
1470 Return SetStatus(GdipEnumerateMetafileDestRect(nativeGraphics,
1471 nativeImage, destRect, callback, callbackData, nativeImageAttr))
1472 End Function
1473
[212]1474 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destRect As /*Const*/ Rectangle,
[33]1475 callback As EnumerateMetafileProc) As Status
1476
1477 Return EnumerateMetafile(metafile, destRect, callback, 0, 0)
1478 End Function
1479
[212]1480 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destRect As /*Const*/ Rectangle,
[33]1481 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1482
1483 Return EnumerateMetafile(metafile, destRect, callback, callbackData, 0)
1484 End Function
1485
[212]1486 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destRect As /*Const*/ Rectangle,
1487 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1488
1489 Dim nativeImage As /*Const*/ *GpMetafile
1490 If VarPtr(metafile) <> 0 Then
[104]1491 nativeImage = metafile.NativeImage
[33]1492 Else
1493 nativeImage = 0
1494 End If
1495 Dim nativeImageAttr As *GpImageAttributes
1496 If VarPtr(imageAttributes) <> 0 Then
[104]1497 nativeImageAttr = image.NativeImageAttr
[33]1498 Else
1499 nativeImageAttr = 0
1500 End If
1501
1502 Return SetStatus(GdipEnumerateMetafileDestRectI(nativeGraphics,
1503 nativeImage, destRect, callback, callbackData, nativeImageAttr))
1504 End Function
1505
[212]1506 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoints As /*Const*/ *PointF, count As Long,
[33]1507 callback As EnumerateMetafileProc) As Status
1508
1509 Return EnumerateMetafile(metafile, destPoints, count, callback, 0, 0)
1510 End Function
1511
[212]1512 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoints As /*Const*/ *PointF, count As Long,
[33]1513 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1514
1515 Return EnumerateMetafile(metafile, destPoints, count, callback, callbackData, 0)
1516 End Function
1517
[212]1518 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoints As /*Const*/ *PointF, count As Long,
1519 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1520
1521 Dim nativeImage As /*Const*/ *GpMetafile
1522 If VarPtr(metafile) <> 0 Then
[104]1523 nativeImage = metafile.NativeImage
[33]1524 Else
1525 nativeImage = 0
1526 End If
1527 Dim nativeImageAttr As *GpImageAttributes
1528 If VarPtr(imageAttributes) <> 0 Then
[104]1529 nativeImageAttr = image.NativeImageAttr
[33]1530 Else
1531 nativeImageAttr = 0
1532 End If
1533
1534 Return SetStatus(GdipEnumerateMetafileDestPoints(nativeGraphics,
1535 nativeImage,destPoints, count, callback, callbackData, nativeImageAttr))
1536 End Function
1537
[212]1538 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoints As /*Const*/ *Point, count As Long,
[33]1539 callback As EnumerateMetafileProc) As Status
1540
1541 Return EnumerateMetafile(metafile, destPoints, count, callback, 0, 0)
1542 End Function
1543
[212]1544 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoints As /*Const*/ *Point, count As Long,
[33]1545 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1546
1547 Return EnumerateMetafile(metafile, destPoints, count, callback, callbackData, 0)
1548 End Function
1549
[212]1550 Function EnumerateMetafile(metafile As /*Const*/ Metafile, destPoints As /*Const*/ *Point, count As Long,
1551 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1552
1553 Dim nativeImage As /*Const*/ *GpMetafile
1554 If VarPtr(metafile) <> 0 Then
[104]1555 nativeImage = metafile.NativeImage
[33]1556 Else
1557 nativeImage = 0
1558 End If
1559 Dim nativeImageAttr As *GpImageAttributes
1560 If VarPtr(imageAttributes) <> 0 Then
[104]1561 nativeImageAttr = image.NativeImageAttr
[33]1562 Else
1563 nativeImageAttr = 0
1564 End If
1565
1566 Return SetStatus(GdipEnumerateMetafileDestPointsI(nativeGraphics,
1567 nativeImage,destPoints, count, callback, callbackData, nativeImageAttr))
1568 End Function
1569
[212]1570 Function EnumerateMetafile(metafile As /*Const*/ Metafile,
1571 destPoint As /*Const*/ PointF, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit,
[33]1572 callback As EnumerateMetafileProc) As Status
1573
1574 Return EnumerateMetafile(metafile, destPoint, count, srcUnit, callback, 0, 0)
1575 End Function
1576
[212]1577 Function EnumerateMetafile(metafile As /*Const*/ Metafile,
1578 destPoint As /*Const*/ PointF, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit,
[33]1579 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1580
1581 Return EnumerateMetafile(metafile, destPoint, srcRect, srcUnit, callback, callbackData, 0)
1582 End Function
1583
[212]1584 Function EnumerateMetafile(metafile As /*Const*/ Metafile,
1585 destPoint As /*Const*/ PointF, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit,
1586 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1587
1588 Dim nativeImage As /*Const*/ *GpMetafile
1589 If VarPtr(metafile) <> 0 Then
[104]1590 nativeImage = metafile.NativeImage
[33]1591 Else
1592 nativeImage = 0
1593 End If
1594 Dim nativeImageAttr As *GpImageAttributes
1595 If VarPtr(imageAttributes) <> 0 Then
[104]1596 nativeImageAttr = image.NativeImageAttr
[33]1597 Else
1598 nativeImageAttr = 0
1599 End If
1600
[104]1601 Return SetStatus(GdipEnumerateMetafileSrcRectDestPoint(nativeGraphics, _
1602 nativeImage, destPoint, srcRect, srcUnit, callback, callbackData, nativeImageAttr))
[33]1603 End Function
1604
[212]1605 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1606 destPoint As /*Const*/ Point, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
[33]1607 callback As EnumerateMetafileProc) As Status
1608
1609 Return EnumerateMetafile(metafile, destPoint, count, srcUnit, callback, 0, 0)
1610 End Function
1611
[212]1612 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1613 destPoint As /*Const*/ Point, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
[33]1614 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1615
1616 Return EnumerateMetafile(metafile, destPoint, srcRect, srcUnit, callback, callbackData, 0)
1617 End Function
1618
[212]1619 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1620 destPoint As /*Const*/ Point, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
1621 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1622
1623 Dim nativeImage As /*Const*/ *GpMetafile
1624 If VarPtr(metafile) <> 0 Then
[104]1625 nativeImage = metafile.NativeImage
[33]1626 Else
1627 nativeImage = 0
1628 End If
1629 Dim nativeImageAttr As *GpImageAttributes
1630 If VarPtr(imageAttributes) <> 0 Then
[104]1631 nativeImageAttr = image.NativeImageAttr
[33]1632 Else
1633 nativeImageAttr = 0
1634 End If
1635
[104]1636 Return SetStatus(GdipEnumerateMetafileSrcRectDestPointI(nativeGraphics, _
1637 nativeImage, destPoint, srcRect, srcUnit, callback, callbackData, nativeImageAttr))
[33]1638 End Function
1639
[212]1640 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1641 destRect As /*Const*/ RectangleF, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit, _
[33]1642 callback As EnumerateMetafileProc) As Status
1643
1644 Return EnumerateMetafile(metafile, destRect, count, srcUnit, callback, 0, 0)
1645 End Function
1646
[212]1647 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1648 destRect As /*Const*/ RectangleF, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit, _
[33]1649 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1650
1651 Return EnumerateMetafile(metafile, destRect, srcRect, srcUnit, callback, callbackData, 0)
1652 End Function
1653
[212]1654 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1655 destRect As /*Const*/ RectangleF, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit, _
1656 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1657
1658 Dim nativeImage As /*Const*/ *GpMetafile
1659 If VarPtr(metafile) <> 0 Then
[104]1660 nativeImage = metafile.NativeImage
[33]1661 Else
1662 nativeImage = 0
1663 End If
1664 Dim nativeImageAttr As *GpImageAttributes
1665 If VarPtr(imageAttributes) <> 0 Then
[104]1666 nativeImageAttr = image.NativeImageAttr
[33]1667 Else
1668 nativeImageAttr = 0
1669 End If
1670
[104]1671 Return SetStatus(GdipEnumerateMetafileSrcRectDestRect(nativeGraphics, _
[33]1672 nativeImage, destRect, srcRect, srcUnit, callback, callbackData, nativeImageAttr))
1673 End Function
1674
[212]1675 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1676 destRect As /*Const*/ Rectangle, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
[33]1677 callback As EnumerateMetafileProc) As Status
1678
1679 Return EnumerateMetafile(metafile, destRect, srcRect, srcUnit, callback, 0, 0)
1680 End Function
1681
[212]1682 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1683 destRect As /*Const*/ Rectangle, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
[33]1684 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1685
1686 Return EnumerateMetafile(metafile, destRect, srcRect, srcUnit, callback, callbackData, 0)
1687 End Function
1688
[212]1689 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1690 destRect As /*Const*/ Rectangle, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
1691 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1692
1693 Dim nativeImage As /*Const*/ *GpMetafile
1694 If VarPtr(metafile) <> 0 Then
[104]1695 nativeImage = metafile.NativeImage
[33]1696 Else
1697 nativeImage = 0
1698 End If
1699 Dim nativeImageAttr As *GpImageAttributes
1700 If VarPtr(imageAttributes) <> 0 Then
[104]1701 nativeImageAttr = image.NativeImageAttr
[33]1702 Else
1703 nativeImageAttr = 0
1704 End If
1705
[104]1706 Return SetStatus(GdipEnumerateMetafileSrcRectDestRectI(nativeGraphics, _
[33]1707 nativeImage, destRect, srcRect, srcUnit, callback, callbackData, nativeImageAttr))
1708 End Function
1709
[212]1710 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1711 destPoints As /*Const*/ *PointF, count As Long, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit, _
[33]1712 callback As EnumerateMetafileProc) As Status
1713
1714 Return EnumerateMetafile(metafile, destPoints, count, srcRect, srcUnit, callback, 0, 0)
1715 End Function
1716
[212]1717 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1718 destPoints As /*Const*/ *PointF, count As Long, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit, _
[33]1719 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1720
1721 Return EnumerateMetafile(metafile, destPoints, count, srcRect, srcUnit, callback, callbackData, 0)
1722 End Function
1723
[212]1724 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1725 destPoints As /*Const*/ *PointF, count As Long, srcRect As /*Const*/ RectangleF, srcUnit As GraphicsUnit, _
1726 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1727
1728 Dim nativeImage As /*Const*/ *GpMetafile
1729 If VarPtr(metafile) <> 0 Then
[104]1730 nativeImage = metafile.NativeImage
[33]1731 Else
1732 nativeImage = 0
1733 End If
1734 Dim nativeImageAttr As *GpImageAttributes
1735 If VarPtr(imageAttributes) <> 0 Then
[104]1736 nativeImageAttr = image.NativeImageAttr
[33]1737 Else
1738 nativeImageAttr = 0
1739 End If
1740
[104]1741 Return SetStatus(GdipEnumerateMetafileSrcRectDestPoints(nativeGraphics, _
1742 nativeImage, destPoints, count, srcRect, srcUnit, callback, callbackData, nativeImageAttr))
[33]1743 End Function
1744
[212]1745 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1746 destPoints As /*Const*/ *Point, count As Long, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
[33]1747 callback As EnumerateMetafileProc) As Status
1748
1749 Return EnumerateMetafile(metafile, destPoints, count, srcRect, srcUnit, callback, 0, 0)
1750 End Function
1751
[212]1752 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1753 destPoints As /*Const*/ *Point, count As Long, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
[33]1754 callback As EnumerateMetafileProc, callbackData As VoidPtr) As Status
1755
1756 Return EnumerateMetafile(metafile, destPoints, count, srcRect, srcUnit, callback, callbackData, 0)
1757 End Function
1758
[212]1759 Function EnumerateMetafile(metafile As /*Const*/ Metafile, _
1760 destPoints As /*Const*/ *Point, count As Long, srcRect As /*Const*/ Rectangle, srcUnit As GraphicsUnit, _
1761 callback As EnumerateMetafileProc, callbackData As VoidPtr, imageAttributes As /*Const*/ ImageAttributes) As Status
[33]1762
1763 Dim nativeImage As /*Const*/ *GpMetafile
1764 If VarPtr(metafile) <> 0 Then
[104]1765 nativeImage = metafile.NativeImage
[33]1766 Else
1767 nativeImage = 0
1768 End If
1769 Dim nativeImageAttr As *GpImageAttributes
1770 If VarPtr(imageAttributes) <> 0 Then
[104]1771 nativeImageAttr = image.NativeImageAttr
[33]1772 Else
1773 nativeImageAttr = 0
1774 End If
1775
[104]1776 Return SetStatus(GdipEnumerateMetafileSrcRectDestPointsI(nativeGraphics, nativeImage, _
1777 destPoints, count, srcRect, srcUnit, callback, callbackData, nativeImageAttr))
[33]1778 End Function
1779
[212]1780 Function SetClip(g As /*Const*/ Graphics) As Status
[33]1781 Return SetClip(g, CombineMode.Replace)
1782 End Function
1783
[212]1784 Function SetClip(rc As /*Const*/ RectangleF) As Status
[33]1785 Return SetStatus(GdipSetClipRect(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, CombineMode.Replace))
1786 End Function
1787
[212]1788 Function SetClip(rc As /*Const*/ Rectangle) As Status
[33]1789 Return SetStatus(GdipSetClipRectI(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, CombineMode.Replace))
1790 End Function
1791
[212]1792 Function SetClip(path As /*Const*/ GraphicsPath) As Status
[33]1793 Return SetStatus(GdipSetClipPath(nativeGraphics, path->nativePath, CombineMode.Replace))
1794 End Function
1795
[212]1796 Function SetClip(region As /*Const*/ Region) As Status
[33]1797 Return SetStatus(GdipSetClipRegion(nativeGraphics, region->nativeRegion, CombineMode.Replace))
1798 End Function
1799
[212]1800 Function SetClip(g As /*Const*/ Graphics, combineMode As CombineMode) As Status
[33]1801 Return SetStatus(GdipSetClipGraphics(nativeGraphics, g->nativeGraphics, combineMode))
1802 End Function
1803
[212]1804 Function SetClip(rc As /*Const*/ RectangleF, combineMode As CombineMode) As Status
[33]1805 Return SetStatus(GdipSetClipRect(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, combineMode))
1806 End Function
1807
[212]1808 Function SetClip(rc As /*Const*/ Rectangle, combineMode As CombineMode) As Status
[33]1809 Return SetStatus(GdipSetClipRectI(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, combineMode))
1810 End Function
1811
[212]1812 Function SetClip(path As /*Const*/ GraphicsPath, combineMode As CombineMode) As Status
[33]1813 Return SetStatus(GdipSetClipPath(nativeGraphics, path->nativePath, combineMode))
1814 End Function
1815
[212]1816 Function SetClip(region As /*Const*/ Region, combineMode As CombineMode) As Status
[33]1817 Return SetStatus(GdipSetClipRegion(nativeGraphics, region->nativeRegion, combineMode))
1818 End Function
1819
1820 ' This is different than the other SetClip methods because it assumes
1821 ' that the HRGN is already in device units, so it doesn't transform
1822 ' the coordinates in the HRGN.
1823
1824 Function SetClip(hrgn As HRGN, combineMode As CombineMode /* = CombineModeReplace*/) As Status
1825 Return SetStatus(GdipSetClipHrgn(nativeGraphics, hrgn, combineMode))
1826 End Function
1827
[212]1828 Function IntersectClip(rc As /*Const*/ RectangleF) As Status
[33]1829 Return SetStatus(GdipSetClipRect(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, CombineMode.Intersect))
1830 End Function
1831
[212]1832 Function IntersectClip(rc As /*Const*/ Rectangle) As Status
[33]1833 Return SetStatus(GdipSetClipRectI(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, CombineMode.Intersect))
1834 End Function
1835
[212]1836 Function IntersectClip(region As /*Const*/ Region) As Status
[33]1837 Return SetStatus(GdipSetClipRegion(nativeGraphics, region->nativeRegion, CombineMode.Intersect))
1838 End Function
1839
[212]1840 Function ExcludeClip(rc As /*Const*/ RectangleF) As Status
[33]1841 Return SetStatus(GdipSetClipRect(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, CombineMode.Exclude))
1842 End Function
1843
[212]1844 Function ExcludeClip(rc As /*Const*/ Rectangle) As Status
[33]1845 Return SetStatus(GdipSetClipRectI(nativeGraphics, rc.X, rc.Y, rc.Width, rc.Height, CombineMode.Exclude))
1846 End Function
1847
[212]1848 Function ExcludeClip(region As /*Const*/ Region) As Status
[33]1849 Return SetStatus(GdipSetClipRegion(nativeGraphics, region->nativeRegion, CombineMode.Exclude))
1850 End Function
1851
1852 Function ResetClip() As Status
1853 Return SetStatus(GdipResetClip(nativeGraphics))
1854 End Function
1855
1856 Function TranslateClip(dx As Single, dy As Single) As Status
1857 Return SetStatus(GdipTranslateClip(nativeGraphics, dx, dy))
1858 End Function
1859
1860 Function TranslateClip(dx As Long, dy As Long) As Status
1861 Return SetStatus(GdipTranslateClipI(nativeGraphics, dx, dy))
1862 End Function
1863
[212]1864 Const Function GetClip(region As Region) As Status
[33]1865 Return SetStatus(GdipGetClip(nativeGraphics, region->nativeRegion))
1866 End Function
1867
[212]1868 Const Function GetClipBounds(rc As RectangleF) As Status
[33]1869 Return SetStatus(GdipGetClipBounds(nativeGraphics, rc))
1870 End Function
1871
[212]1872 Const Function GetClipBounds(rc As Rectangle) As Status
[33]1873 Return SetStatus(GdipGetClipBoundsI(nativeGraphics, rc))
1874 End Function
1875
[212]1876 Const Function GetVisibleClipBounds(rc As RectangleF) As Status
[33]1877 Return SetStatus(GdipGetVisibleClipBounds(nativeGraphics, rc))
1878 End Function
1879
[212]1880 Const Function GetVisibleClipBounds(rc As Rectangle) As Status
[33]1881 Return SetStatus(GdipGetVisibleClipBoundsI(nativeGraphics, rc))
1882 End Function
1883
1884 Const Function IsVisible(x As Long, y As Long) As BOOL
1885 Dim b = FALSE As BOOL
1886 SetStatus(GdipIsVisiblePointI(nativeGraphics, x, y, b))
1887 Return b
1888 End Function
1889
[212]1890 Const Function IsVisible(pt As /*Const*/ Point) As BOOL
[33]1891 Return IsVisible(pt.X, pt.Y)
1892 End Function
1893
1894 Const Function IsVisible(x As Long, y As Long, width As Long, height As Long) As BOOL
1895 Dim b = FALSE As BOOL
1896 SetStatus(GdipIsVisibleRectI(nativeGraphics, x, y, width, height, b))
1897 Return b
1898 End Function
1899
[212]1900 Const Function IsVisible(rc As /*Const*/ Rectangle) As BOOL
[33]1901 Return IsVisible(rc.X, rc.Y, rc.Width, rc.Height)
1902 End Function
1903
1904 Const Function IsVisible(x As Single, y As Single) As BOOL
1905 Dim b = FALSE As BOOL
1906 SetStatus(GdipIsVisiblePoint(nativeGraphics, x, y, b))
1907 Return b
1908 End Function
1909
[212]1910 Const Function IsVisible(point As /*Const*/ PointF) As BOOL
[33]1911 Return IsVisible(pt.X, pt.Y)
1912 End Function
1913
1914 Const Function IsVisible(x As Single, y As Single, width As Single, height As Single) As BOOL
1915 Dim b = FALSE As BOOL
1916 SetStatus(GdipIsVisibleRect(nativeGraphics, x, y, width, height, b))
1917 Return b
1918 End Function
1919
[212]1920 Const Function IsVisible(rect As /*Const*/ RectangleF) As BOOL
[33]1921 Return IsVisible(rc.X, rc.Y, rc.Width, rc.Height)
1922 End Function
1923
1924 Const Function Save() As GraphicsState
1925 Dim gstate As GraphicsState
1926 SetStatus(GdipSaveGraphics(nativeGraphics, state))
1927 Return gstate
1928 End Function
1929
1930 Function Restore(gstate As GraphicsState)
1931 Return SetStatus(GdipRestoreGraphics(nativeGraphics, gstate))
1932 End Function
1933
[212]1934 Function BeginContainer(dstrect As /*Const*/ RectangleF, srcrect As /*Const*/ RectangleF, unit As GraphicsUnit) As GraphicsContainer
[33]1935 Dim state As GraphicsContainer
1936 SetStatus(GdipBeginContainer(nativeGraphics, dstrect, srcrect, unit, state))
1937 Return state
1938 End Function
1939
[212]1940 Function BeginContainer(dstrect As /*Const*/ Rectangle, srcrect As /*Const*/ Rectangle, unit As GraphicsUnit) As GraphicsContainer
[33]1941 Dim state As GraphicsContainer
1942 SetStatus(GdipBeginContainerI(nativeGraphics, dstrect, srcrect, unit, state))
1943 Return state
1944 End Function
1945
1946 Function BeginContainer() As GraphicsContainer
1947 Dim state As GraphicsContainer
1948 SetStatus(GdipBeginContainer2(nativeGraphics, state))
1949 Return state
1950 End Function
1951
1952 Function EndContainer(state As GraphicsContainer) As Status
1953 Return SetStatus(GdipEndContainer(nativeGraphics, state))
1954 End Function
1955
1956 ' Only valid when recording metafiles.
1957
1958 Function AddMetafileComment(data As /*Const*/ *Byte, sizeData As DWord)
1959 Return SetStatus(GdipComment(nativeGraphics, sizeData, data))
1960 End Function
1961
1962 Static Function GetHalftonePalette() As HPALETTE
1963 Return GdipCreateHalftonePalette()
1964 End Function
1965
1966 Const Function GetLastStatus() As Status
1967 Dim lastStatus = lastResult
1968 lastResult = Status.Ok
1969 Return lastStatus
1970 End Function
1971
1972Private
[212]1973' Sub Graphics(gr As Graphics)
[104]1974' Debug
1975' End Sub
[212]1976 Sub Operator =(gr As Graphics)
[33]1977 Debug
1978 End Sub
1979
1980Protected
1981 Sub Graphics(graphics As *GpGraphics)
[104]1982 lastResult = Status.Ok
[33]1983 SetNativeGraphics(graphics)
1984 End Sub
1985
1986 Sub SetNativeGraphics(graphics As *GpGraphics)
1987 This.nativeGraphics = graphics
1988 End Sub
1989
1990 Const Function SetStatus(status As Status) As Status
1991 If status <> Status.Ok Then
1992 lastResult = status
1993 End If
1994 Return status
1995 End Function
1996
1997 Const Function GetNativeGraphics() As *GpGraphics
1998 Return This.nativeGraphics
1999 End Function
2000
[104]2001 Function GetNativePen(pen As /*Const*/ *Pen) As *GpPen
[33]2002 Return pen->nativePen
2003 End Function
2004
2005Protected
2006 nativeGraphics As *GpGraphics
2007 lastResult As /*Mutable*/ Status
2008End Class
2009
Note: See TracBrowser for help on using the repository browser.