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