1 #Region "Microsoft.VisualBasic::88173ab790525417587dd00a731087a4, Microsoft.VisualBasic.Core\Extensions\Image\GDI+\Interface.vb"
2
3     ' Author:
4     
5     '       asuka (amethyst.asuka@gcmodeller.org)
6     '       xie (genetics@smrucc.org)
7     '       xieguigang (xie.guigang@live.com)
8     
9     ' Copyright (c) 2018 GPL3 Licensed
10     
11     
12     ' GNU GENERAL PUBLIC LICENSE (GPL3)
13     
14     
15     ' This program is free software: you can redistribute it and/or modify
16     ' it under the terms of the GNU General Public License as published by
17     ' the Free Software Foundation, either version 3 of the License, or
18     ' (at your option) any later version.
19     
20     ' This program is distributed in the hope that it will be useful,
21     ' but WITHOUT ANY WARRANTY; without even the implied warranty of
22     ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23     ' GNU General Public License for more details.
24     
25     ' You should have received a copy of the GNU General Public License
26     ' along with this program. If not, see <http://www.gnu.org/licenses/>.
27
28
29
30     ' /********************************************************************************/
31
32     ' Summaries:
33
34     '     Class IGraphics
35     
36     '         Sub: FillPie, FillRectangle, Finalize
37     
38     
39     ' /********************************************************************************/
40
41 #End Region
42
43 #Region "Assembly System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
44 ' C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.Drawing.dll
45 #End Region
46
47 Imports System.ComponentModel
48 Imports System.Drawing
49 Imports System.Drawing.Drawing2D
50 Imports System.Drawing.Graphics
51 Imports System.Drawing.Imaging
52 Imports System.Drawing.Text
53 Imports System.Runtime.CompilerServices
54
55 Namespace Imaging
56
57     ''' <summary>
58     ''' Encapsulates a GDI+(bitmap, wmf)/SVG etc drawing surface. This class must be inherited.
59     ''' </summary>
60     Public MustInherit Class IGraphics
61         Implements IDisposable
62
63         Public MustOverride ReadOnly Property Size As Size
64
65         '
66         ' Summary:
67         '     Gets or sets a System.Drawing.Region that limits the drawing region of this System.Drawing.Graphics.
68         '
69         Returns:
70         '     A System.Drawing.Region that limits the portion of this System.Drawing.Graphics
71         '     that is currently available for drawing.
72         Public MustOverride Property Clip As Region
73         '
74         ' Summary:
75         '     Gets a System.Drawing.RectangleF structure that bounds the clipping region of
76         '     this System.Drawing.Graphics.
77         '
78         Returns:
79         '     A System.Drawing.RectangleF structure that represents a bounding rectangle for
80         '     the clipping region of this System.Drawing.Graphics.
81         Public MustOverride ReadOnly Property ClipBounds As RectangleF
82         '
83         ' Summary:
84         '     Gets a value that specifies how composited images are drawn to this System.Drawing.Graphics.
85         '
86         Returns:
87         '     This property specifies a member of the System.Drawing.Drawing2D.CompositingMode
88         '     enumeration. The default is System.Drawing.Drawing2D.CompositingMode.SourceOver.
89         Public MustOverride Property CompositingMode As CompositingMode
90         '
91         ' Summary:
92         '     Gets or sets the rendering quality of composited images drawn to this System.Drawing.Graphics.
93         '
94         Returns:
95         '     This property specifies a member of the System.Drawing.Drawing2D.CompositingQuality
96         '     enumeration. The default is System.Drawing.Drawing2D.CompositingQuality.Default.
97         Public MustOverride Property CompositingQuality As CompositingQuality
98         '
99         ' Summary:
100         '     Gets the horizontal resolution of this System.Drawing.Graphics.
101         '
102         Returns:
103         '     The value, in dots per inch, for the horizontal resolution supported by this
104         '     System.Drawing.Graphics.
105         Public MustOverride ReadOnly Property DpiX As Single
106         '
107         ' Summary:
108         '     Gets the vertical resolution of this System.Drawing.Graphics.
109         '
110         Returns:
111         '     The value, in dots per inch, for the vertical resolution supported by this System.Drawing.Graphics.
112         Public MustOverride ReadOnly Property DpiY As Single
113         '
114         ' Summary:
115         '     Gets or sets the interpolation mode associated with this System.Drawing.Graphics.
116         '
117         Returns:
118         '     One of the System.Drawing.Drawing2D.InterpolationMode values.
119         Public MustOverride Property InterpolationMode As InterpolationMode
120         '
121         ' Summary:
122         '     Gets a value indicating whether the clipping region of this System.Drawing.Graphics
123         '     is empty.
124         '
125         Returns:
126         '     true if the clipping region of this System.Drawing.Graphics is empty; otherwise,
127         '     false.
128         Public MustOverride ReadOnly Property IsClipEmpty As Boolean
129         '
130         ' Summary:
131         '     Gets a value indicating whether the visible clipping region of this System.Drawing.Graphics
132         '     is empty.
133         '
134         Returns:
135         '     true if the visible portion of the clipping region of this System.Drawing.Graphics
136         '     is empty; otherwise, false.
137         Public MustOverride ReadOnly Property IsVisibleClipEmpty As Boolean
138         '
139         ' Summary:
140         '     Gets or sets the scaling between world units and page units for this System.Drawing.Graphics.
141         '
142         Returns:
143         '     This property specifies a value for the scaling between world units and page
144         '     units for this System.Drawing.Graphics.
145         Public MustOverride Property PageScale As Single
146         '
147         ' Summary:
148         '     Gets or sets the unit of measure used for page coordinates in this System.Drawing.Graphics.
149         '
150         Returns:
151         '     One of the System.Drawing.GraphicsUnit values other than System.Drawing.GraphicsUnit.World.
152         '
153         ' Exceptions:
154         '   T:System.ComponentModel.InvalidEnumArgumentException:
155         '     System.Drawing.Graphics.PageUnit is set to System.Drawing.GraphicsUnit.World,
156         '     which is not a physical unit.
157         Public MustOverride Property PageUnit As GraphicsUnit
158         '
159         ' Summary:
160         '     Gets or set a value specifying how pixels are offset during rendering of this
161         '     System.Drawing.Graphics.
162         '
163         Returns:
164         '     This property specifies a member of the System.Drawing.Drawing2D.PixelOffsetMode
165         '     enumeration
166         Public MustOverride Property PixelOffsetMode As PixelOffsetMode
167         '
168         ' Summary:
169         '     Gets or sets the rendering origin of this System.Drawing.Graphics for dithering
170         '     and for hatch brushes.
171         '
172         Returns:
173         '     A System.Drawing.Point structure that represents the dither origin for 8-bits-per-pixel
174         '     and 16-bits-per-pixel dithering and is also used to set the origin for hatch
175         '     brushes.
176         Public MustOverride Property RenderingOrigin As Point
177         '
178         ' Summary:
179         '     Gets or sets the rendering quality for this System.Drawing.Graphics.
180         '
181         Returns:
182         '     One of the System.Drawing.Drawing2D.SmoothingMode values.
183         Public MustOverride Property SmoothingMode As SmoothingMode
184         '
185         ' Summary:
186         '     Gets or sets the gamma correction value for rendering text.
187         '
188         Returns:
189         '     The gamma correction value used for rendering antialiased and ClearType text.
190         Public MustOverride Property TextContrast As Integer
191         '
192         ' Summary:
193         '     Gets or sets the rendering mode for text associated with this System.Drawing.Graphics.
194         '
195         Returns:
196         '     One of the System.Drawing.Text.TextRenderingHint values.
197         Public MustOverride Property TextRenderingHint As TextRenderingHint
198         '
199         ' Summary:
200         '     Gets or sets a copy of the geometric world transformation for this System.Drawing.Graphics.
201         '
202         Returns:
203         '     A copy of the System.Drawing.Drawing2D.Matrix that represents the geometric world
204         '     transformation for this System.Drawing.Graphics.
205         Public MustOverride Property Transform As Matrix
206         '
207         ' Summary:
208         '     Gets the bounding rectangle of the visible clipping region of this System.Drawing.Graphics.
209         '
210         Returns:
211         '     A System.Drawing.RectangleF structure that represents a bounding rectangle for
212         '     the visible clipping region of this System.Drawing.Graphics.
213         Public MustOverride ReadOnly Property VisibleClipBounds As RectangleF
214
215         '
216         ' Summary:
217         '     Adds a comment to the current System.Drawing.Imaging.Metafile.
218         '
219         ' Parameters:
220         '   data:
221         '     Array of bytes that contains the comment.
222         Public MustOverride Sub AddMetafileComment(data() As Byte)
223         '
224         ' Summary:
225         '     Clears the entire drawing surface and fills it with the specified background
226         '     color.
227         '
228         ' Parameters:
229         '   color:
230         '     System.Drawing.Color structure that represents the background color of the drawing
231         '     surface.
232         Public MustOverride Sub Clear(color As Color)
233         '
234         ' Summary:
235         '     Performs a bit-block transfer of color data, corresponding to a rectangle of
236         '     pixels, from the screen to the drawing surface of the System.Drawing.Graphics.
237         '
238         ' Parameters:
239         '   upperLeftSource:
240         '     The point at the upper-left corner of the source rectangle.
241         '
242         '   upperLeftDestination:
243         '     The point at the upper-left corner of the destination rectangle.
244         '
245         '   blockRegionSize:
246         '     The size of the area to be transferred.
247         '
248         ' Exceptions:
249         '   T:System.ComponentModel.Win32Exception:
250         '     The operation failed.
251         Public MustOverride Sub CopyFromScreen(upperLeftSource As Point, upperLeftDestination As Point, blockRegionSize As Size)
252         '
253         ' Summary:
254         '     Performs a bit-block transfer of color data, corresponding to a rectangle of
255         '     pixels, from the screen to the drawing surface of the System.Drawing.Graphics.
256         '
257         ' Parameters:
258         '   upperLeftSource:
259         '     The point at the upper-left corner of the source rectangle.
260         '
261         '   upperLeftDestination:
262         '     The point at the upper-left corner of the destination rectangle.
263         '
264         '   blockRegionSize:
265         '     The size of the area to be transferred.
266         '
267         '   copyPixelOperation:
268         '     One of the System.Drawing.CopyPixelOperation values.
269         '
270         ' Exceptions:
271         '   T:System.ComponentModel.InvalidEnumArgumentException:
272         '     copyPixelOperation is not a member of System.Drawing.CopyPixelOperation.
273         '
274         '   T:System.ComponentModel.Win32Exception:
275         '     The operation failed.
276         Public MustOverride Sub CopyFromScreen(upperLeftSource As Point, upperLeftDestination As Point, blockRegionSize As Size, copyPixelOperation As CopyPixelOperation)
277         '
278         ' Summary:
279         '     Performs a bit-block transfer of the color data, corresponding to a rectangle
280         '     of pixels, from the screen to the drawing surface of the System.Drawing.Graphics.
281         '
282         ' Parameters:
283         '   sourceX:
284         '     The x-coordinate of the point at the upper-left corner of the source rectangle.
285         '
286         '   sourceY:
287         '     The y-coordinate of the point at the upper-left corner of the source rectangle.
288         '
289         '   destinationX:
290         '     The x-coordinate of the point at the upper-left corner of the destination rectangle.
291         '
292         '   destinationY:
293         '     The y-coordinate of the point at the upper-left corner of the destination rectangle.
294         '
295         '   blockRegionSize:
296         '     The size of the area to be transferred.
297         '
298         ' Exceptions:
299         '   T:System.ComponentModel.Win32Exception:
300         '     The operation failed.
301         Public MustOverride Sub CopyFromScreen(sourceX As Integer, sourceY As Integer, destinationX As Integer, destinationY As Integer, blockRegionSize As Size)
302         '
303         ' Summary:
304         '     Performs a bit-block transfer of the color data, corresponding to a rectangle
305         '     of pixels, from the screen to the drawing surface of the System.Drawing.Graphics.
306         '
307         ' Parameters:
308         '   sourceX:
309         '     The x-coordinate of the point at the upper-left corner of the source rectangle.
310         '
311         '   sourceY:
312         '     The y-coordinate of the point at the upper-left corner of the source rectangle
313         '
314         '   destinationX:
315         '     The x-coordinate of the point at the upper-left corner of the destination rectangle.
316         '
317         '   destinationY:
318         '     The y-coordinate of the point at the upper-left corner of the destination rectangle.
319         '
320         '   blockRegionSize:
321         '     The size of the area to be transferred.
322         '
323         '   copyPixelOperation:
324         '     One of the System.Drawing.CopyPixelOperation values.
325         '
326         ' Exceptions:
327         '   T:System.ComponentModel.InvalidEnumArgumentException:
328         '     copyPixelOperation is not a member of System.Drawing.CopyPixelOperation.
329         '
330         '   T:System.ComponentModel.Win32Exception:
331         '     The operation failed.
332         Public MustOverride Sub CopyFromScreen(sourceX As Integer, sourceY As Integer, destinationX As Integer, destinationY As Integer, blockRegionSize As Size, copyPixelOperation As CopyPixelOperation)
333         '
334         ' Summary:
335         '     Releases all resources used by this System.Drawing.Graphics.
336         Public MustOverride Sub Dispose() Implements IDisposable.Dispose
337         '
338         ' Summary:
339         '     Draws an arc representing a portion of an ellipse specified by a System.Drawing.RectangleF
340         '     structure.
341         '
342         ' Parameters:
343         '   pen:
344         '     System.Drawing.Pen that determines the color, width, and style of the arc.
345         '
346         '   rect:
347         '     System.Drawing.RectangleF structure that defines the boundaries of the ellipse.
348         '
349         '   startAngle:
350         '     Angle in degrees measured clockwise from the x-axis to the starting point of
351         '     the arc.
352         '
353         '   sweepAngle:
354         '     Angle in degrees measured clockwise from the startAngle parameter to ending point
355         '     of the arc.
356         '
357         ' Exceptions:
358         '   T:System.ArgumentNullException:
359         '     pen is null
360         Public MustOverride Sub DrawArc(pen As Pen, rect As RectangleF, startAngle As Single, sweepAngle As Single)
361         '
362         ' Summary:
363         '     Draws an arc representing a portion of an ellipse specified by a System.Drawing.Rectangle
364         '     structure.
365         '
366         ' Parameters:
367         '   pen:
368         '     System.Drawing.Pen that determines the color, width, and style of the arc.
369         '
370         '   rect:
371         '     System.Drawing.RectangleF structure that defines the boundaries of the ellipse.
372         '
373         '   startAngle:
374         '     Angle in degrees measured clockwise from the x-axis to the starting point of
375         '     the arc.
376         '
377         '   sweepAngle:
378         '     Angle in degrees measured clockwise from the startAngle parameter to ending point
379         '     of the arc.
380         '
381         ' Exceptions:
382         '   T:System.ArgumentNullException:
383         '     pen is null.
384         Public MustOverride Sub DrawArc(pen As Pen, rect As Rectangle, startAngle As Single, sweepAngle As Single)
385         '
386         ' Summary:
387         '     Draws an arc representing a portion of an ellipse specified by a pair of coordinates,
388         '     a width, and a height.
389         '
390         ' Parameters:
391         '   pen:
392         '     System.Drawing.Pen that determines the color, width, and style of the arc.
393         '
394         '   x:
395         '     The x-coordinate of the upper-left corner of the rectangle that defines the ellipse.
396         '
397         '   y:
398         '     The y-coordinate of the upper-left corner of the rectangle that defines the ellipse.
399         '
400         '   width:
401         '     Width of the rectangle that defines the ellipse.
402         '
403         '   height:
404         '     Height of the rectangle that defines the ellipse.
405         '
406         '   startAngle:
407         '     Angle in degrees measured clockwise from the x-axis to the starting point of
408         '     the arc.
409         '
410         '   sweepAngle:
411         '     Angle in degrees measured clockwise from the startAngle parameter to ending point
412         '     of the arc.
413         '
414         ' Exceptions:
415         '   T:System.ArgumentNullException:
416         '     pen is null.-or-rects is null.
417         '
418         '   T:System.ArgumentNullException:
419         '     rects is a zero-length array.
420         Public MustOverride Sub DrawArc(pen As Pen, x As Integer, y As Integer, width As Integer, height As Integer, startAngle As Integer, sweepAngle As Integer)
421         '
422         ' Summary:
423         '     Draws an arc representing a portion of an ellipse specified by a pair of coordinates,
424         '     a width, and a height.
425         '
426         ' Parameters:
427         '   pen:
428         '     System.Drawing.Pen that determines the color, width, and style of the arc.
429         '
430         '   x:
431         '     The x-coordinate of the upper-left corner of the rectangle that defines the ellipse.
432         '
433         '   y:
434         '     The y-coordinate of the upper-left corner of the rectangle that defines the ellipse.
435         '
436         '   width:
437         '     Width of the rectangle that defines the ellipse.
438         '
439         '   height:
440         '     Height of the rectangle that defines the ellipse.
441         '
442         '   startAngle:
443         '     Angle in degrees measured clockwise from the x-axis to the starting point of
444         '     the arc.
445         '
446         '   sweepAngle:
447         '     Angle in degrees measured clockwise from the startAngle parameter to ending point
448         '     of the arc.
449         '
450         ' Exceptions:
451         '   T:System.ArgumentNullException:
452         '     pen is null.
453         Public MustOverride Sub DrawArc(pen As Pen, x As Single, y As Single, width As Single, height As Single, startAngle As Single, sweepAngle As Single)
454         '
455         ' Summary:
456         '     Draws a Bézier spline defined by four System.Drawing.Point structures.
457         '
458         ' Parameters:
459         '   pen:
460         '     System.Drawing.Pen structure that determines the color, width, and style of the
461         '     curve.
462         '
463         '   pt1:
464         '     System.Drawing.Point structure that represents the starting point of the curve.
465         '
466         '   pt2:
467         '     System.Drawing.Point structure that represents the first control point for the
468         '     curve.
469         '
470         '   pt3:
471         '     System.Drawing.Point structure that represents the second control point for the
472         '     curve.
473         '
474         '   pt4:
475         '     System.Drawing.Point structure that represents the ending point of the curve.
476         '
477         ' Exceptions:
478         '   T:System.ArgumentNullException:
479         '     pen is null.
480         Public MustOverride Sub DrawBezier(pen As Pen, pt1 As Point, pt2 As Point, pt3 As Point, pt4 As Point)
481         '
482         ' Summary:
483         '     Draws a Bézier spline defined by four System.Drawing.PointF structures.
484         '
485         ' Parameters:
486         '   pen:
487         '     System.Drawing.Pen that determines the color, width, and style of the curve.
488         '
489         '   pt1:
490         '     System.Drawing.PointF structure that represents the starting point of the curve.
491         '
492         '   pt2:
493         '     System.Drawing.PointF structure that represents the first control point for the
494         '     curve.
495         '
496         '   pt3:
497         '     System.Drawing.PointF structure that represents the second control point for
498         '     the curve.
499         '
500         '   pt4:
501         '     System.Drawing.PointF structure that represents the ending point of the curve.
502         '
503         ' Exceptions:
504         '   T:System.ArgumentNullException:
505         '     pen is null.
506         Public MustOverride Sub DrawBezier(pen As Pen, pt1 As PointF, pt2 As PointF, pt3 As PointF, pt4 As PointF)
507         '
508         ' Summary:
509         '     Draws a Bézier spline defined by four ordered pairs of coordinates that represent
510         '     points.
511         '
512         ' Parameters:
513         '   pen:
514         '     System.Drawing.Pen that determines the color, width, and style of the curve.
515         '
516         '   x1:
517         '     The x-coordinate of the starting point of the curve.
518         '
519         '   y1:
520         '     The y-coordinate of the starting point of the curve.
521         '
522         '   x2:
523         '     The x-coordinate of the first control point of the curve.
524         '
525         '   y2:
526         '     The y-coordinate of the first control point of the curve.
527         '
528         '   x3:
529         '     The x-coordinate of the second control point of the curve.
530         '
531         '   y3:
532         '     The y-coordinate of the second control point of the curve.
533         '
534         '   x4:
535         '     The x-coordinate of the ending point of the curve.
536         '
537         '   y4:
538         '     The y-coordinate of the ending point of the curve.
539         '
540         ' Exceptions:
541         '   T:System.ArgumentNullException:
542         '     pen is null.
543         Public MustOverride Sub DrawBezier(pen As 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)
544         '
545         ' Summary:
546         '     Draws a series of Bézier splines from an array of System.Drawing.PointF structures.
547         '
548         ' Parameters:
549         '   pen:
550         '     System.Drawing.Pen that determines the color, width, and style of the curve.
551         '
552         '   points:
553         '     Array of System.Drawing.PointF structures that represent the points that determine
554         '     the curve. The number of points in the array should be a multiple of 3 plus 1,
555         '     such as 4, 7, or 10.
556         '
557         ' Exceptions:
558         '   T:System.ArgumentNullException:
559         '     pen is null.-or-points is null.
560         Public MustOverride Sub DrawBeziers(pen As Pen, points() As PointF)
561         '
562         ' Summary:
563         '     Draws a series of Bézier splines from an array of System.Drawing.Point structures.
564         '
565         ' Parameters:
566         '   pen:
567         '     System.Drawing.Pen that determines the color, width, and style of the curve.
568         '
569         '   points:
570         '     Array of System.Drawing.Point structures that represent the points that determine
571         '     the curve. The number of points in the array should be a multiple of 3 plus 1,
572         '     such as 4, 7, or 10.
573         '
574         ' Exceptions:
575         '   T:System.ArgumentNullException:
576         '     pen is null.-or-points is null.
577         Public MustOverride Sub DrawBeziers(pen As Pen, points() As Point)
578         '
579         ' Summary:
580         '     Draws a closed cardinal spline defined by an array of System.Drawing.Point structures.
581         '
582         ' Parameters:
583         '   pen:
584         '     System.Drawing.Pen that determines the color, width, and height of the curve.
585         '
586         '   points:
587         '     Array of System.Drawing.Point structures that define the spline.
588         '
589         ' Exceptions:
590         '   T:System.ArgumentNullException:
591         '     pen is null.-or-points is null.
592         Public MustOverride Sub DrawClosedCurve(pen As Pen, points() As Point)
593         '
594         ' Summary:
595         '     Draws a closed cardinal spline defined by an array of System.Drawing.PointF structures.
596         '
597         ' Parameters:
598         '   pen:
599         '     System.Drawing.Pen that determines the color, width, and height of the curve.
600         '
601         '   points:
602         '     Array of System.Drawing.PointF structures that define the spline.
603         '
604         ' Exceptions:
605         '   T:System.ArgumentNullException:
606         '     pen is null.-or-points is null.
607         Public MustOverride Sub DrawClosedCurve(pen As Pen, points() As PointF)
608         '
609         ' Summary:
610         '     Draws a closed cardinal spline defined by an array of System.Drawing.Point structures
611         '     using a specified tension.
612         '
613         ' Parameters:
614         '   pen:
615         '     System.Drawing.Pen that determines the color, width, and height of the curve.
616         '
617         '   points:
618         '     Array of System.Drawing.Point structures that define the spline.
619         '
620         '   tension:
621         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
622         '
623         '   fillmode:
624         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines how
625         '     the curve is filled. This parameter is required but ignored.
626         '
627         ' Exceptions:
628         '   T:System.ArgumentNullException:
629         '     pen is null.-or-points is null.
630         Public MustOverride Sub DrawClosedCurve(pen As Pen, points() As Point, tension As Single, fillmode As FillMode)
631         '
632         ' Summary:
633         '     Draws a closed cardinal spline defined by an array of System.Drawing.PointF structures
634         '     using a specified tension.
635         '
636         ' Parameters:
637         '   pen:
638         '     System.Drawing.Pen that determines the color, width, and height of the curve.
639         '
640         '   points:
641         '     Array of System.Drawing.PointF structures that define the spline.
642         '
643         '   tension:
644         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
645         '
646         '   fillmode:
647         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines how
648         '     the curve is filled. This parameter is required but is ignored.
649         '
650         ' Exceptions:
651         '   T:System.ArgumentNullException:
652         '     pen is null.-or-points is null.
653         Public MustOverride Sub DrawClosedCurve(pen As Pen, points() As PointF, tension As Single, fillmode As FillMode)
654         '
655         ' Summary:
656         '     Draws a cardinal spline through a specified array of System.Drawing.Point structures.
657         '
658         ' Parameters:
659         '   pen:
660         '     System.Drawing.Pen that determines the color, width, and height of the curve.
661         '
662         '   points:
663         '     Array of System.Drawing.Point structures that define the spline.
664         '
665         ' Exceptions:
666         '   T:System.ArgumentNullException:
667         '     pen is null.-or-points is null.
668         Public MustOverride Sub DrawCurve(pen As Pen, points() As Point)
669         '
670         ' Summary:
671         '     Draws a cardinal spline through a specified array of System.Drawing.PointF structures.
672         '
673         ' Parameters:
674         '   pen:
675         '     System.Drawing.Pen that determines the color, width, and style of the curve.
676         '
677         '   points:
678         '     Array of System.Drawing.PointF structures that define the spline.
679         '
680         ' Exceptions:
681         '   T:System.ArgumentNullException:
682         '     pen is null.-or-points is null.
683         Public MustOverride Sub DrawCurve(pen As Pen, points() As PointF)
684         '
685         ' Summary:
686         '     Draws a cardinal spline through a specified array of System.Drawing.PointF structures
687         '     using a specified tension.
688         '
689         ' Parameters:
690         '   pen:
691         '     System.Drawing.Pen that determines the color, width, and style of the curve.
692         '
693         '   points:
694         '     Array of System.Drawing.PointF structures that represent the points that define
695         '     the curve.
696         '
697         '   tension:
698         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
699         '
700         ' Exceptions:
701         '   T:System.ArgumentNullException:
702         '     pen is null.-or-points is null.
703         Public MustOverride Sub DrawCurve(pen As Pen, points() As PointF, tension As Single)
704         '
705         ' Summary:
706         '     Draws a cardinal spline through a specified array of System.Drawing.Point structures
707         '     using a specified tension.
708         '
709         ' Parameters:
710         '   pen:
711         '     System.Drawing.Pen that determines the color, width, and style of the curve.
712         '
713         '   points:
714         '     Array of System.Drawing.Point structures that define the spline.
715         '
716         '   tension:
717         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
718         '
719         ' Exceptions:
720         '   T:System.ArgumentNullException:
721         '     pen is null.-or-points is null.
722         Public MustOverride Sub DrawCurve(pen As Pen, points() As Point, tension As Single)
723         '
724         ' Summary:
725         '     Draws a cardinal spline through a specified array of System.Drawing.PointF structures.
726         '     The drawing begins offset from the beginning of the array.
727         '
728         ' Parameters:
729         '   pen:
730         '     System.Drawing.Pen that determines the color, width, and style of the curve.
731         '
732         '   points:
733         '     Array of System.Drawing.PointF structures that define the spline.
734         '
735         '   offset:
736         '     Offset from the first element in the array of the points parameter to the starting
737         '     point in the curve.
738         '
739         '   numberOfSegments:
740         '     Number of segments after the starting point to include in the curve.
741         '
742         ' Exceptions:
743         '   T:System.ArgumentNullException:
744         '     pen is null.-or-points is null.
745         Public MustOverride Sub DrawCurve(pen As Pen, points() As PointF, offset As Integer, numberOfSegments As Integer)
746         '
747         ' Summary:
748         '     Draws a cardinal spline through a specified array of System.Drawing.PointF structures
749         '     using a specified tension. The drawing begins offset from the beginning of the
750         '     array.
751         '
752         ' Parameters:
753         '   pen:
754         '     System.Drawing.Pen that determines the color, width, and style of the curve.
755         '
756         '   points:
757         '     Array of System.Drawing.PointF structures that define the spline.
758         '
759         '   offset:
760         '     Offset from the first element in the array of the points parameter to the starting
761         '     point in the curve.
762         '
763         '   numberOfSegments:
764         '     Number of segments after the starting point to include in the curve.
765         '
766         '   tension:
767         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
768         '
769         ' Exceptions:
770         '   T:System.ArgumentNullException:
771         '     pen is null.-or-points is null.
772         Public MustOverride Sub DrawCurve(pen As Pen, points() As PointF, offset As Integer, numberOfSegments As Integer, tension As Single)
773         '
774         ' Summary:
775         '     Draws a cardinal spline through a specified array of System.Drawing.Point structures
776         '     using a specified tension.
777         '
778         ' Parameters:
779         '   pen:
780         '     System.Drawing.Pen that determines the color, width, and style of the curve.
781         '
782         '   points:
783         '     Array of System.Drawing.Point structures that define the spline.
784         '
785         '   offset:
786         '     Offset from the first element in the array of the points parameter to the starting
787         '     point in the curve.
788         '
789         '   numberOfSegments:
790         '     Number of segments after the starting point to include in the curve.
791         '
792         '   tension:
793         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
794         '
795         ' Exceptions:
796         '   T:System.ArgumentNullException:
797         '     pen is null.-or-points is null.
798         Public MustOverride Sub DrawCurve(pen As Pen, points() As Point, offset As Integer, numberOfSegments As Integer, tension As Single)
799         '
800         ' Summary:
801         '     Draws an ellipse specified by a bounding System.Drawing.Rectangle structure.
802         '
803         ' Parameters:
804         '   pen:
805         '     System.Drawing.Pen that determines the color, width, and style of the ellipse.
806         '
807         '   rect:
808         '     System.Drawing.Rectangle structure that defines the boundaries of the ellipse.
809         '
810         ' Exceptions:
811         '   T:System.ArgumentNullException:
812         '     pen is null.
813         Public MustOverride Sub DrawEllipse(pen As Pen, rect As Rectangle)
814         '
815         ' Summary:
816         '     Draws an ellipse defined by a bounding System.Drawing.RectangleF.
817         '
818         ' Parameters:
819         '   pen:
820         '     System.Drawing.Pen that determines the color, width, and style of the ellipse.
821         '
822         '   rect:
823         '     System.Drawing.RectangleF structure that defines the boundaries of the ellipse.
824         '
825         ' Exceptions:
826         '   T:System.ArgumentNullException:
827         '     pen is null.
828         Public MustOverride Sub DrawEllipse(pen As Pen, rect As RectangleF)
829         '
830         ' Summary:
831         '     Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates,
832         '     a height, and a width.
833         '
834         ' Parameters:
835         '   pen:
836         '     System.Drawing.Pen that determines the color, width, and style of the ellipse.
837         '
838         '   x:
839         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
840         '     the ellipse.
841         '
842         '   y:
843         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
844         '     the ellipse.
845         '
846         '   width:
847         '     Width of the bounding rectangle that defines the ellipse.
848         '
849         '   height:
850         '     Height of the bounding rectangle that defines the ellipse.
851         '
852         ' Exceptions:
853         '   T:System.ArgumentNullException:
854         '     pen is null.
855         Public MustOverride Sub DrawEllipse(pen As Pen, x As Single, y As Single, width As Single, height As Single)
856         '
857         ' Summary:
858         '     Draws an ellipse defined by a bounding rectangle specified by coordinates for
859         '     the upper-left corner of the rectangle, a height, and a width.
860         '
861         ' Parameters:
862         '   pen:
863         '     System.Drawing.Pen that determines the color, width, and style of the ellipse.
864         '
865         '   x:
866         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
867         '     the ellipse.
868         '
869         '   y:
870         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
871         '     the ellipse.
872         '
873         '   width:
874         '     Width of the bounding rectangle that defines the ellipse.
875         '
876         '   height:
877         '     Height of the bounding rectangle that defines the ellipse.
878         '
879         ' Exceptions:
880         '   T:System.ArgumentNullException:
881         '     pen is null.
882         Public MustOverride Sub DrawEllipse(pen As Pen, x As Integer, y As Integer, width As Integer, height As Integer)
883         '
884         ' Summary:
885         '     Draws the image represented by the specified System.Drawing.Icon within the area
886         '     specified by a System.Drawing.Rectangle structure.
887         '
888         ' Parameters:
889         '   icon:
890         '     System.Drawing.Icon to draw.
891         '
892         '   targetRect:
893         '     System.Drawing.Rectangle structure that specifies the location and size of the
894         '     resulting image on the display surface. The image contained in the icon parameter
895         '     is scaled to the dimensions of this rectangular area.
896         '
897         ' Exceptions:
898         '   T:System.ArgumentNullException:
899         '     icon is null.
900         Public MustOverride Sub DrawIcon(icon As Icon, targetRect As Rectangle)
901         '
902         ' Summary:
903         '     Draws the image represented by the specified System.Drawing.Icon at the specified
904         '     coordinates.
905         '
906         ' Parameters:
907         '   icon:
908         '     System.Drawing.Icon to draw.
909         '
910         '   x:
911         '     The x-coordinate of the upper-left corner of the drawn image.
912         '
913         '   y:
914         '     The y-coordinate of the upper-left corner of the drawn image.
915         '
916         ' Exceptions:
917         '   T:System.ArgumentNullException:
918         '     icon is null.
919         Public MustOverride Sub DrawIcon(icon As Icon, x As Integer, y As Integer)
920         '
921         ' Summary:
922         '     Draws the image represented by the specified System.Drawing.Icon without scaling
923         '     the image.
924         '
925         ' Parameters:
926         '   icon:
927         '     System.Drawing.Icon to draw.
928         '
929         '   targetRect:
930         '     System.Drawing.Rectangle structure that specifies the location and size of the
931         '     resulting image. The image is not scaled to fit this rectangle, but retains its
932         '     original size. If the image is larger than the rectangle, it is clipped to fit
933         '     inside it.
934         '
935         ' Exceptions:
936         '   T:System.ArgumentNullException:
937         '     icon is null.
938         Public MustOverride Sub DrawIconUnstretched(icon As Icon, targetRect As Rectangle)
939         '
940         ' Summary:
941         '     Draws the specified System.Drawing.Image, using its original physical size, at
942         '     the specified location.
943         '
944         ' Parameters:
945         '   image:
946         '     System.Drawing.Image to draw.
947         '
948         '   point:
949         '     System.Drawing.Point structure that represents the location of the upper-left
950         '     corner of the drawn image.
951         '
952         ' Exceptions:
953         '   T:System.ArgumentNullException:
954         '     image is null.
955         Public MustOverride Sub DrawImage(image As Image, point As Point)
956         '
957         ' Summary:
958         '     Draws the specified System.Drawing.Image at the specified location and with the
959         '     specified shape and size.
960         '
961         ' Parameters:
962         '   image:
963         '     System.Drawing.Image to draw.
964         '
965         '   destPoints:
966         '     Array of three System.Drawing.Point structures that define a parallelogram.
967         '
968         ' Exceptions:
969         '   T:System.ArgumentNullException:
970         '     image is null.
971         Public MustOverride Sub DrawImage(image As Image, destPoints() As Point)
972         '
973         ' Summary:
974         '     Draws the specified System.Drawing.Image at the specified location and with the
975         '     specified shape and size.
976         '
977         ' Parameters:
978         '   image:
979         '     System.Drawing.Image to draw.
980         '
981         '   destPoints:
982         '     Array of three System.Drawing.PointF structures that define a parallelogram.
983         '
984         ' Exceptions:
985         '   T:System.ArgumentNullException:
986         '     image is null.
987         Public MustOverride Sub DrawImage(image As Image, destPoints() As PointF)
988         '
989         ' Summary:
990         '     Draws the specified System.Drawing.Image at the specified location and with the
991         '     specified size.
992         '
993         ' Parameters:
994         '   image:
995         '     System.Drawing.Image to draw.
996         '
997         '   rect:
998         '     System.Drawing.Rectangle structure that specifies the location and size of the
999         '     drawn image.
1000         '
1001         ' Exceptions:
1002         '   T:System.ArgumentNullException:
1003         '     image is null.
1004         Public MustOverride Sub DrawImage(image As Image, rect As Rectangle)
1005         '
1006         ' Summary:
1007         '     Draws the specified System.Drawing.Image, using its original physical size, at
1008         '     the specified location.
1009         '
1010         ' Parameters:
1011         '   image:
1012         '     System.Drawing.Image to draw.
1013         '
1014         '   point:
1015         '     System.Drawing.PointF structure that represents the upper-left corner of the
1016         '     drawn image.
1017         '
1018         ' Exceptions:
1019         '   T:System.ArgumentNullException:
1020         '     image is null.
1021         Public MustOverride Sub DrawImage(image As Image, point As PointF)
1022         '
1023         ' Summary:
1024         '     Draws the specified System.Drawing.Image at the specified location and with the
1025         '     specified size.
1026         '
1027         ' Parameters:
1028         '   image:
1029         '     System.Drawing.Image to draw.
1030         '
1031         '   rect:
1032         '     System.Drawing.RectangleF structure that specifies the location and size of the
1033         '     drawn image.
1034         '
1035         ' Exceptions:
1036         '   T:System.ArgumentNullException:
1037         '     image is null.
1038         Public MustOverride Sub DrawImage(image As Image, rect As RectangleF)
1039         '
1040         ' Summary:
1041         '     Draws the specified image, using its original physical size, at the location
1042         '     specified by a coordinate pair.
1043         '
1044         ' Parameters:
1045         '   image:
1046         '     System.Drawing.Image to draw.
1047         '
1048         '   x:
1049         '     The x-coordinate of the upper-left corner of the drawn image.
1050         '
1051         '   y:
1052         '     The y-coordinate of the upper-left corner of the drawn image.
1053         '
1054         ' Exceptions:
1055         '   T:System.ArgumentNullException:
1056         '     image is null.
1057         Public MustOverride Sub DrawImage(image As Image, x As Integer, y As Integer)
1058         '
1059         ' Summary:
1060         '     Draws the specified System.Drawing.Image, using its original physical size, at
1061         '     the specified location.
1062         '
1063         ' Parameters:
1064         '   image:
1065         '     System.Drawing.Image to draw.
1066         '
1067         '   x:
1068         '     The x-coordinate of the upper-left corner of the drawn image.
1069         '
1070         '   y:
1071         '     The y-coordinate of the upper-left corner of the drawn image.
1072         '
1073         ' Exceptions:
1074         '   T:System.ArgumentNullException:
1075         '     image is null.
1076         Public MustOverride Sub DrawImage(image As Image, x As Single, y As Single)
1077         '
1078         ' Summary:
1079         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1080         '     location and with the specified size.
1081         '
1082         ' Parameters:
1083         '   image:
1084         '     System.Drawing.Image to draw.
1085         '
1086         '   destRect:
1087         '     System.Drawing.RectangleF structure that specifies the location and size of the
1088         '     drawn image. The image is scaled to fit the rectangle.
1089         '
1090         '   srcRect:
1091         '     System.Drawing.RectangleF structure that specifies the portion of the image object
1092         '     to draw.
1093         '
1094         '   srcUnit:
1095         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1096         '     of measure used by the srcRect parameter.
1097         '
1098         ' Exceptions:
1099         '   T:System.ArgumentNullException:
1100         '     image is null.
1101         Public MustOverride Sub DrawImage(image As Image, destRect As RectangleF, srcRect As RectangleF, srcUnit As GraphicsUnit)
1102         '
1103         ' Summary:
1104         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1105         '     location and with the specified size.
1106         '
1107         ' Parameters:
1108         '   image:
1109         '     System.Drawing.Image to draw.
1110         '
1111         '   destRect:
1112         '     System.Drawing.Rectangle structure that specifies the location and size of the
1113         '     drawn image. The image is scaled to fit the rectangle.
1114         '
1115         '   srcRect:
1116         '     System.Drawing.Rectangle structure that specifies the portion of the image object
1117         '     to draw.
1118         '
1119         '   srcUnit:
1120         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1121         '     of measure used by the srcRect parameter.
1122         '
1123         ' Exceptions:
1124         '   T:System.ArgumentNullException:
1125         '     image is null.
1126         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcRect As Rectangle, srcUnit As GraphicsUnit)
1127         '
1128         ' Summary:
1129         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1130         '     location and with the specified size.
1131         '
1132         ' Parameters:
1133         '   image:
1134         '     System.Drawing.Image to draw.
1135         '
1136         '   destPoints:
1137         '     Array of three System.Drawing.PointF structures that define a parallelogram.
1138         '
1139         '   srcRect:
1140         '     System.Drawing.RectangleF structure that specifies the portion of the image object
1141         '     to draw.
1142         '
1143         '   srcUnit:
1144         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1145         '     of measure used by the srcRect parameter.
1146         '
1147         ' Exceptions:
1148         '   T:System.ArgumentNullException:
1149         '     image is null.
1150         Public MustOverride Sub DrawImage(image As Image, destPoints() As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit)
1151         '
1152         ' Summary:
1153         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1154         '     location and with the specified size.
1155         '
1156         ' Parameters:
1157         '   image:
1158         '     System.Drawing.Image to draw.
1159         '
1160         '   destPoints:
1161         '     Array of three System.Drawing.Point structures that define a parallelogram.
1162         '
1163         '   srcRect:
1164         '     System.Drawing.Rectangle structure that specifies the portion of the image object
1165         '     to draw.
1166         '
1167         '   srcUnit:
1168         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1169         '     of measure used by the srcRect parameter.
1170         '
1171         ' Exceptions:
1172         '   T:System.ArgumentNullException:
1173         '     image is null.
1174         Public MustOverride Sub DrawImage(image As Image, destPoints() As Point, srcRect As Rectangle, srcUnit As GraphicsUnit)
1175         '
1176         ' Summary:
1177         '     Draws the specified System.Drawing.Image at the specified location and with the
1178         '     specified size.
1179         '
1180         ' Parameters:
1181         '   image:
1182         '     System.Drawing.Image to draw.
1183         '
1184         '   x:
1185         '     The x-coordinate of the upper-left corner of the drawn image.
1186         '
1187         '   y:
1188         '     The y-coordinate of the upper-left corner of the drawn image.
1189         '
1190         '   width:
1191         '     Width of the drawn image.
1192         '
1193         '   height:
1194         '     Height of the drawn image.
1195         '
1196         ' Exceptions:
1197         '   T:System.ArgumentNullException:
1198         '     image is null.
1199         Public MustOverride Sub DrawImage(image As Image, x As Single, y As Single, width As Single, height As Single)
1200         '
1201         ' Summary:
1202         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1203         '     location.
1204         '
1205         ' Parameters:
1206         '   image:
1207         '     System.Drawing.Image to draw.
1208         '
1209         '   destPoints:
1210         '     Array of three System.Drawing.Point structures that define a parallelogram.
1211         '
1212         '   srcRect:
1213         '     System.Drawing.Rectangle structure that specifies the portion of the image object
1214         '     to draw.
1215         '
1216         '   srcUnit:
1217         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1218         '     of measure used by the srcRect parameter.
1219         '
1220         '   imageAttr:
1221         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1222         '     for the image object.
1223         '
1224         ' Exceptions:
1225         '   T:System.ArgumentNullException:
1226         '     image is null.
1227         Public MustOverride Sub DrawImage(image As Image, destPoints() As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)
1228         '
1229         ' Summary:
1230         '     Draws the specified System.Drawing.Image at the specified location and with the
1231         '     specified size.
1232         '
1233         ' Parameters:
1234         '   image:
1235         '     System.Drawing.Image to draw.
1236         '
1237         '   x:
1238         '     The x-coordinate of the upper-left corner of the drawn image.
1239         '
1240         '   y:
1241         '     The y-coordinate of the upper-left corner of the drawn image.
1242         '
1243         '   width:
1244         '     Width of the drawn image.
1245         '
1246         '   height:
1247         '     Height of the drawn image.
1248         '
1249         ' Exceptions:
1250         '   T:System.ArgumentNullException:
1251         '     image is null.
1252         Public MustOverride Sub DrawImage(image As Image, x As Integer, y As Integer, width As Integer, height As Integer)
1253         '
1254         ' Summary:
1255         '     Draws a portion of an image at a specified location.
1256         '
1257         ' Parameters:
1258         '   image:
1259         '     System.Drawing.Image to draw.
1260         '
1261         '   x:
1262         '     The x-coordinate of the upper-left corner of the drawn image.
1263         '
1264         '   y:
1265         '     The y-coordinate of the upper-left corner of the drawn image.
1266         '
1267         '   srcRect:
1268         '     System.Drawing.RectangleF structure that specifies the portion of the System.Drawing.Image
1269         '     to draw.
1270         '
1271         '   srcUnit:
1272         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1273         '     of measure used by the srcRect parameter.
1274         '
1275         ' Exceptions:
1276         '   T:System.ArgumentNullException:
1277         '     image is null.
1278         Public MustOverride Sub DrawImage(image As Image, x As Single, y As Single, srcRect As RectangleF, srcUnit As GraphicsUnit)
1279         '
1280         ' Summary:
1281         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1282         '     location and with the specified size.
1283         '
1284         ' Parameters:
1285         '   image:
1286         '     System.Drawing.Image to draw.
1287         '
1288         '   destPoints:
1289         '     Array of three System.Drawing.PointF structures that define a parallelogram.
1290         '
1291         '   srcRect:
1292         '     System.Drawing.RectangleF structure that specifies the portion of the image object
1293         '     to draw.
1294         '
1295         '   srcUnit:
1296         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1297         '     of measure used by the srcRect parameter.
1298         '
1299         '   imageAttr:
1300         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1301         '     for the image object.
1302         '
1303         ' Exceptions:
1304         '   T:System.ArgumentNullException:
1305         '     image is null.
1306         Public MustOverride Sub DrawImage(image As Image, destPoints() As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)
1307         '
1308         ' Summary:
1309         '     Draws a portion of an image at a specified location.
1310         '
1311         ' Parameters:
1312         '   image:
1313         '     System.Drawing.Image to draw.
1314         '
1315         '   x:
1316         '     The x-coordinate of the upper-left corner of the drawn image.
1317         '
1318         '   y:
1319         '     The y-coordinate of the upper-left corner of the drawn image.
1320         '
1321         '   srcRect:
1322         '     System.Drawing.Rectangle structure that specifies the portion of the image object
1323         '     to draw.
1324         '
1325         '   srcUnit:
1326         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1327         '     of measure used by the srcRect parameter.
1328         '
1329         ' Exceptions:
1330         '   T:System.ArgumentNullException:
1331         '     image is null.
1332         Public MustOverride Sub DrawImage(image As Image, x As Integer, y As Integer, srcRect As Rectangle, srcUnit As GraphicsUnit)
1333         '
1334         ' Summary:
1335         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1336         '     location and with the specified size.
1337         '
1338         ' Parameters:
1339         '   image:
1340         '     System.Drawing.Image to draw.
1341         '
1342         '   destPoints:
1343         '     Array of three System.Drawing.PointF structures that define a parallelogram.
1344         '
1345         '   srcRect:
1346         '     System.Drawing.Rectangle structure that specifies the portion of the image object
1347         '     to draw.
1348         '
1349         '   srcUnit:
1350         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1351         '     of measure used by the srcRect parameter.
1352         '
1353         '   imageAttr:
1354         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1355         '     for the image object.
1356         '
1357         '   callback:
1358         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1359         '     during the drawing of the image. This method is called frequently to check whether
1360         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort)
1361         '     method according to application-determined criteria.
1362         '
1363         ' Exceptions:
1364         '   T:System.ArgumentNullException:
1365         '     image is null.
1366         Public MustOverride Sub DrawImage(image As Image, destPoints() As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As DrawImageAbort)
1367         '
1368         ' Summary:
1369         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1370         '     location and with the specified size.
1371         '
1372         ' Parameters:
1373         '   image:
1374         '     System.Drawing.Image to draw.
1375         '
1376         '   destPoints:
1377         '     Array of three System.Drawing.PointF structures that define a parallelogram.
1378         '
1379         '   srcRect:
1380         '     System.Drawing.RectangleF structure that specifies the portion of the image object
1381         '     to draw.
1382         '
1383         '   srcUnit:
1384         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1385         '     of measure used by the srcRect parameter.
1386         '
1387         '   imageAttr:
1388         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1389         '     for the image object.
1390         '
1391         '   callback:
1392         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1393         '     during the drawing of the image. This method is called frequently to check whether
1394         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort)
1395         '     method according to application-determined criteria.
1396         '
1397         ' Exceptions:
1398         '   T:System.ArgumentNullException:
1399         '     image is null.
1400         Public MustOverride Sub DrawImage(image As Image, destPoints() As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As DrawImageAbort)
1401         '
1402         ' Summary:
1403         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1404         '     location and with the specified size.
1405         '
1406         ' Parameters:
1407         '   image:
1408         '     System.Drawing.Image to draw.
1409         '
1410         '   destPoints:
1411         '     Array of three System.Drawing.PointF structures that define a parallelogram.
1412         '
1413         '   srcRect:
1414         '     System.Drawing.Rectangle structure that specifies the portion of the image object
1415         '     to draw.
1416         '
1417         '   srcUnit:
1418         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1419         '     of measure used by the srcRect parameter.
1420         '
1421         '   imageAttr:
1422         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1423         '     for the image object.
1424         '
1425         '   callback:
1426         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1427         '     during the drawing of the image. This method is called frequently to check whether
1428         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32)
1429         '     method according to application-determined criteria.
1430         '
1431         '   callbackData:
1432         '     Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort
1433         '     delegate to use when checking whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32)
1434         '     method.
1435         Public MustOverride Sub DrawImage(image As Image, destPoints() As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As DrawImageAbort, callbackData As Integer)
1436         '
1437         ' Summary:
1438         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1439         '     location and with the specified size.
1440         '
1441         ' Parameters:
1442         '   image:
1443         '     System.Drawing.Image to draw.
1444         '
1445         '   destRect:
1446         '     System.Drawing.Rectangle structure that specifies the location and size of the
1447         '     drawn image. The image is scaled to fit the rectangle.
1448         '
1449         '   srcX:
1450         '     The x-coordinate of the upper-left corner of the portion of the source image
1451         '     to draw.
1452         '
1453         '   srcY:
1454         '     The y-coordinate of the upper-left corner of the portion of the source image
1455         '     to draw.
1456         '
1457         '   srcWidth:
1458         '     Width of the portion of the source image to draw.
1459         '
1460         '   srcHeight:
1461         '     Height of the portion of the source image to draw.
1462         '
1463         '   srcUnit:
1464         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1465         '     of measure used to determine the source rectangle.
1466         '
1467         ' Exceptions:
1468         '   T:System.ArgumentNullException:
1469         '     image is null.
1470         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit)
1471         '
1472         ' Summary:
1473         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1474         '     location and with the specified size.
1475         '
1476         ' Parameters:
1477         '   image:
1478         '     System.Drawing.Image to draw.
1479         '
1480         '   destRect:
1481         '     System.Drawing.Rectangle structure that specifies the location and size of the
1482         '     drawn image. The image is scaled to fit the rectangle.
1483         '
1484         '   srcX:
1485         '     The x-coordinate of the upper-left corner of the portion of the source image
1486         '     to draw.
1487         '
1488         '   srcY:
1489         '     The y-coordinate of the upper-left corner of the portion of the source image
1490         '     to draw.
1491         '
1492         '   srcWidth:
1493         '     Width of the portion of the source image to draw.
1494         '
1495         '   srcHeight:
1496         '     Height of the portion of the source image to draw.
1497         '
1498         '   srcUnit:
1499         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1500         '     of measure used to determine the source rectangle.
1501         '
1502         ' Exceptions:
1503         '   T:System.ArgumentNullException:
1504         '     image is null.
1505         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit)
1506         '
1507         ' Summary:
1508         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1509         '     location and with the specified size.
1510         '
1511         ' Parameters:
1512         '   image:
1513         '     System.Drawing.Image to draw.
1514         '
1515         '   destPoints:
1516         '     Array of three System.Drawing.PointF structures that define a parallelogram.
1517         '
1518         '   srcRect:
1519         '     System.Drawing.RectangleF structure that specifies the portion of the image object
1520         '     to draw.
1521         '
1522         '   srcUnit:
1523         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1524         '     of measure used by the srcRect parameter.
1525         '
1526         '   imageAttr:
1527         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1528         '     for the image object.
1529         '
1530         '   callback:
1531         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1532         '     during the drawing of the image. This method is called frequently to check whether
1533         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32)
1534         '     method according to application-determined criteria.
1535         '
1536         '   callbackData:
1537         '     Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort
1538         '     delegate to use when checking whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32)
1539         '     method.
1540         '
1541         ' Exceptions:
1542         '   T:System.ArgumentNullException:
1543         '     image is null.
1544         Public MustOverride Sub DrawImage(image As Image, destPoints() As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As DrawImageAbort, callbackData As Integer)
1545         '
1546         ' Summary:
1547         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1548         '     location and with the specified size.
1549         '
1550         ' Parameters:
1551         '   image:
1552         '     System.Drawing.Image to draw.
1553         '
1554         '   destRect:
1555         '     System.Drawing.Rectangle structure that specifies the location and size of the
1556         '     drawn image. The image is scaled to fit the rectangle.
1557         '
1558         '   srcX:
1559         '     The x-coordinate of the upper-left corner of the portion of the source image
1560         '     to draw.
1561         '
1562         '   srcY:
1563         '     The y-coordinate of the upper-left corner of the portion of the source image
1564         '     to draw.
1565         '
1566         '   srcWidth:
1567         '     Width of the portion of the source image to draw.
1568         '
1569         '   srcHeight:
1570         '     Height of the portion of the source image to draw.
1571         '
1572         '   srcUnit:
1573         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1574         '     of measure used to determine the source rectangle.
1575         '
1576         '   imageAttrs:
1577         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1578         '     for the image object.
1579         '
1580         ' Exceptions:
1581         '   T:System.ArgumentNullException:
1582         '     image is null.
1583         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes)
1584         '
1585         ' Summary:
1586         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1587         '     location and with the specified size.
1588         '
1589         ' Parameters:
1590         '   image:
1591         '     System.Drawing.Image to draw.
1592         '
1593         '   destRect:
1594         '     System.Drawing.Rectangle structure that specifies the location and size of the
1595         '     drawn image. The image is scaled to fit the rectangle.
1596         '
1597         '   srcX:
1598         '     The x-coordinate of the upper-left corner of the portion of the source image
1599         '     to draw.
1600         '
1601         '   srcY:
1602         '     The y-coordinate of the upper-left corner of the portion of the source image
1603         '     to draw.
1604         '
1605         '   srcWidth:
1606         '     Width of the portion of the source image to draw.
1607         '
1608         '   srcHeight:
1609         '     Height of the portion of the source image to draw.
1610         '
1611         '   srcUnit:
1612         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1613         '     of measure used to determine the source rectangle.
1614         '
1615         '   imageAttr:
1616         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1617         '     for the image object.
1618         '
1619         ' Exceptions:
1620         '   T:System.ArgumentNullException:
1621         '     image is null.
1622         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)
1623         '
1624         ' Summary:
1625         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1626         '     location and with the specified size.
1627         '
1628         ' Parameters:
1629         '   image:
1630         '     System.Drawing.Image to draw.
1631         '
1632         '   destRect:
1633         '     System.Drawing.Rectangle structure that specifies the location and size of the
1634         '     drawn image. The image is scaled to fit the rectangle.
1635         '
1636         '   srcX:
1637         '     The x-coordinate of the upper-left corner of the portion of the source image
1638         '     to draw.
1639         '
1640         '   srcY:
1641         '     The y-coordinate of the upper-left corner of the portion of the source image
1642         '     to draw.
1643         '
1644         '   srcWidth:
1645         '     Width of the portion of the source image to draw.
1646         '
1647         '   srcHeight:
1648         '     Height of the portion of the source image to draw.
1649         '
1650         '   srcUnit:
1651         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1652         '     of measure used to determine the source rectangle.
1653         '
1654         '   imageAttr:
1655         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1656         '     for image.
1657         '
1658         '   callback:
1659         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1660         '     during the drawing of the image. This method is called frequently to check whether
1661         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort)
1662         '     method according to application-determined criteria.
1663         '
1664         ' Exceptions:
1665         '   T:System.ArgumentNullException:
1666         '     image is null.
1667         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As DrawImageAbort)
1668         '
1669         ' Summary:
1670         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1671         '     location and with the specified size.
1672         '
1673         ' Parameters:
1674         '   image:
1675         '     System.Drawing.Image to draw.
1676         '
1677         '   destRect:
1678         '     System.Drawing.Rectangle structure that specifies the location and size of the
1679         '     drawn image. The image is scaled to fit the rectangle.
1680         '
1681         '   srcX:
1682         '     The x-coordinate of the upper-left corner of the portion of the source image
1683         '     to draw.
1684         '
1685         '   srcY:
1686         '     The y-coordinate of the upper-left corner of the portion of the source image
1687         '     to draw.
1688         '
1689         '   srcWidth:
1690         '     Width of the portion of the source image to draw.
1691         '
1692         '   srcHeight:
1693         '     Height of the portion of the source image to draw.
1694         '
1695         '   srcUnit:
1696         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1697         '     of measure used to determine the source rectangle.
1698         '
1699         '   imageAttrs:
1700         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1701         '     for the image object.
1702         '
1703         '   callback:
1704         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1705         '     during the drawing of the image. This method is called frequently to check whether
1706         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort)
1707         '     method according to application-determined criteria.
1708         '
1709         ' Exceptions:
1710         '   T:System.ArgumentNullException:
1711         '     image is null.
1712         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As DrawImageAbort)
1713         '
1714         ' Summary:
1715         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1716         '     location and with the specified size.
1717         '
1718         ' Parameters:
1719         '   image:
1720         '     System.Drawing.Image to draw.
1721         '
1722         '   destRect:
1723         '     System.Drawing.Rectangle structure that specifies the location and size of the
1724         '     drawn image. The image is scaled to fit the rectangle.
1725         '
1726         '   srcX:
1727         '     The x-coordinate of the upper-left corner of the portion of the source image
1728         '     to draw.
1729         '
1730         '   srcY:
1731         '     The y-coordinate of the upper-left corner of the portion of the source image
1732         '     to draw.
1733         '
1734         '   srcWidth:
1735         '     Width of the portion of the source image to draw.
1736         '
1737         '   srcHeight:
1738         '     Height of the portion of the source image to draw.
1739         '
1740         '   srcUnit:
1741         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1742         '     of measure used to determine the source rectangle.
1743         '
1744         '   imageAttrs:
1745         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1746         '     for the image object.
1747         '
1748         '   callback:
1749         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1750         '     during the drawing of the image. This method is called frequently to check whether
1751         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.IntPtr)
1752         '     method according to application-determined criteria.
1753         '
1754         '   callbackData:
1755         '     Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort
1756         '     delegate to use when checking whether to stop execution of the DrawImage method.
1757         '
1758         ' Exceptions:
1759         '   T:System.ArgumentNullException:
1760         '     image is null.
1761         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As DrawImageAbort, callbackData As IntPtr)
1762         '
1763         ' Summary:
1764         '     Draws the specified portion of the specified System.Drawing.Image at the specified
1765         '     location and with the specified size.
1766         '
1767         ' Parameters:
1768         '   image:
1769         '     System.Drawing.Image to draw.
1770         '
1771         '   destRect:
1772         '     System.Drawing.Rectangle structure that specifies the location and size of the
1773         '     drawn image. The image is scaled to fit the rectangle.
1774         '
1775         '   srcX:
1776         '     The x-coordinate of the upper-left corner of the portion of the source image
1777         '     to draw.
1778         '
1779         '   srcY:
1780         '     The y-coordinate of the upper-left corner of the portion of the source image
1781         '     to draw.
1782         '
1783         '   srcWidth:
1784         '     Width of the portion of the source image to draw.
1785         '
1786         '   srcHeight:
1787         '     Height of the portion of the source image to draw.
1788         '
1789         '   srcUnit:
1790         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the units
1791         '     of measure used to determine the source rectangle.
1792         '
1793         '   imageAttrs:
1794         '     System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma information
1795         '     for the image object.
1796         '
1797         '   callback:
1798         '     System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to call
1799         '     during the drawing of the image. This method is called frequently to check whether
1800         '     to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.IntPtr)
1801         '     method according to application-determined criteria.
1802         '
1803         '   callbackData:
1804         '     Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort
1805         '     delegate to use when checking whether to stop execution of the DrawImage method.
1806         '
1807         ' Exceptions:
1808         '   T:System.ArgumentNullException:
1809         '     image is null.
1810         Public MustOverride Sub DrawImage(image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As DrawImageAbort, callbackData As IntPtr)
1811         '
1812         ' Summary:
1813         '     Draws a specified image using its original physical size at a specified location.
1814         '
1815         ' Parameters:
1816         '   image:
1817         '     System.Drawing.Image to draw.
1818         '
1819         '   rect:
1820         '     System.Drawing.Rectangle that specifies the upper-left corner of the drawn image.
1821         '     The X and Y properties of the rectangle specify the upper-left corner. The Width
1822         '     and Height properties are ignored.
1823         '
1824         ' Exceptions:
1825         '   T:System.ArgumentNullException:
1826         '     image is null.
1827         Public MustOverride Sub DrawImageUnscaled(image As Image, rect As Rectangle)
1828         '
1829         ' Summary:
1830         '     Draws a specified image using its original physical size at a specified location.
1831         '
1832         ' Parameters:
1833         '   image:
1834         '     System.Drawing.Image to draw.
1835         '
1836         '   point:
1837         '     System.Drawing.Point structure that specifies the upper-left corner of the drawn
1838         '     image.
1839         '
1840         ' Exceptions:
1841         '   T:System.ArgumentNullException:
1842         '     image is null.
1843         Public MustOverride Sub DrawImageUnscaled(image As Image, point As Point)
1844         '
1845         ' Summary:
1846         '     Draws the specified image using its original physical size at the location specified
1847         '     by a coordinate pair.
1848         '
1849         ' Parameters:
1850         '   image:
1851         '     System.Drawing.Image to draw.
1852         '
1853         '   x:
1854         '     The x-coordinate of the upper-left corner of the drawn image.
1855         '
1856         '   y:
1857         '     The y-coordinate of the upper-left corner of the drawn image.
1858         '
1859         ' Exceptions:
1860         '   T:System.ArgumentNullException:
1861         '     image is null.
1862         Public MustOverride Sub DrawImageUnscaled(image As Image, x As Integer, y As Integer)
1863         '
1864         ' Summary:
1865         '     Draws a specified image using its original physical size at a specified location.
1866         '
1867         ' Parameters:
1868         '   image:
1869         '     System.Drawing.Image to draw.
1870         '
1871         '   x:
1872         '     The x-coordinate of the upper-left corner of the drawn image.
1873         '
1874         '   y:
1875         '     The y-coordinate of the upper-left corner of the drawn image.
1876         '
1877         '   width:
1878         '     Not used.
1879         '
1880         '   height:
1881         '     Not used.
1882         '
1883         ' Exceptions:
1884         '   T:System.ArgumentNullException:
1885         '     image is null.
1886         Public MustOverride Sub DrawImageUnscaled(image As Image, x As Integer, y As Integer, width As Integer, height As Integer)
1887         '
1888         ' Summary:
1889         '     Draws the specified image without scaling and clips it, if necessary, to fit
1890         '     in the specified rectangle.
1891         '
1892         ' Parameters:
1893         '   image:
1894         '     The System.Drawing.Image to draw.
1895         '
1896         '   rect:
1897         '     The System.Drawing.Rectangle in which to draw the image.
1898         '
1899         ' Exceptions:
1900         '   T:System.ArgumentNullException:
1901         '     image is null.
1902         Public MustOverride Sub DrawImageUnscaledAndClipped(image As Image, rect As Rectangle)
1903
1904         ''' <summary>
1905         ''' Draws a line connecting two System.Drawing.PointF structures.
1906         ''' </summary>
1907         ''' <param name="pen">System.Drawing.Pen that determines the color, width, and style of the line.</param>
1908         ''' <param name="pt1">System.Drawing.PointF structure that represents the first point to connect.</param>
1909         ''' <param name="pt2">System.Drawing.PointF structure that represents the second point to connect.</param>
1910         Public MustOverride Sub DrawLine(pen As Pen, pt1 As PointF, pt2 As PointF)
1911
1912         ''' <summary>
1913         ''' Draws a line connecting two System.Drawing.Point structures.
1914         ''' </summary>
1915         ''' <param name="pen">System.Drawing.Pen that determines the color, width, and style of the line.</param>
1916         ''' <param name="pt1">System.Drawing.Point structure that represents the first point to connect.</param>
1917         ''' <param name="pt2">System.Drawing.Point structure that represents the second point to connect.</param>
1918         Public MustOverride Sub DrawLine(pen As Pen, pt1 As Point, pt2 As Point)
1919         '
1920         ' Summary:
1921         '     Draws a line connecting the two points specified by the coordinate pairs.
1922         '
1923         ' Parameters:
1924         '   pen:
1925         '     System.Drawing.Pen that determines the color, width, and style of the line.
1926         '
1927         '   x1:
1928         '     The x-coordinate of the first point.
1929         '
1930         '   y1:
1931         '     The y-coordinate of the first point.
1932         '
1933         '   x2:
1934         '     The x-coordinate of the second point.
1935         '
1936         '   y2:
1937         '     The y-coordinate of the second point.
1938         '
1939         ' Exceptions:
1940         '   T:System.ArgumentNullException:
1941         '     pen is null.
1942         Public MustOverride Sub DrawLine(pen As Pen, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer)
1943         '
1944         ' Summary:
1945         '     Draws a line connecting the two points specified by the coordinate pairs.
1946         '
1947         ' Parameters:
1948         '   pen:
1949         '     System.Drawing.Pen that determines the color, width, and style of the line.
1950         '
1951         '   x1:
1952         '     The x-coordinate of the first point.
1953         '
1954         '   y1:
1955         '     The y-coordinate of the first point.
1956         '
1957         '   x2:
1958         '     The x-coordinate of the second point.
1959         '
1960         '   y2:
1961         '     The y-coordinate of the second point.
1962         '
1963         ' Exceptions:
1964         '   T:System.ArgumentNullException:
1965         '     pen is null.
1966         Public MustOverride Sub DrawLine(pen As Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single)
1967         '
1968         ' Summary:
1969         '     Draws a series of line segments that connect an array of System.Drawing.PointF
1970         '     structures.
1971         '
1972         ' Parameters:
1973         '   pen:
1974         '     System.Drawing.Pen that determines the color, width, and style of the line segments.
1975         '
1976         '   points:
1977         '     Array of System.Drawing.PointF structures that represent the points to connect.
1978         '
1979         ' Exceptions:
1980         '   T:System.ArgumentNullException:
1981         '     pen is null.-or-points is null.
1982         Public MustOverride Sub DrawLines(pen As Pen, points() As PointF)
1983         '
1984         ' Summary:
1985         '     Draws a series of line segments that connect an array of System.Drawing.Point
1986         '     structures.
1987         '
1988         ' Parameters:
1989         '   pen:
1990         '     System.Drawing.Pen that determines the color, width, and style of the line segments.
1991         '
1992         '   points:
1993         '     Array of System.Drawing.Point structures that represent the points to connect.
1994         '
1995         ' Exceptions:
1996         '   T:System.ArgumentNullException:
1997         '     pen is null.-or-points is null.
1998         Public MustOverride Sub DrawLines(pen As Pen, points() As Point)
1999         '
2000         ' Summary:
2001         '     Draws a System.Drawing.Drawing2D.GraphicsPath.
2002         '
2003         ' Parameters:
2004         '   pen:
2005         '     System.Drawing.Pen that determines the color, width, and style of the path.
2006         '
2007         '   path:
2008         '     System.Drawing.Drawing2D.GraphicsPath to draw.
2009         '
2010         ' Exceptions:
2011         '   T:System.ArgumentNullException:
2012         '     pen is null.-or-path is null.
2013         Public MustOverride Sub DrawPath(pen As Pen, path As GraphicsPath)
2014         '
2015         ' Summary:
2016         '     Draws a pie shape defined by an ellipse specified by a System.Drawing.Rectangle
2017         '     structure and two radial lines.
2018         '
2019         ' Parameters:
2020         '   pen:
2021         '     System.Drawing.Pen that determines the color, width, and style of the pie shape.
2022         '
2023         '   rect:
2024         '     System.Drawing.Rectangle structure that represents the bounding rectangle that
2025         '     defines the ellipse from which the pie shape comes.
2026         '
2027         '   startAngle:
2028         '     Angle measured in degrees clockwise from the x-axis to the first side of the
2029         '     pie shape.
2030         '
2031         '   sweepAngle:
2032         '     Angle measured in degrees clockwise from the startAngle parameter to the second
2033         '     side of the pie shape.
2034         '
2035         ' Exceptions:
2036         '   T:System.ArgumentNullException:
2037         '     pen is null.
2038         Public MustOverride Sub DrawPie(pen As Pen, rect As Rectangle, startAngle As Single, sweepAngle As Single)
2039         '
2040         ' Summary:
2041         '     Draws a pie shape defined by an ellipse specified by a System.Drawing.RectangleF
2042         '     structure and two radial lines.
2043         '
2044         ' Parameters:
2045         '   pen:
2046         '     System.Drawing.Pen that determines the color, width, and style of the pie shape.
2047         '
2048         '   rect:
2049         '     System.Drawing.RectangleF structure that represents the bounding rectangle that
2050         '     defines the ellipse from which the pie shape comes.
2051         '
2052         '   startAngle:
2053         '     Angle measured in degrees clockwise from the x-axis to the first side of the
2054         '     pie shape.
2055         '
2056         '   sweepAngle:
2057         '     Angle measured in degrees clockwise from the startAngle parameter to the second
2058         '     side of the pie shape.
2059         '
2060         ' Exceptions:
2061         '   T:System.ArgumentNullException:
2062         '     pen is null.
2063         Public MustOverride Sub DrawPie(pen As Pen, rect As RectangleF, startAngle As Single, sweepAngle As Single)
2064         '
2065         ' Summary:
2066         '     Draws a pie shape defined by an ellipse specified by a coordinate pair, a width,
2067         '     a height, and two radial lines.
2068         '
2069         ' Parameters:
2070         '   pen:
2071         '     System.Drawing.Pen that determines the color, width, and style of the pie shape.
2072         '
2073         '   x:
2074         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
2075         '     the ellipse from which the pie shape comes.
2076         '
2077         '   y:
2078         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
2079         '     the ellipse from which the pie shape comes.
2080         '
2081         '   width:
2082         '     Width of the bounding rectangle that defines the ellipse from which the pie shape
2083         '     comes.
2084         '
2085         '   height:
2086         '     Height of the bounding rectangle that defines the ellipse from which the pie
2087         '     shape comes.
2088         '
2089         '   startAngle:
2090         '     Angle measured in degrees clockwise from the x-axis to the first side of the
2091         '     pie shape.
2092         '
2093         '   sweepAngle:
2094         '     Angle measured in degrees clockwise from the startAngle parameter to the second
2095         '     side of the pie shape.
2096         '
2097         ' Exceptions:
2098         '   T:System.ArgumentNullException:
2099         '     pen is null.
2100         Public MustOverride Sub DrawPie(pen As Pen, x As Integer, y As Integer, width As Integer, height As Integer, startAngle As Integer, sweepAngle As Integer)
2101         '
2102         ' Summary:
2103         '     Draws a pie shape defined by an ellipse specified by a coordinate pair, a width,
2104         '     a height, and two radial lines.
2105         '
2106         ' Parameters:
2107         '   pen:
2108         '     System.Drawing.Pen that determines the color, width, and style of the pie shape.
2109         '
2110         '   x:
2111         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
2112         '     the ellipse from which the pie shape comes.
2113         '
2114         '   y:
2115         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
2116         '     the ellipse from which the pie shape comes.
2117         '
2118         '   width:
2119         '     Width of the bounding rectangle that defines the ellipse from which the pie shape
2120         '     comes.
2121         '
2122         '   height:
2123         '     Height of the bounding rectangle that defines the ellipse from which the pie
2124         '     shape comes.
2125         '
2126         '   startAngle:
2127         '     Angle measured in degrees clockwise from the x-axis to the first side of the
2128         '     pie shape.
2129         '
2130         '   sweepAngle:
2131         '     Angle measured in degrees clockwise from the startAngle parameter to the second
2132         '     side of the pie shape.
2133         '
2134         ' Exceptions:
2135         '   T:System.ArgumentNullException:
2136         '     pen is null.
2137         Public MustOverride Sub DrawPie(pen As Pen, x As Single, y As Single, width As Single, height As Single, startAngle As Single, sweepAngle As Single)
2138
2139         Public MustOverride Sub DrawCircle(center As PointF, fill As Color, stroke As Pen, radius!)
2140
2141         '
2142         ' Summary:
2143         '     Draws a polygon defined by an array of System.Drawing.PointF structures.
2144         '
2145         ' Parameters:
2146         '   pen:
2147         '     System.Drawing.Pen that determines the color, width, and style of the polygon.
2148         '
2149         '   points:
2150         '     Array of System.Drawing.PointF structures that represent the vertices of the
2151         '     polygon.
2152         '
2153         ' Exceptions:
2154         '   T:System.ArgumentNullException:
2155         '     pen is null.-or-points is null.
2156         Public MustOverride Sub DrawPolygon(pen As Pen, points() As PointF)
2157         '
2158         ' Summary:
2159         '     Draws a polygon defined by an array of System.Drawing.Point structures.
2160         '
2161         ' Parameters:
2162         '   pen:
2163         '     System.Drawing.Pen that determines the color, width, and style of the polygon.
2164         '
2165         '   points:
2166         '     Array of System.Drawing.Point structures that represent the vertices of the polygon.
2167         '
2168         ' Exceptions:
2169         '   T:System.ArgumentNullException:
2170         '     pen is null.
2171         Public MustOverride Sub DrawPolygon(pen As Pen, points() As Point)
2172         '
2173         ' Summary:
2174         '     Draws a rectangle specified by a System.Drawing.Rectangle structure.
2175         '
2176         ' Parameters:
2177         '   pen:
2178         '     A System.Drawing.Pen that determines the color, width, and style of the rectangle.
2179         '
2180         '   rect:
2181         '     A System.Drawing.Rectangle structure that represents the rectangle to draw.
2182         '
2183         ' Exceptions:
2184         '   T:System.ArgumentNullException:
2185         '     pen is null.
2186         Public MustOverride Sub DrawRectangle(pen As Pen, rect As Rectangle)
2187         Public MustOverride Sub DrawRectangle(pen As Pen, rect As RectangleF)
2188         '
2189         ' Summary:
2190         '     Draws a rectangle specified by a coordinate pair, a width, and a height.
2191         '
2192         ' Parameters:
2193         '   pen:
2194         '     A System.Drawing.Pen that determines the color, width, and style of the rectangle.
2195         '
2196         '   x:
2197         '     The x-coordinate of the upper-left corner of the rectangle to draw.
2198         '
2199         '   y:
2200         '     The y-coordinate of the upper-left corner of the rectangle to draw.
2201         '
2202         '   width:
2203         '     The width of the rectangle to draw.
2204         '
2205         '   height:
2206         '     The height of the rectangle to draw.
2207         '
2208         ' Exceptions:
2209         '   T:System.ArgumentNullException:
2210         '     pen is null.
2211         Public MustOverride Sub DrawRectangle(pen As Pen, x As Single, y As Single, width As Single, height As Single)
2212         '
2213         ' Summary:
2214         '     Draws a rectangle specified by a coordinate pair, a width, and a height.
2215         '
2216         ' Parameters:
2217         '   pen:
2218         '     System.Drawing.Pen that determines the color, width, and style of the rectangle.
2219         '
2220         '   x:
2221         '     The x-coordinate of the upper-left corner of the rectangle to draw.
2222         '
2223         '   y:
2224         '     The y-coordinate of the upper-left corner of the rectangle to draw.
2225         '
2226         '   width:
2227         '     Width of the rectangle to draw.
2228         '
2229         '   height:
2230         '     Height of the rectangle to draw.
2231         '
2232         ' Exceptions:
2233         '   T:System.ArgumentNullException:
2234         '     pen is null.
2235         Public MustOverride Sub DrawRectangle(pen As Pen, x As Integer, y As Integer, width As Integer, height As Integer)
2236         '
2237         ' Summary:
2238         '     Draws a series of rectangles specified by System.Drawing.RectangleF structures.
2239         '
2240         ' Parameters:
2241         '   pen:
2242         '     System.Drawing.Pen that determines the color, width, and style of the outlines
2243         '     of the rectangles.
2244         '
2245         '   rects:
2246         '     Array of System.Drawing.RectangleF structures that represent the rectangles to
2247         '     draw.
2248         '
2249         ' Exceptions:
2250         '   T:System.ArgumentNullException:
2251         '     pen is null.-or-rects is null.
2252         '
2253         '   T:System.ArgumentException:
2254         '     rects is a zero-length array.
2255         Public MustOverride Sub DrawRectangles(pen As Pen, rects() As RectangleF)
2256         '
2257         ' Summary:
2258         '     Draws a series of rectangles specified by System.Drawing.Rectangle structures.
2259         '
2260         ' Parameters:
2261         '   pen:
2262         '     System.Drawing.Pen that determines the color, width, and style of the outlines
2263         '     of the rectangles.
2264         '
2265         '   rects:
2266         '     Array of System.Drawing.Rectangle structures that represent the rectangles to
2267         '     draw.
2268         '
2269         ' Exceptions:
2270         '   T:System.ArgumentNullException:
2271         '     pen is null.-or-rects is null.
2272         '
2273         '   T:System.ArgumentException:
2274         '     rects is a zero-length array.
2275         Public MustOverride Sub DrawRectangles(pen As Pen, rects() As Rectangle)
2276
2277         ''' <summary>
2278         ''' Draws the specified text string at the specified location with the specified
2279         ''' <see cref="Brush"/> and <see cref="Font"/> objects.
2280         ''' </summary>
2281         ''' <param name="s">String to draw.</param>
2282         ''' <param name="font">System.Drawing.Font that defines the text format of the string.</param>
2283         ''' <param name="brush">System.Drawing.Brush that determines the color and texture of the drawn text.</param>
2284         ''' <param name="point">System.Drawing.PointF structure that specifies the upper-left corner of the drawn
2285         ''' text.</param>
2286         Public MustOverride Sub DrawString(s As String, font As Font, brush As Brush, point As PointF)
2287         '
2288         ' Summary:
2289         '     Draws the specified text string in the specified rectangle with the specified
2290         '     System.Drawing.Brush and System.Drawing.Font objects.
2291         '
2292         ' Parameters:
2293         '   s:
2294         '     String to draw.
2295         '
2296         '   font:
2297         '     System.Drawing.Font that defines the text format of the string.
2298         '
2299         '   brush:
2300         '     System.Drawing.Brush that determines the color and texture of the drawn text.
2301         '
2302         '   layoutRectangle:
2303         '     System.Drawing.RectangleF structure that specifies the location of the drawn
2304         '     text.
2305         '
2306         ' Exceptions:
2307         '   T:System.ArgumentNullException:
2308         '     brush is null.-or-s is null.
2309         Public MustOverride Sub DrawString(s As String, font As Font, brush As Brush, layoutRectangle As RectangleF)
2310         '
2311         ' Summary:
2312         '     Draws the specified text string in the specified rectangle with the specified
2313         '     System.Drawing.Brush and System.Drawing.Font objects using the formatting attributes
2314         '     of the specified System.Drawing.StringFormat.
2315         '
2316         ' Parameters:
2317         '   s:
2318         '     String to draw.
2319         '
2320         '   font:
2321         '     System.Drawing.Font that defines the text format of the string.
2322         '
2323         '   brush:
2324         '     System.Drawing.Brush that determines the color and texture of the drawn text.
2325         '
2326         '   layoutRectangle:
2327         '     System.Drawing.RectangleF structure that specifies the location of the drawn
2328         '     text.
2329         '
2330         '   format:
2331         '     System.Drawing.StringFormat that specifies formatting attributes, such as line
2332         '     spacing and alignment, that are applied to the drawn text.
2333         '
2334         ' Exceptions:
2335         '   T:System.ArgumentNullException:
2336         '     brush is null.-or-s is null.
2337         Public MustOverride Sub DrawString(s As String, font As Font, brush As Brush, layoutRectangle As RectangleF, format As StringFormat)
2338         '
2339         ' Summary:
2340         '     Draws the specified text string at the specified location with the specified
2341         '     System.Drawing.Brush and System.Drawing.Font objects using the formatting attributes
2342         '     of the specified System.Drawing.StringFormat.
2343         '
2344         ' Parameters:
2345         '   s:
2346         '     String to draw.
2347         '
2348         '   font:
2349         '     System.Drawing.Font that defines the text format of the string.
2350         '
2351         '   brush:
2352         '     System.Drawing.Brush that determines the color and texture of the drawn text.
2353         '
2354         '   point:
2355         '     System.Drawing.PointF structure that specifies the upper-left corner of the drawn
2356         '     text.
2357         '
2358         '   format:
2359         '     System.Drawing.StringFormat that specifies formatting attributes, such as line
2360         '     spacing and alignment, that are applied to the drawn text.
2361         '
2362         ' Exceptions:
2363         '   T:System.ArgumentNullException:
2364         '     brush is null.-or-s is null.
2365         Public MustOverride Sub DrawString(s As String, font As Font, brush As Brush, point As PointF, format As StringFormat)
2366         '
2367         ' Summary:
2368         '     Draws the specified text string at the specified location with the specified
2369         '     System.Drawing.Brush and System.Drawing.Font objects.
2370         '
2371         ' Parameters:
2372         '   s:
2373         '     String to draw.
2374         '
2375         '   font:
2376         '     System.Drawing.Font that defines the text format of the string.
2377         '
2378         '   brush:
2379         '     System.Drawing.Brush that determines the color and texture of the drawn text.
2380         '
2381         '   x:
2382         '     The x-coordinate of the upper-left corner of the drawn text.
2383         '
2384         '   y:
2385         '     The y-coordinate of the upper-left corner of the drawn text.
2386         '
2387         ' Exceptions:
2388         '   T:System.ArgumentNullException:
2389         '     brush is null.-or-s is null.
2390         Public MustOverride Sub DrawString(s As String, font As Font, brush As Brush, x As Single, y As Single)
2391         '
2392         ' Summary:
2393         '     Draws the specified text string at the specified location with the specified
2394         '     System.Drawing.Brush and System.Drawing.Font objects using the formatting attributes
2395         '     of the specified System.Drawing.StringFormat.
2396         '
2397         ' Parameters:
2398         '   s:
2399         '     String to draw.
2400         '
2401         '   font:
2402         '     System.Drawing.Font that defines the text format of the string.
2403         '
2404         '   brush:
2405         '     System.Drawing.Brush that determines the color and texture of the drawn text.
2406         '
2407         '   x:
2408         '     The x-coordinate of the upper-left corner of the drawn text.
2409         '
2410         '   y:
2411         '     The y-coordinate of the upper-left corner of the drawn text.
2412         '
2413         '   format:
2414         '     System.Drawing.StringFormat that specifies formatting attributes, such as line
2415         '     spacing and alignment, that are applied to the drawn text.
2416         '
2417         ' Exceptions:
2418         '   T:System.ArgumentNullException:
2419         '     brush is null.-or-s is null.
2420         Public MustOverride Sub DrawString(s As String, font As Font, brush As Brush, x As Single, y As Single, format As StringFormat)
2421         '
2422         ' Summary:
2423         '     Closes the current graphics container and restores the state of this System.Drawing.Graphics
2424         '     to the state saved by a call to the System.Drawing.Graphics.BeginContainer method.
2425         '
2426         ' Parameters:
2427         '   container:
2428         '     System.Drawing.Drawing2D.GraphicsContainer that represents the container this
2429         '     method restores.
2430         Public MustOverride Sub EndContainer(container As GraphicsContainer)
2431         '
2432         ' Summary:
2433         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2434         '     time, to a callback method for display in a specified parallelogram.
2435         '
2436         ' Parameters:
2437         '   metafile:
2438         '     System.Drawing.Imaging.Metafile to enumerate.
2439         '
2440         '   destPoints:
2441         '     Array of three System.Drawing.Point structures that define a parallelogram that
2442         '     determines the size and location of the drawn metafile.
2443         '
2444         '   callback:
2445         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2446         '     to which the metafile records are sent.
2447         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As Point, callback As EnumerateMetafileProc)
2448         '
2449         ' Summary:
2450         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2451         '     time, to a callback method for display in a specified parallelogram.
2452         '
2453         ' Parameters:
2454         '   metafile:
2455         '     System.Drawing.Imaging.Metafile to enumerate.
2456         '
2457         '   destPoints:
2458         '     Array of three System.Drawing.PointF structures that define a parallelogram that
2459         '     determines the size and location of the drawn metafile.
2460         '
2461         '   callback:
2462         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2463         '     to which the metafile records are sent.
2464         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As PointF, callback As EnumerateMetafileProc)
2465         '
2466         ' Summary:
2467         '     Sends the records of the specified System.Drawing.Imaging.Metafile, one at a
2468         '     time, to a callback method for display in a specified rectangle.
2469         '
2470         ' Parameters:
2471         '   metafile:
2472         '     System.Drawing.Imaging.Metafile to enumerate.
2473         '
2474         '   destRect:
2475         '     System.Drawing.Rectangle structure that specifies the location and size of the
2476         '     drawn metafile.
2477         '
2478         '   callback:
2479         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2480         '     to which the metafile records are sent.
2481         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As Rectangle, callback As EnumerateMetafileProc)
2482         '
2483         ' Summary:
2484         '     Sends the records of the specified System.Drawing.Imaging.Metafile, one at a
2485         '     time, to a callback method for display in a specified rectangle.
2486         '
2487         ' Parameters:
2488         '   metafile:
2489         '     System.Drawing.Imaging.Metafile to enumerate.
2490         '
2491         '   destRect:
2492         '     System.Drawing.RectangleF structure that specifies the location and size of the
2493         '     drawn metafile.
2494         '
2495         '   callback:
2496         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2497         '     to which the metafile records are sent.
2498         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As RectangleF, callback As EnumerateMetafileProc)
2499         '
2500         ' Summary:
2501         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2502         '     time, to a callback method for display at a specified point.
2503         '
2504         ' Parameters:
2505         '   metafile:
2506         '     System.Drawing.Imaging.Metafile to enumerate.
2507         '
2508         '   destPoint:
2509         '     System.Drawing.Point structure that specifies the location of the upper-left
2510         '     corner of the drawn metafile.
2511         '
2512         '   callback:
2513         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2514         '     to which the metafile records are sent.
2515         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As Point, callback As EnumerateMetafileProc)
2516         '
2517         ' Summary:
2518         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2519         '     time, to a callback method for display at a specified point.
2520         '
2521         ' Parameters:
2522         '   metafile:
2523         '     System.Drawing.Imaging.Metafile to enumerate.
2524         '
2525         '   destPoint:
2526         '     System.Drawing.PointF structure that specifies the location of the upper-left
2527         '     corner of the drawn metafile.
2528         '
2529         '   callback:
2530         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2531         '     to which the metafile records are sent.
2532         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As PointF, callback As EnumerateMetafileProc)
2533         '
2534         ' Summary:
2535         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2536         '     time, to a callback method for display in a specified parallelogram.
2537         '
2538         ' Parameters:
2539         '   metafile:
2540         '     System.Drawing.Imaging.Metafile to enumerate.
2541         '
2542         '   destPoints:
2543         '     Array of three System.Drawing.Point structures that define a parallelogram that
2544         '     determines the size and location of the drawn metafile.
2545         '
2546         '   callback:
2547         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2548         '     to which the metafile records are sent.
2549         '
2550         '   callbackData:
2551         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2552         '     for this parameter.
2553         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As Point, callback As EnumerateMetafileProc, callbackData As IntPtr)
2554         '
2555         ' Summary:
2556         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2557         '     time, to a callback method for display in a specified parallelogram.
2558         '
2559         ' Parameters:
2560         '   metafile:
2561         '     System.Drawing.Imaging.Metafile to enumerate.
2562         '
2563         '   destPoints:
2564         '     Array of three System.Drawing.PointF structures that define a parallelogram that
2565         '     determines the size and location of the drawn metafile.
2566         '
2567         '   callback:
2568         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2569         '     to which the metafile records are sent.
2570         '
2571         '   callbackData:
2572         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2573         '     for this parameter.
2574         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As PointF, callback As EnumerateMetafileProc, callbackData As IntPtr)
2575         '
2576         ' Summary:
2577         '     Sends the records of the specified System.Drawing.Imaging.Metafile, one at a
2578         '     time, to a callback method for display in a specified rectangle.
2579         '
2580         ' Parameters:
2581         '   metafile:
2582         '     System.Drawing.Imaging.Metafile to enumerate.
2583         '
2584         '   destRect:
2585         '     System.Drawing.Rectangle structure that specifies the location and size of the
2586         '     drawn metafile.
2587         '
2588         '   callback:
2589         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2590         '     to which the metafile records are sent.
2591         '
2592         '   callbackData:
2593         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2594         '     for this parameter.
2595         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As Rectangle, callback As EnumerateMetafileProc, callbackData As IntPtr)
2596         '
2597         ' Summary:
2598         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2599         '     time, to a callback method for display at a specified point.
2600         '
2601         ' Parameters:
2602         '   metafile:
2603         '     System.Drawing.Imaging.Metafile to enumerate.
2604         '
2605         '   destPoint:
2606         '     System.Drawing.Point structure that specifies the location of the upper-left
2607         '     corner of the drawn metafile.
2608         '
2609         '   callback:
2610         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2611         '     to which the metafile records are sent.
2612         '
2613         '   callbackData:
2614         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2615         '     for this parameter.
2616         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As Point, callback As EnumerateMetafileProc, callbackData As IntPtr)
2617         '
2618         ' Summary:
2619         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2620         '     time, to a callback method for display at a specified point.
2621         '
2622         ' Parameters:
2623         '   metafile:
2624         '     System.Drawing.Imaging.Metafile to enumerate.
2625         '
2626         '   destPoint:
2627         '     System.Drawing.PointF structure that specifies the location of the upper-left
2628         '     corner of the drawn metafile.
2629         '
2630         '   callback:
2631         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2632         '     to which the metafile records are sent.
2633         '
2634         '   callbackData:
2635         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2636         '     for this parameter.
2637         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As PointF, callback As EnumerateMetafileProc, callbackData As IntPtr)
2638         '
2639         ' Summary:
2640         '     Sends the records of the specified System.Drawing.Imaging.Metafile, one at a
2641         '     time, to a callback method for display in a specified rectangle.
2642         '
2643         ' Parameters:
2644         '   metafile:
2645         '     System.Drawing.Imaging.Metafile to enumerate.
2646         '
2647         '   destRect:
2648         '     System.Drawing.RectangleF structure that specifies the location and size of the
2649         '     drawn metafile.
2650         '
2651         '   callback:
2652         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2653         '     to which the metafile records are sent.
2654         '
2655         '   callbackData:
2656         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2657         '     for this parameter.
2658         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As RectangleF, callback As EnumerateMetafileProc, callbackData As IntPtr)
2659         '
2660         ' Summary:
2661         '     Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile,
2662         '     one at a time, to a callback method for display in a specified rectangle.
2663         '
2664         ' Parameters:
2665         '   metafile:
2666         '     System.Drawing.Imaging.Metafile to enumerate.
2667         '
2668         '   destRect:
2669         '     System.Drawing.Rectangle structure that specifies the location and size of the
2670         '     drawn metafile.
2671         '
2672         '   srcRect:
2673         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
2674         '     relative to its upper-left corner, to draw.
2675         '
2676         '   srcUnit:
2677         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2678         '     of measure used to determine the portion of the metafile that the rectangle specified
2679         '     by the srcRect parameter contains.
2680         '
2681         '   callback:
2682         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2683         '     to which the metafile records are sent.
2684         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As Rectangle, srcRect As Rectangle, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc)
2685         '
2686         ' Summary:
2687         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2688         '     time, to a callback method for display at a specified point using specified image
2689         '     attributes.
2690         '
2691         ' Parameters:
2692         '   metafile:
2693         '     System.Drawing.Imaging.Metafile to enumerate.
2694         '
2695         '   destPoint:
2696         '     System.Drawing.PointF structure that specifies the location of the upper-left
2697         '     corner of the drawn metafile.
2698         '
2699         '   callback:
2700         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2701         '     to which the metafile records are sent.
2702         '
2703         '   callbackData:
2704         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2705         '     for this parameter.
2706         '
2707         '   imageAttr:
2708         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
2709         '     for the drawn image.
2710         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As PointF, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
2711         '
2712         ' Summary:
2713         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2714         '     time, to a callback method for display in a specified parallelogram using specified
2715         '     image attributes.
2716         '
2717         ' Parameters:
2718         '   metafile:
2719         '     System.Drawing.Imaging.Metafile to enumerate.
2720         '
2721         '   destPoints:
2722         '     Array of three System.Drawing.Point structures that define a parallelogram that
2723         '     determines the size and location of the drawn metafile.
2724         '
2725         '   callback:
2726         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2727         '     to which the metafile records are sent.
2728         '
2729         '   callbackData:
2730         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2731         '     for this parameter.
2732         '
2733         '   imageAttr:
2734         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
2735         '     for the drawn image.
2736         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As Point, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
2737         '
2738         ' Summary:
2739         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
2740         '     one at a time, to a callback method for display at a specified point.
2741         '
2742         ' Parameters:
2743         '   metafile:
2744         '     System.Drawing.Imaging.Metafile to enumerate.
2745         '
2746         '   destPoint:
2747         '     System.Drawing.PointF structure that specifies the location of the upper-left
2748         '     corner of the drawn metafile.
2749         '
2750         '   srcRect:
2751         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
2752         '     relative to its upper-left corner, to draw.
2753         '
2754         '   srcUnit:
2755         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2756         '     of measure used to determine the portion of the metafile that the rectangle specified
2757         '     by the srcRect parameter contains.
2758         '
2759         '   callback:
2760         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2761         '     to which the metafile records are sent.
2762         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc)
2763         '
2764         ' Summary:
2765         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
2766         '     one at a time, to a callback method for display at a specified point.
2767         '
2768         ' Parameters:
2769         '   metafile:
2770         '     System.Drawing.Imaging.Metafile to enumerate.
2771         '
2772         '   destPoint:
2773         '     System.Drawing.Point structure that specifies the location of the upper-left
2774         '     corner of the drawn metafile.
2775         '
2776         '   srcRect:
2777         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
2778         '     relative to its upper-left corner, to draw.
2779         '
2780         '   srcUnit:
2781         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2782         '     of measure used to determine the portion of the metafile that the rectangle specified
2783         '     by the srcRect parameter contains.
2784         '
2785         '   callback:
2786         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2787         '     to which the metafile records are sent.
2788         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc)
2789         '
2790         ' Summary:
2791         '     Sends the records of the specified System.Drawing.Imaging.Metafile, one at a
2792         '     time, to a callback method for display in a specified rectangle using specified
2793         '     image attributes.
2794         '
2795         ' Parameters:
2796         '   metafile:
2797         '     System.Drawing.Imaging.Metafile to enumerate.
2798         '
2799         '   destRect:
2800         '     System.Drawing.RectangleF structure that specifies the location and size of the
2801         '     drawn metafile.
2802         '
2803         '   callback:
2804         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2805         '     to which the metafile records are sent.
2806         '
2807         '   callbackData:
2808         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2809         '     for this parameter.
2810         '
2811         '   imageAttr:
2812         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
2813         '     for the drawn image.
2814         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As RectangleF, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
2815         '
2816         ' Summary:
2817         '     Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile,
2818         '     one at a time, to a callback method for display in a specified rectangle.
2819         '
2820         ' Parameters:
2821         '   metafile:
2822         '     System.Drawing.Imaging.Metafile to enumerate.
2823         '
2824         '   destRect:
2825         '     System.Drawing.RectangleF structure that specifies the location and size of the
2826         '     drawn metafile.
2827         '
2828         '   srcRect:
2829         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
2830         '     relative to its upper-left corner, to draw.
2831         '
2832         '   srcUnit:
2833         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2834         '     of measure used to determine the portion of the metafile that the rectangle specified
2835         '     by the srcRect parameter contains.
2836         '
2837         '   callback:
2838         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2839         '     to which the metafile records are sent.
2840         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As RectangleF, srcRect As RectangleF, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc)
2841         '
2842         ' Summary:
2843         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2844         '     time, to a callback method for display in a specified parallelogram using specified
2845         '     image attributes.
2846         '
2847         ' Parameters:
2848         '   metafile:
2849         '     System.Drawing.Imaging.Metafile to enumerate.
2850         '
2851         '   destPoints:
2852         '     Array of three System.Drawing.PointF structures that define a parallelogram that
2853         '     determines the size and location of the drawn metafile.
2854         '
2855         '   callback:
2856         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2857         '     to which the metafile records are sent.
2858         '
2859         '   callbackData:
2860         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2861         '     for this parameter.
2862         '
2863         '   imageAttr:
2864         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
2865         '     for the drawn image.
2866         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As PointF, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
2867         '
2868         ' Summary:
2869         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
2870         '     one at a time, to a callback method for display in a specified parallelogram.
2871         '
2872         ' Parameters:
2873         '   metafile:
2874         '     System.Drawing.Imaging.Metafile to enumerate.
2875         '
2876         '   destPoints:
2877         '     Array of three System.Drawing.PointF structures that define a parallelogram that
2878         '     determines the size and location of the drawn metafile.
2879         '
2880         '   srcRect:
2881         '     System.Drawing.RectangleF structures that specifies the portion of the metafile,
2882         '     relative to its upper-left corner, to draw.
2883         '
2884         '   srcUnit:
2885         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2886         '     of measure used to determine the portion of the metafile that the rectangle specified
2887         '     by the srcRect parameter contains.
2888         '
2889         '   callback:
2890         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2891         '     to which the metafile records are sent.
2892         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc)
2893         '
2894         ' Summary:
2895         '     Sends the records of the specified System.Drawing.Imaging.Metafile, one at a
2896         '     time, to a callback method for display in a specified rectangle using specified
2897         '     image attributes.
2898         '
2899         ' Parameters:
2900         '   metafile:
2901         '     System.Drawing.Imaging.Metafile to enumerate.
2902         '
2903         '   destRect:
2904         '     System.Drawing.Rectangle structure that specifies the location and size of the
2905         '     drawn metafile.
2906         '
2907         '   callback:
2908         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2909         '     to which the metafile records are sent.
2910         '
2911         '   callbackData:
2912         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2913         '     for this parameter.
2914         '
2915         '   imageAttr:
2916         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
2917         '     for the drawn image.
2918         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As Rectangle, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
2919         '
2920         ' Summary:
2921         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
2922         '     one at a time, to a callback method for display in a specified parallelogram.
2923         '
2924         ' Parameters:
2925         '   metafile:
2926         '     System.Drawing.Imaging.Metafile to enumerate.
2927         '
2928         '   destPoints:
2929         '     Array of three System.Drawing.Point structures that define a parallelogram that
2930         '     determines the size and location of the drawn metafile.
2931         '
2932         '   srcRect:
2933         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
2934         '     relative to its upper-left corner, to draw.
2935         '
2936         '   srcUnit:
2937         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2938         '     of measure used to determine the portion of the metafile that the rectangle specified
2939         '     by the srcRect parameter contains.
2940         '
2941         '   callback:
2942         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2943         '     to which the metafile records are sent.
2944         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc)
2945         '
2946         ' Summary:
2947         '     Sends the records in the specified System.Drawing.Imaging.Metafile, one at a
2948         '     time, to a callback method for display at a specified point using specified image
2949         '     attributes.
2950         '
2951         ' Parameters:
2952         '   metafile:
2953         '     System.Drawing.Imaging.Metafile to enumerate.
2954         '
2955         '   destPoint:
2956         '     System.Drawing.Point structure that specifies the location of the upper-left
2957         '     corner of the drawn metafile.
2958         '
2959         '   callback:
2960         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2961         '     to which the metafile records are sent.
2962         '
2963         '   callbackData:
2964         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2965         '     for this parameter.
2966         '
2967         '   imageAttr:
2968         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
2969         '     for the drawn image.
2970         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As Point, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
2971         '
2972         ' Summary:
2973         '     Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile,
2974         '     one at a time, to a callback method for display in a specified rectangle.
2975         '
2976         ' Parameters:
2977         '   metafile:
2978         '     System.Drawing.Imaging.Metafile to enumerate.
2979         '
2980         '   destRect:
2981         '     System.Drawing.Rectangle structure that specifies the location and size of the
2982         '     drawn metafile.
2983         '
2984         '   srcRect:
2985         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
2986         '     relative to its upper-left corner, to draw.
2987         '
2988         '   srcUnit:
2989         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
2990         '     of measure used to determine the portion of the metafile that the rectangle specified
2991         '     by the srcRect parameter contains.
2992         '
2993         '   callback:
2994         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
2995         '     to which the metafile records are sent.
2996         '
2997         '   callbackData:
2998         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
2999         '     for this parameter.
3000         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As Rectangle, srcRect As Rectangle, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr)
3001         '
3002         ' Summary:
3003         '     Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile,
3004         '     one at a time, to a callback method for display in a specified rectangle.
3005         '
3006         ' Parameters:
3007         '   metafile:
3008         '     System.Drawing.Imaging.Metafile to enumerate.
3009         '
3010         '   destRect:
3011         '     System.Drawing.RectangleF structure that specifies the location and size of the
3012         '     drawn metafile.
3013         '
3014         '   srcRect:
3015         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
3016         '     relative to its upper-left corner, to draw.
3017         '
3018         '   srcUnit:
3019         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3020         '     of measure used to determine the portion of the metafile that the rectangle specified
3021         '     by the srcRect parameter contains.
3022         '
3023         '   callback:
3024         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3025         '     to which the metafile records are sent.
3026         '
3027         '   callbackData:
3028         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3029         '     for this parameter.
3030         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As RectangleF, srcRect As RectangleF, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr)
3031         '
3032         ' Summary:
3033         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3034         '     one at a time, to a callback method for display in a specified parallelogram.
3035         '
3036         ' Parameters:
3037         '   metafile:
3038         '     System.Drawing.Imaging.Metafile to enumerate.
3039         '
3040         '   destPoints:
3041         '     Array of three System.Drawing.Point structures that define a parallelogram that
3042         '     determines the size and location of the drawn metafile.
3043         '
3044         '   srcRect:
3045         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
3046         '     relative to its upper-left corner, to draw.
3047         '
3048         '   srcUnit:
3049         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3050         '     of measure used to determine the portion of the metafile that the rectangle specified
3051         '     by the srcRect parameter contains.
3052         '
3053         '   callback:
3054         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3055         '     to which the metafile records are sent.
3056         '
3057         '   callbackData:
3058         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3059         '     for this parameter.
3060         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr)
3061         '
3062         ' Summary:
3063         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3064         '     one at a time, to a callback method for display at a specified point.
3065         '
3066         ' Parameters:
3067         '   metafile:
3068         '     System.Drawing.Imaging.Metafile to enumerate.
3069         '
3070         '   destPoint:
3071         '     System.Drawing.Point structure that specifies the location of the upper-left
3072         '     corner of the drawn metafile.
3073         '
3074         '   srcRect:
3075         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
3076         '     relative to its upper-left corner, to draw.
3077         '
3078         '   srcUnit:
3079         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3080         '     of measure used to determine the portion of the metafile that the rectangle specified
3081         '     by the srcRect parameter contains.
3082         '
3083         '   callback:
3084         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3085         '     to which the metafile records are sent.
3086         '
3087         '   callbackData:
3088         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3089         '     for this parameter.
3090         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As Point, srcRect As Rectangle, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr)
3091         '
3092         ' Summary:
3093         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3094         '     one at a time, to a callback method for display at a specified point.
3095         '
3096         ' Parameters:
3097         '   metafile:
3098         '     System.Drawing.Imaging.Metafile to enumerate.
3099         '
3100         '   destPoint:
3101         '     System.Drawing.PointF structure that specifies the location of the upper-left
3102         '     corner of the drawn metafile.
3103         '
3104         '   srcRect:
3105         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
3106         '     relative to its upper-left corner, to draw.
3107         '
3108         '   srcUnit:
3109         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3110         '     of measure used to determine the portion of the metafile that the rectangle specified
3111         '     by the srcRect parameter contains.
3112         '
3113         '   callback:
3114         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3115         '     to which the metafile records are sent.
3116         '
3117         '   callbackData:
3118         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3119         '     for this parameter.
3120         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr)
3121         '
3122         ' Summary:
3123         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3124         '     one at a time, to a callback method for display in a specified parallelogram.
3125         '
3126         ' Parameters:
3127         '   metafile:
3128         '     System.Drawing.Imaging.Metafile to enumerate.
3129         '
3130         '   destPoints:
3131         '     Array of three System.Drawing.PointF structures that define a parallelogram that
3132         '     determines the size and location of the drawn metafile.
3133         '
3134         '   srcRect:
3135         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
3136         '     relative to its upper-left corner, to draw.
3137         '
3138         '   srcUnit:
3139         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3140         '     of measure used to determine the portion of the metafile that the rectangle specified
3141         '     by the srcRect parameter contains.
3142         '
3143         '   callback:
3144         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3145         '     to which the metafile records are sent.
3146         '
3147         '   callbackData:
3148         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3149         '     for this parameter.
3150         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As PointF, srcRect As RectangleF, srcUnit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr)
3151         '
3152         ' Summary:
3153         '     Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile,
3154         '     one at a time, to a callback method for display in a specified rectangle using
3155         '     specified image attributes.
3156         '
3157         ' Parameters:
3158         '   metafile:
3159         '     System.Drawing.Imaging.Metafile to enumerate.
3160         '
3161         '   destRect:
3162         '     System.Drawing.Rectangle structure that specifies the location and size of the
3163         '     drawn metafile.
3164         '
3165         '   srcRect:
3166         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
3167         '     relative to its upper-left corner, to draw.
3168         '
3169         '   unit:
3170         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3171         '     of measure used to determine the portion of the metafile that the rectangle specified
3172         '     by the srcRect parameter contains.
3173         '
3174         '   callback:
3175         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3176         '     to which the metafile records are sent.
3177         '
3178         '   callbackData:
3179         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3180         '     for this parameter.
3181         '
3182         '   imageAttr:
3183         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
3184         '     for the drawn image.
3185         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As Rectangle, srcRect As Rectangle, unit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
3186         '
3187         ' Summary:
3188         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3189         '     one at a time, to a callback method for display in a specified parallelogram
3190         '     using specified image attributes.
3191         '
3192         ' Parameters:
3193         '   metafile:
3194         '     System.Drawing.Imaging.Metafile to enumerate.
3195         '
3196         '   destPoints:
3197         '     Array of three System.Drawing.PointF structures that define a parallelogram that
3198         '     determines the size and location of the drawn metafile.
3199         '
3200         '   srcRect:
3201         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
3202         '     relative to its upper-left corner, to draw.
3203         '
3204         '   unit:
3205         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3206         '     of measure used to determine the portion of the metafile that the rectangle specified
3207         '     by the srcRect parameter contains.
3208         '
3209         '   callback:
3210         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3211         '     to which the metafile records are sent.
3212         '
3213         '   callbackData:
3214         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3215         '     for this parameter.
3216         '
3217         '   imageAttr:
3218         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
3219         '     for the drawn image.
3220         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As PointF, srcRect As RectangleF, unit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
3221         '
3222         ' Summary:
3223         '     Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile,
3224         '     one at a time, to a callback method for display in a specified rectangle using
3225         '     specified image attributes.
3226         '
3227         ' Parameters:
3228         '   metafile:
3229         '     System.Drawing.Imaging.Metafile to enumerate.
3230         '
3231         '   destRect:
3232         '     System.Drawing.RectangleF structure that specifies the location and size of the
3233         '     drawn metafile.
3234         '
3235         '   srcRect:
3236         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
3237         '     relative to its upper-left corner, to draw.
3238         '
3239         '   unit:
3240         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3241         '     of measure used to determine the portion of the metafile that the rectangle specified
3242         '     by the srcRect parameter contains.
3243         '
3244         '   callback:
3245         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3246         '     to which the metafile records are sent.
3247         '
3248         '   callbackData:
3249         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3250         '     for this parameter.
3251         '
3252         '   imageAttr:
3253         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
3254         '     for the drawn image.
3255         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destRect As RectangleF, srcRect As RectangleF, unit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
3256         '
3257         ' Summary:
3258         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3259         '     one at a time, to a callback method for display in a specified parallelogram
3260         '     using specified image attributes.
3261         '
3262         ' Parameters:
3263         '   metafile:
3264         '     System.Drawing.Imaging.Metafile to enumerate.
3265         '
3266         '   destPoints:
3267         '     Array of three System.Drawing.Point structures that define a parallelogram that
3268         '     determines the size and location of the drawn metafile.
3269         '
3270         '   srcRect:
3271         '     System.Drawing.Rectangle structure that specifies the portion of the metafile,
3272         '     relative to its upper-left corner, to draw.
3273         '
3274         '   unit:
3275         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3276         '     of measure used to determine the portion of the metafile that the rectangle specified
3277         '     by the srcRect parameter contains.
3278         '
3279         '   callback:
3280         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3281         '     to which the metafile records are sent.
3282         '
3283         '   callbackData:
3284         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3285         '     for this parameter.
3286         '
3287         '   imageAttr:
3288         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
3289         '     for the drawn image.
3290         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoints() As Point, srcRect As Rectangle, unit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
3291         '
3292         ' Summary:
3293         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3294         '     one at a time, to a callback method for display at a specified point using specified
3295         '     image attributes.
3296         '
3297         ' Parameters:
3298         '   metafile:
3299         '     System.Drawing.Imaging.Metafile to enumerate.
3300         '
3301         '   destPoint:
3302         '     System.Drawing.PointF structure that specifies the location of the upper-left
3303         '     corner of the drawn metafile.
3304         '
3305         '   srcRect:
3306         '     System.Drawing.RectangleF structure that specifies the portion of the metafile,
3307         '     relative to its upper-left corner, to draw.
3308         '
3309         '   unit:
3310         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
3311         '     of measure used to determine the portion of the metafile that the rectangle specified
3312         '     by the srcRect parameter contains.
3313         '
3314         '   callback:
3315         '     System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method
3316         '     to which the metafile records are sent.
3317         '
3318         '   callbackData:
3319         '     Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero
3320         '     for this parameter.
3321         '
3322         '   imageAttr:
3323         '     System.Drawing.Imaging.ImageAttributes that specifies image attribute information
3324         '     for the drawn image.
3325         Public MustOverride Sub EnumerateMetafile(metafile As Metafile, destPoint As PointF, srcRect As RectangleF, unit As GraphicsUnit, callback As EnumerateMetafileProc, callbackData As IntPtr, imageAttr As ImageAttributes)
3326         '
3327         ' Summary:
3328         '     Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile,
3329         '     one at a time, to a callback method for display at a specified point using specified
3330         '     image attributes.
3331         '
3332         ' Parameters:
3333