source: trunk/ab5.0/ablib/src/Classes/System/Drawing/Graphics.ab@ 635

Last change on this file since 635 was 635, checked in by NoWest, 16 years ago

名前空間への入れ忘れの修正と
ConsoleクラスのResetColorのバグへ対応。
正しい動作かご確認ください。

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