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         '   fillmode:
3313         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines how
3314         '     the curve is filled.
3315         '
3316         ' Exceptions:
3317         '   T:System.ArgumentNullException:
3318         '     brush is null.-or-points is null.
3319         Public MustOverride Sub FillClosedCurve(brush As Brush, points() As Point, fillmode As FillMode)
3320         '
3321         ' Summary:
3322         '     Fills the interior of a closed cardinal spline curve defined by an array of System.Drawing.PointF
3323         '     structures using the specified fill mode.
3324         '
3325         ' Parameters:
3326         '   brush:
3327         '     System.Drawing.Brush that determines the characteristics of the fill.
3328         '
3329         '   points:
3330         '     Array of System.Drawing.PointF structures that define the spline.
3331         '
3332         '   fillmode:
3333         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines how
3334         '     the curve is filled.
3335         '
3336         ' Exceptions:
3337         '   T:System.ArgumentNullException:
3338         '     brush is null.-or-points is null.
3339         Public MustOverride Sub FillClosedCurve(brush As Brush, points() As PointF, fillmode As FillMode)
3340         '
3341         ' Summary:
3342         '     Fills the interior of a closed cardinal spline curve defined by an array of System.Drawing.PointF
3343         '     structures using the specified fill mode and tension.
3344         '
3345         ' Parameters:
3346         '   brush:
3347         '     A System.Drawing.Brush that determines the characteristics of the fill.
3348         '
3349         '   points:
3350         '     Array of System.Drawing.PointF structures that define the spline.
3351         '
3352         '   fillmode:
3353         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines how
3354         '     the curve is filled.
3355         '
3356         '   tension:
3357         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
3358         '
3359         ' Exceptions:
3360         '   T:System.ArgumentNullException:
3361         '     brush is null.-or-points is null.
3362         Public MustOverride Sub FillClosedCurve(brush As Brush, points() As PointF, fillmode As FillMode, tension As Single)
3363         '
3364         ' Summary:
3365         '     Fills the interior of a closed cardinal spline curve defined by an array of System.Drawing.Point
3366         '     structures using the specified fill mode and tension.
3367         '
3368         ' Parameters:
3369         '   brush:
3370         '     System.Drawing.Brush that determines the characteristics of the fill.
3371         '
3372         '   points:
3373         '     Array of System.Drawing.Point structures that define the spline.
3374         '
3375         '   fillmode:
3376         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines how
3377         '     the curve is filled.
3378         '
3379         '   tension:
3380         '     Value greater than or equal to 0.0F that specifies the tension of the curve.
3381         '
3382         ' Exceptions:
3383         '   T:System.ArgumentNullException:
3384         '     brush is null.-or-points is null.
3385         Public MustOverride Sub FillClosedCurve(brush As Brush, points() As Point, fillmode As FillMode, tension As Single)
3386         '
3387         ' Summary:
3388         '     Fills the interior of an ellipse defined by a bounding rectangle specified by
3389         '     a System.Drawing.Rectangle structure.
3390         '
3391         ' Parameters:
3392         '   brush:
3393         '     System.Drawing.Brush that determines the characteristics of the fill.
3394         '
3395         '   rect:
3396         '     System.Drawing.Rectangle structure that represents the bounding rectangle that
3397         '     defines the ellipse.
3398         '
3399         ' Exceptions:
3400         '   T:System.ArgumentNullException:
3401         '     brush is null.
3402         Public MustOverride Sub FillEllipse(brush As Brush, rect As Rectangle)
3403
3404         ''' <summary>
3405         ''' Fills the interior of an ellipse defined by a bounding rectangle specified by
3406         ''' a System.Drawing.RectangleF structure.
3407         ''' </summary>
3408         ''' <param name="brush">System.Drawing.Brush that determines the characteristics of the fill.</param>
3409         ''' <param name="rect">System.Drawing.RectangleF structure that represents the bounding rectangle that
3410         ''' defines the ellipse.</param>
3411         Public MustOverride Sub FillEllipse(brush As Brush, rect As RectangleF)
3412         '
3413         ' Summary:
3414         '     Fills the interior of an ellipse defined by a bounding rectangle specified by
3415         '     a pair of coordinates, a width, and a height.
3416         '
3417         ' Parameters:
3418         '   brush:
3419         '     System.Drawing.Brush that determines the characteristics of the fill.
3420         '
3421         '   x:
3422         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
3423         '     the ellipse.
3424         '
3425         '   y:
3426         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
3427         '     the ellipse.
3428         '
3429         '   width:
3430         '     Width of the bounding rectangle that defines the ellipse.
3431         '
3432         '   height:
3433         '     Height of the bounding rectangle that defines the ellipse.
3434         '
3435         ' Exceptions:
3436         '   T:System.ArgumentNullException:
3437         '     brush is null.
3438         Public MustOverride Sub FillEllipse(brush As Brush, x As Single, y As Single, width As Single, height As Single)
3439         '
3440         ' Summary:
3441         '     Fills the interior of an ellipse defined by a bounding rectangle specified by
3442         '     a pair of coordinates, a width, and a height.
3443         '
3444         ' Parameters:
3445         '   brush:
3446         '     System.Drawing.Brush that determines the characteristics of the fill.
3447         '
3448         '   x:
3449         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
3450         '     the ellipse.
3451         '
3452         '   y:
3453         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
3454         '     the ellipse.
3455         '
3456         '   width:
3457         '     Width of the bounding rectangle that defines the ellipse.
3458         '
3459         '   height:
3460         '     Height of the bounding rectangle that defines the ellipse.
3461         '
3462         ' Exceptions:
3463         '   T:System.ArgumentNullException:
3464         '     brush is null.
3465         Public MustOverride Sub FillEllipse(brush As Brush, x As Integer, y As Integer, width As Integer, height As Integer)
3466         '
3467         ' Summary:
3468         '     Fills the interior of a System.Drawing.Drawing2D.GraphicsPath.
3469         '
3470         ' Parameters:
3471         '   brush:
3472         '     System.Drawing.Brush that determines the characteristics of the fill.
3473         '
3474         '   path:
3475         '     System.Drawing.Drawing2D.GraphicsPath that represents the path to fill.
3476         '
3477         ' Exceptions:
3478         '   T:System.ArgumentNullException:
3479         '     brush is null.-or-path is null.
3480         Public MustOverride Sub FillPath(brush As Brush, path As GraphicsPath)
3481         '
3482         ' Summary:
3483         '     Fills the interior of a pie section defined by an ellipse specified by a System.Drawing.RectangleF
3484         '     structure and two radial lines.
3485         '
3486         ' Parameters:
3487         '   brush:
3488         '     System.Drawing.Brush that determines the characteristics of the fill.
3489         '
3490         '   rect:
3491         '     System.Drawing.Rectangle structure that represents the bounding rectangle that
3492         '     defines the ellipse from which the pie section comes.
3493         '
3494         '   startAngle:
3495         '     Angle in degrees measured clockwise from the x-axis to the first side of the
3496         '     pie section.
3497         '
3498         '   sweepAngle:
3499         '     Angle in degrees measured clockwise from the startAngle parameter to the second
3500         '     side of the pie section.
3501         '
3502         ' Exceptions:
3503         '   T:System.ArgumentNullException:
3504         '     brush is null.
3505         Public MustOverride Sub FillPie(brush As Brush, rect As Rectangle, startAngle As Single, sweepAngle As Single)
3506
3507         ''' <summary>
3508         ''' Fills the interior of a pie section defined by an ellipse specified by a System.Drawing.RectangleF
3509         ''' structure and two radial lines.
3510         ''' </summary>
3511         ''' <param name="brush">System.Drawing.Brush that determines the characteristics of the fill.</param>
3512         ''' <param name="rect"><see cref="RectangleF"/> structure that represents the bounding rectangle that
3513         ''' defines the ellipse from which the pie section comes.</param>
3514         ''' <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the first side of the
3515         ''' pie section.</param>
3516         ''' <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to the second
3517         ''' side of the pie section.</param>
3518         Public Sub FillPie(brush As Brush, rect As RectangleF, startAngle As Single, sweepAngle As Single)
3519             With rect
3520                 Call FillPie(brush, New Rectangle(.Location.ToPoint, .Size.ToSize), startAngle, sweepAngle)
3521             End With
3522         End Sub
3523
3524         '
3525         ' Summary:
3526         '     Fills the interior of a pie section defined by an ellipse specified by a pair
3527         '     of coordinates, a width, a height, and two radial lines.
3528         '
3529         ' Parameters:
3530         '   brush:
3531         '     System.Drawing.Brush that determines the characteristics of the fill.
3532         '
3533         '   x:
3534         '     The x-coordinate of the upper-left corner of the bounding rectangle that defines
3535         '     the ellipse from which the pie section comes.
3536         '
3537         '   y:
3538         '     The y-coordinate of the upper-left corner of the bounding rectangle that defines
3539         '     the ellipse from which the pie section comes.
3540         '
3541         '   width:
3542         '     Width of the bounding rectangle that defines the ellipse from which the pie section
3543         '     comes.
3544         '
3545         '   height:
3546         '     Height of the bounding rectangle that defines the ellipse from which the pie
3547         '     section comes.
3548         '
3549         '   startAngle:
3550         '     Angle in degrees measured clockwise from the x-axis to the first side of the
3551         '     pie section.
3552         '
3553         '   sweepAngle:
3554         '     Angle in degrees measured clockwise from the startAngle parameter to the second
3555         '     side of the pie section.
3556         '
3557         ' Exceptions:
3558         '   T:System.ArgumentNullException:
3559         '     brush is null.
3560         Public MustOverride Sub FillPie(brush As Brush, x As Integer, y As Integer, width As Integer, height As Integer, startAngle As Integer, sweepAngle As Integer)
3561
3562         ''' <summary>
3563         ''' Fills the interior of a pie section defined by an ellipse specified by a pair
3564         ''' of coordinates, a width, a height, and two radial lines.
3565         ''' </summary>
3566         ''' <param name="brush">System.Drawing.Brush that determines the characteristics of the fill.</param>
3567         ''' <param name="x">The x-coordinate of the upper-left corner of the bounding rectangle that defines
3568         ''' the ellipse from which the pie section comes.</param>
3569         ''' <param name="y">The y-coordinate of the upper-left corner of the bounding rectangle that defines
3570         ''' the ellipse from which the pie section comes.</param>
3571         ''' <param name="width">Width of the bounding rectangle that defines the ellipse from which the pie section
3572         ''' comes.</param>
3573         ''' <param name="height">Height of the bounding rectangle that defines the ellipse from which the pie
3574         ''' section comes.</param>
3575         ''' <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the first side of the
3576         ''' pie section.</param>
3577         ''' <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to the second
3578         ''' side of the pie section.</param>
3579         Public MustOverride Sub FillPie(brush As Brush, x As Single, y As Single, width As Single, height As Single, startAngle As Single, sweepAngle As Single)
3580         '
3581         ' Summary:
3582         '     Fills the interior of a polygon defined by an array of points specified by System.Drawing.Point
3583         '     structures.
3584         '
3585         ' Parameters:
3586         '   brush:
3587         '     System.Drawing.Brush that determines the characteristics of the fill.
3588         '
3589         '   points:
3590         '     Array of System.Drawing.Point structures that represent the vertices of the polygon
3591         '     to fill.
3592         '
3593         ' Exceptions:
3594         '   T:System.ArgumentNullException:
3595         '     brush is null.-or-points is null.
3596         Public MustOverride Sub FillPolygon(brush As Brush, points() As Point)
3597         '
3598         ' Summary:
3599         '     Fills the interior of a polygon defined by an array of points specified by System.Drawing.PointF
3600         '     structures.
3601         '
3602         ' Parameters:
3603         '   brush:
3604         '     System.Drawing.Brush that determines the characteristics of the fill.
3605         '
3606         '   points:
3607         '     Array of System.Drawing.PointF structures that represent the vertices of the
3608         '     polygon to fill.
3609         '
3610         ' Exceptions:
3611         '   T:System.ArgumentNullException:
3612         '     brush is null.-or-points is null.
3613         Public MustOverride Sub FillPolygon(brush As Brush, points() As PointF)
3614         '
3615         ' Summary:
3616         '     Fills the interior of a polygon defined by an array of points specified by System.Drawing.Point
3617         '     structures using the specified fill mode.
3618         '
3619         ' Parameters:
3620         '   brush:
3621         '     System.Drawing.Brush that determines the characteristics of the fill.
3622         '
3623         '   points:
3624         '     Array of System.Drawing.Point structures that represent the vertices of the polygon
3625         '     to fill.
3626         '
3627         '   fillMode:
3628         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines the
3629         '     style of the fill.
3630         '
3631         ' Exceptions:
3632         '   T:System.ArgumentNullException:
3633         '     brush is null.-or-points is null.
3634         Public MustOverride Sub FillPolygon(brush As Brush, points() As Point, fillMode As FillMode)
3635         '
3636         ' Summary:
3637         '     Fills the interior of a polygon defined by an array of points specified by System.Drawing.PointF
3638         '     structures using the specified fill mode.
3639         '
3640         ' Parameters:
3641         '   brush:
3642         '     System.Drawing.Brush that determines the characteristics of the fill.
3643         '
3644         '   points:
3645         '     Array of System.Drawing.PointF structures that represent the vertices of the
3646         '     polygon to fill.
3647         '
3648         '   fillMode:
3649         '     Member of the System.Drawing.Drawing2D.FillMode enumeration that determines the
3650         '     style of the fill.
3651         '
3652         ' Exceptions:
3653         '   T:System.ArgumentNullException:
3654         '     brush is null.-or-points is null.
3655         Public MustOverride Sub FillPolygon(brush As Brush, points() As PointF, fillMode As FillMode)
3656
3657         ''' <summary>
3658         ''' Fills the interior of a rectangle specified by a <see cref="Rectangle"/> structure.
3659         ''' </summary>
3660         ''' <param name="brush">System.Drawing.Brush that determines the characteristics of the fill.</param>
3661         ''' <param name="rect">System.Drawing.Rectangle structure that represents the rectangle to fill.</param>
3662         Public MustOverride Sub FillRectangle(brush As Brush, rect As Rectangle)
3663
3664         ''' <summary>
3665         ''' <see cref="FillRectangle(Brush, RectangleF)"/> extensions
3666         ''' </summary>
3667         ''' <param name="brush"></param>
3668         ''' <param name="x!"></param>
3669         ''' <param name="y!"></param>
3670         ''' <param name="size"></param>
3671         <MethodImpl(MethodImplOptions.AggressiveInlining)>
3672         Public Sub FillRectangle(brush As Brush, x!, y!, size As SizeF)
3673             Call FillRectangle(brush, New RectangleF() With {.X = x, .Y = y, .Size = size})
3674         End Sub
3675
3676         ''' <summary>
3677         ''' Fills the interior of a rectangle specified by a System.Drawing.RectangleF structure.
3678         ''' </summary>
3679         ''' <param name="brush">System.Drawing.Brush that determines the characteristics of the fill.</param>
3680         ''' <param name="rect">System.Drawing.RectangleF structure that represents the rectangle to fill.</param>
3681         Public MustOverride Sub FillRectangle(brush As Brush, rect As RectangleF)
3682         '
3683         ' Summary:
3684         '     Fills the interior of a rectangle specified by a pair of coordinates, a width,
3685         '     and a height.
3686         '
3687         ' Parameters:
3688         '   brush:
3689         '     System.Drawing.Brush that determines the characteristics of the fill.
3690         '
3691         '   x:
3692         '     The x-coordinate of the upper-left corner of the rectangle to fill.
3693         '
3694         '   y:
3695         '     The y-coordinate of the upper-left corner of the rectangle to fill.
3696         '
3697         '   width:
3698         '     Width of the rectangle to fill.
3699         '
3700         '   height:
3701         '     Height of the rectangle to fill.
3702         '
3703         ' Exceptions:
3704         '   T:System.ArgumentNullException:
3705         '     brush is null.
3706         Public MustOverride Sub FillRectangle(brush As Brush, x As Integer, y As Integer, width As Integer, height As Integer)
3707         '
3708         ' Summary:
3709         '     Fills the interior of a rectangle specified by a pair of coordinates, a width,
3710         '     and a height.
3711         '
3712         ' Parameters:
3713         '   brush:
3714         '     System.Drawing.Brush that determines the characteristics of the fill.
3715         '
3716         '   x:
3717         '     The x-coordinate of the upper-left corner of the rectangle to fill.
3718         '
3719         '   y:
3720         '     The y-coordinate of the upper-left corner of the rectangle to fill.
3721         '
3722         '   width:
3723         '     Width of the rectangle to fill.
3724         '
3725         '   height:
3726         '     Height of the rectangle to fill.
3727         '
3728         ' Exceptions:
3729         '   T:System.ArgumentNullException:
3730         '     brush is null.
3731         Public MustOverride Sub FillRectangle(brush As Brush, x As Single, y As Single, width As Single, height As Single)
3732         '
3733         ' Summary:
3734         '     Fills the interiors of a series of rectangles specified by System.Drawing.RectangleF
3735         '     structures.
3736         '
3737         ' Parameters:
3738         '   brush:
3739         '     System.Drawing.Brush that determines the characteristics of the fill.
3740         '
3741         '   rects:
3742         '     Array of System.Drawing.RectangleF structures that represent the rectangles to
3743         '     fill.
3744         '
3745         ' Exceptions:
3746         '   T:System.ArgumentNullException:
3747         '     brush is null.-or-rects is null.
3748         '
3749         '   T:System.ArgumentException:
3750         '     Rects is a zero-length array.
3751         Public MustOverride Sub FillRectangles(brush As Brush, rects() As RectangleF)
3752         '
3753         ' Summary:
3754         '     Fills the interiors of a series of rectangles specified by System.Drawing.Rectangle
3755         '     structures.
3756         '
3757         ' Parameters:
3758         '   brush:
3759         '     System.Drawing.Brush that determines the characteristics of the fill.
3760         '
3761         '   rects:
3762         '     Array of System.Drawing.Rectangle structures that represent the rectangles to
3763         '     fill.
3764         '
3765         ' Exceptions:
3766         '   T:System.ArgumentNullException:
3767         '     brush is null.-or-rects is null.
3768         '
3769         '   T:System.ArgumentException:
3770         '     rects is a zero-length array.
3771         Public MustOverride Sub FillRectangles(brush As Brush, rects() As Rectangle)
3772         '
3773         ' Summary:
3774         '     Fills the interior of a System.Drawing.Region.
3775         '
3776         ' Parameters:
3777         '   brush:
3778         '     System.Drawing.Brush that determines the characteristics of the fill.
3779         '
3780         '   region:
3781         '     System.Drawing.Region that represents the area to fill.
3782         '
3783         ' Exceptions:
3784         '   T:System.ArgumentNullException:
3785         '     brush is null.-or-region is null.
3786         Public MustOverride Sub FillRegion(brush As Brush, region As Region)
3787         '
3788         ' Summary:
3789         '     Forces execution of all pending graphics operations and returns immediately without
3790         '     waiting for the operations to finish.
3791         Public MustOverride Sub Flush()
3792         '
3793         ' Summary:
3794         '     Forces execution of all pending graphics operations with the method waiting or
3795         '     not waiting, as specified, to return before the operations finish.
3796         '
3797         ' Parameters:
3798         '   intention:
3799         '     Member of the System.Drawing.Drawing2D.FlushIntention enumeration that specifies
3800         '     whether the method returns immediately or waits for any existing operations to
3801         '     finish.
3802         Public MustOverride Sub Flush(intention As FlushIntention)
3803         '
3804         ' Summary:
3805         '     Updates the clip region of this System.Drawing.Graphics to the intersection of
3806         '     the current clip region and the specified System.Drawing.Region.
3807         '
3808         ' Parameters:
3809         '   region:
3810         '     System.Drawing.Region to intersect with the current region.
3811         Public MustOverride Sub IntersectClip(region As Region)
3812         '
3813         ' Summary:
3814         '     Updates the clip region of this System.Drawing.Graphics to the intersection of
3815         '     the current clip region and the specified System.Drawing.RectangleF structure.
3816         '
3817         ' Parameters:
3818         '   rect:
3819         '     System.Drawing.RectangleF structure to intersect with the current clip region.
3820         Public MustOverride Sub IntersectClip(rect As RectangleF)
3821         '
3822         ' Summary:
3823         '     Updates the clip region of this System.Drawing.Graphics to the intersection of
3824         '     the current clip region and the specified System.Drawing.Rectangle structure.
3825         '
3826         ' Parameters:
3827         '   rect:
3828         '     System.Drawing.Rectangle structure to intersect with the current clip region.
3829         Public MustOverride Sub IntersectClip(rect As Rectangle)
3830         '
3831         ' Summary:
3832         '     Multiplies the world transformation of this System.Drawing.Graphics and specified
3833         '     the System.Drawing.Drawing2D.Matrix.
3834         '
3835         ' Parameters:
3836         '   matrix:
3837         '     4x4 System.Drawing.Drawing2D.Matrix that multiplies the world transformation.
3838         Public MustOverride Sub MultiplyTransform(matrix As Matrix)
3839         '
3840         ' Summary:
3841         '     Multiplies the world transformation of this System.Drawing.Graphics and specified
3842         '     the System.Drawing.Drawing2D.Matrix in the specified order.
3843         '
3844         ' Parameters:
3845         '   matrix:
3846         '     4x4 System.Drawing.Drawing2D.Matrix that multiplies the world transformation.
3847         '
3848         '   order:
3849         '     Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that determines
3850         '     the order of the multiplication.
3851         Public MustOverride Sub MultiplyTransform(matrix As Matrix, order As MatrixOrder)
3852
3853         '
3854         ' Summary:
3855         '     Releases a device context handle obtained by a previous call to the System.Drawing.Graphics.GetHdc
3856         '     method of this System.Drawing.Graphics.
3857         '
3858         ' Parameters:
3859         '   hdc:
3860         '     Handle to a device context obtained by a previous call to the System.Drawing.Graphics.GetHdc
3861         '     method of this System.Drawing.Graphics.
3862         <EditorBrowsable(EditorBrowsableState.Advanced)>
3863         Public MustOverride Sub ReleaseHdc(hdc As IntPtr)
3864         '
3865         ' Summary:
3866         '     Releases a handle to a device context.
3867         '
3868         ' Parameters:
3869         '   hdc:
3870         '     Handle to a device context.
3871         <EditorBrowsable(EditorBrowsableState.Never)>
3872         Public MustOverride Sub ReleaseHdcInternal(hdc As IntPtr)
3873         '
3874         ' Summary:
3875         '     Resets the clip region of this System.Drawing.Graphics to an infinite region.
3876         Public MustOverride Sub ResetClip()
3877         '
3878         ' Summary:
3879         '     Resets the world transformation matrix of this System.Drawing.Graphics to the
3880         '     identity matrix.
3881         Public MustOverride Sub ResetTransform()
3882         '
3883         ' Summary:
3884         '     Restores the state of this System.Drawing.Graphics to the state represented by
3885         '     a System.Drawing.Drawing2D.GraphicsState.
3886         '
3887         ' Parameters:
3888         '   gstate:
3889         '     System.Drawing.Drawing2D.GraphicsState that represents the state to which to
3890         '     restore this System.Drawing.Graphics.
3891         Public MustOverride Sub Restore(gstate As GraphicsState)
3892         '
3893         ' Summary:
3894         '     Applies the specified rotation to the transformation matrix of this System.Drawing.Graphics.
3895         '
3896         ' Parameters:
3897         '   angle:
3898         '     Angle of rotation in degrees.
3899         Public MustOverride Sub RotateTransform(angle As Single)
3900         '
3901         ' Summary:
3902         '     Applies the specified rotation to the transformation matrix of this System.Drawing.Graphics
3903         '     in the specified order.
3904         '
3905         ' Parameters:
3906         '   angle:
3907         '     Angle of rotation in degrees.
3908         '
3909         '   order:
3910         '     Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that specifies
3911         '     whether the rotation is appended or prepended to the matrix transformation.
3912         Public MustOverride Sub RotateTransform(angle As Single, order As MatrixOrder)
3913         '
3914         ' Summary:
3915         '     Applies the specified scaling operation to the transformation matrix of this
3916         '     System.Drawing.Graphics by prepending it to the object's transformation matrix.
3917         '
3918         ' Parameters:
3919         '   sx:
3920         '     Scale factor in the x direction.
3921         '
3922         '   sy:
3923         '     Scale factor in the y direction.
3924         Public MustOverride Sub ScaleTransform(sx As Single, sy As Single)
3925         '
3926         ' Summary:
3927         '     Applies the specified scaling operation to the transformation matrix of this
3928         '     System.Drawing.Graphics in the specified order.
3929         '
3930         ' Parameters:
3931         '   sx:
3932         '     Scale factor in the x direction.
3933         '
3934         '   sy:
3935         '     Scale factor in the y direction.
3936         '
3937         '   order:
3938         '     Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that specifies
3939         '     whether the scaling operation is prepended or appended to the transformation
3940         '     matrix.
3941         Public MustOverride Sub ScaleTransform(sx As Single, sy As Single, order As MatrixOrder)
3942         '
3943         ' Summary:
3944         '     Sets the clipping region of this System.Drawing.Graphics to the rectangle specified
3945         '     by a System.Drawing.RectangleF structure.
3946         '
3947         ' Parameters:
3948         '   rect:
3949         '     System.Drawing.RectangleF structure that represents the new clip region.
3950         Public MustOverride Sub SetClip(rect As RectangleF)
3951         '
3952         ' Summary:
3953         '     Sets the clipping region of this System.Drawing.Graphics to the specified System.Drawing.Drawing2D.GraphicsPath.
3954         '
3955         ' Parameters:
3956         '   path:
3957         '     System.Drawing.Drawing2D.GraphicsPath that represents the new clip region.
3958         Public MustOverride Sub SetClip(path As GraphicsPath)
3959         '
3960         ' Summary:
3961         '     Sets the clipping region of this System.Drawing.Graphics to the rectangle specified
3962         '     by a System.Drawing.Rectangle structure.
3963         '
3964         ' Parameters:
3965         '   rect:
3966         '     System.Drawing.Rectangle structure that represents the new clip region.
3967         Public MustOverride Sub SetClip(rect As Rectangle)
3968         '
3969         ' Summary:
3970         '     Sets the clipping region of this System.Drawing.Graphics to the Clip property
3971         '     of the specified System.Drawing.Graphics.
3972         '
3973         ' Parameters:
3974         '   g:
3975         '     System.Drawing.Graphics from which to take the new clip region.
3976         Public MustOverride Sub SetClip(g As Graphics)
3977         '
3978         ' Summary:
3979         '     Sets the clipping region of this System.Drawing.Graphics to the result of the
3980         '     specified operation combining the current clip region and the rectangle specified
3981         '     by a System.Drawing.Rectangle structure.
3982         '
3983         ' Parameters:
3984         '   rect:
3985         '     System.Drawing.Rectangle structure to combine.
3986         '
3987         '   combineMode:
3988         '     Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies
3989         '     the combining operation to use.
3990         Public MustOverride Sub SetClip(rect As Rectangle, combineMode As CombineMode)
3991         '
3992         ' Summary:
3993         '     Sets the clipping region of this System.Drawing.Graphics to the result of the
3994         '     specified operation combining the current clip region and the specified System.Drawing.Region.
3995         '
3996         ' Parameters:
3997         '   region:
3998         '     System.Drawing.Region to combine.
3999         '
4000         '   combineMode:
4001         '     Member from the System.Drawing.Drawing2D.CombineMode enumeration that specifies
4002         '     the combining operation to use.
4003         Public MustOverride Sub SetClip(region As Region, combineMode As CombineMode)
4004         '
4005         ' Summary:
4006         '     Sets the clipping region of this System.Drawing.Graphics to the result of the
4007         '     specified operation combining the current clip region and the specified System.Drawing.Drawing2D.GraphicsPath.
4008         '
4009         ' Parameters:
4010         '   path:
4011         '     System.Drawing.Drawing2D.GraphicsPath to combine.
4012         '
4013         '   combineMode:
4014         '     Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies
4015         '     the combining operation to use.
4016         Public MustOverride Sub SetClip(path As GraphicsPath, combineMode As CombineMode)
4017         '
4018         ' Summary:
4019         '     Sets the clipping region of this System.Drawing.Graphics to the result of the
4020         '     specified operation combining the current clip region and the rectangle specified
4021         '     by a System.Drawing.RectangleF structure.
4022         '
4023         ' Parameters:
4024         '   rect:
4025         '     System.Drawing.RectangleF structure to combine.
4026         '
4027         '   combineMode:
4028         '     Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies
4029         '     the combining operation to use.
4030         Public MustOverride Sub SetClip(rect As RectangleF, combineMode As CombineMode)
4031         '
4032         ' Summary:
4033         '     Sets the clipping region of this System.Drawing.Graphics to the result of the
4034         '     specified combining operation of the current clip region and the System.Drawing.Graphics.Clip
4035         '     property of the specified System.Drawing.Graphics.
4036         '
4037         ' Parameters:
4038         '   g:
4039         '     System.Drawing.Graphics that specifies the clip region to combine.
4040         '
4041         '   combineMode:
4042         '     Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies
4043         '     the combining operation to use.
4044         Public MustOverride Sub SetClip(g As Graphics, combineMode As CombineMode)
4045         '
4046         ' Summary:
4047         '     Transforms an array of points from one coordinate space to another using the
4048         '     current world and page transformations of this System.Drawing.Graphics.
4049         '
4050         ' Parameters:
4051         '   destSpace:
4052         '     Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies
4053         '     the destination coordinate space.
4054         '
4055         '   srcSpace:
4056         '     Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies
4057         '     the source coordinate space.
4058         '
4059         '   pts:
4060         '     Array of System.Drawing.Point structures that represents the points to transformation.
4061         Public MustOverride Sub TransformPoints(destSpace As CoordinateSpace, srcSpace As CoordinateSpace, pts() As Point)
4062         '
4063         ' Summary:
4064         '     Transforms an array of points from one coordinate space to another using the
4065         '     current world and page transformations of this System.Drawing.Graphics.
4066         '
4067         ' Parameters:
4068         '   destSpace:
4069         '     Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies
4070         '     the destination coordinate space.
4071         '
4072         '   srcSpace:
4073         '     Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies
4074         '     the source coordinate space.
4075         '
4076         '   pts:
4077         '     Array of System.Drawing.PointF structures that represent the points to transform.
4078         Public MustOverride Sub TransformPoints(destSpace As CoordinateSpace, srcSpace As CoordinateSpace, pts() As PointF)
4079         '
4080         ' Summary:
4081         '     Translates the clipping region of this System.Drawing.Graphics by specified amounts
4082         '     in the horizontal and vertical directions.
4083         '
4084         ' Parameters:
4085         '   dx:
4086         '     The x-coordinate of the translation.
4087         '
4088         '   dy:
4089         '     The y-coordinate of the translation.
4090         Public MustOverride Sub TranslateClip(dx As Single, dy As Single)
4091         '
4092         ' Summary:
4093         '     Translates the clipping region of this System.Drawing.Graphics by specified amounts
4094         '     in the horizontal and vertical directions.
4095         '
4096         ' Parameters:
4097         '   dx:
4098         '     The x-coordinate of the translation.
4099         '
4100         '   dy:
4101         '     The y-coordinate of the translation.
4102         Public MustOverride Sub TranslateClip(dx As Integer, dy As Integer)
4103         '
4104         ' Summary:
4105         '     Changes the origin of the coordinate system by prepending the specified translation
4106         '     to the transformation matrix of this System.Drawing.Graphics.
4107         '
4108         ' Parameters:
4109         '   dx:
4110         '     The x-coordinate of the translation.
4111         '
4112         '   dy:
4113         '     The y-coordinate of the translation.
4114         Public MustOverride Sub TranslateTransform(dx As Single, dy As Single)
4115         '
4116         ' Summary:
4117         '     Changes the origin of the coordinate system by applying the specified translation
4118         '     to the transformation matrix of this System.Drawing.Graphics in the specified
4119         '     order.
4120         '
4121         ' Parameters:
4122         '   dx:
4123         '     The x-coordinate of the translation.
4124         '
4125         '   dy:
4126         '     The y-coordinate of the translation.
4127         '
4128         '   order:
4129         '     Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that specifies
4130         '     whether the translation is prepended or appended to the transformation matrix.
4131         Public MustOverride Sub TranslateTransform(dx As Single, dy As Single, order As MatrixOrder)
4132
4133         Protected Overrides Sub Finalize()
4134             Call MyBase.Finalize()
4135         End Sub
4136
4137         '
4138         ' Summary:
4139         '     Saves a graphics container with the current state of this System.Drawing.Graphics
4140         '     and opens and uses a new graphics container.
4141         '
4142         Returns:
4143         '     This method returns a System.Drawing.Drawing2D.GraphicsContainer that represents
4144         '     the state of this System.Drawing.Graphics at the time of the method call.
4145         Public MustOverride Function BeginContainer() As GraphicsContainer
4146         '
4147         ' Summary:
4148         '     Saves a graphics container with the current state of this System.Drawing.Graphics
4149         '     and opens and uses a new graphics container with the specified scale transformation.
4150         '
4151         ' Parameters:
4152         '   dstrect:
4153         '     System.Drawing.RectangleF structure that, together with the srcrect parameter,
4154         '     specifies a scale transformation for the new graphics container.
4155         '
4156         '   srcrect:
4157         '     System.Drawing.RectangleF structure that, together with the dstrect parameter,
4158         '     specifies a scale transformation for the new graphics container.
4159         '
4160         '   unit:
4161         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
4162         '     of measure for the container.
4163         '
4164         Returns:
4165         '     This method returns a System.Drawing.Drawing2D.GraphicsContainer that represents
4166         '     the state of this System.Drawing.Graphics at the time of the method call.
4167         Public MustOverride Function BeginContainer(dstrect As RectangleF, srcrect As RectangleF, unit As GraphicsUnit) As GraphicsContainer
4168         '
4169         ' Summary:
4170         '     Saves a graphics container with the current state of this System.Drawing.Graphics
4171         '     and opens and uses a new graphics container with the specified scale transformation.
4172         '
4173         ' Parameters:
4174         '   dstrect:
4175         '     System.Drawing.Rectangle structure that, together with the srcrect parameter,
4176         '     specifies a scale transformation for the container.
4177         '
4178         '   srcrect:
4179         '     System.Drawing.Rectangle structure that, together with the dstrect parameter,
4180         '     specifies a scale transformation for the container.
4181         '
4182         '   unit:
4183         '     Member of the System.Drawing.GraphicsUnit enumeration that specifies the unit
4184         '     of measure for the container.
4185         '
4186         Returns:
4187         '     This method returns a System.Drawing.Drawing2D.GraphicsContainer that represents
4188         '     the state of this System.Drawing.Graphics at the time of the method call.
4189         Public MustOverride Function BeginContainer(dstrect As Rectangle, srcrect As Rectangle, unit As GraphicsUnit) As GraphicsContainer
4190         '
4191         ' Summary:
4192         '     Gets the cumulative graphics context.
4193         '
4194         Returns:
4195         '     An System.Object representing the cumulative graphics context.
4196         <EditorBrowsable(EditorBrowsableState.Never)>
4197         Public MustOverride Function GetContextInfo() As Object
4198
4199         '
4200         ' Summary:
4201         '     Gets the nearest color to the specified System.Drawing.Color structure.
4202         '
4203         ' Parameters:
4204         '   color:
4205         '     System.Drawing.Color structure for which to find a match.
4206         '
4207         Returns:
4208         '     A System.Drawing.Color structure that represents the nearest color to the one
4209         '     specified with the color parameter.
4210         Public MustOverride Function GetNearestColor(color As Color) As Color
4211         '
4212         ' Summary:
4213         '     Indicates whether the rectangle specified by a System.Drawing.Rectangle structure
4214         '     is contained within the visible clip region of this System.Drawing.Graphics.
4215         '
4216         ' Parameters:
4217         '   rect:
4218         '     System.Drawing.Rectangle structure to test for visibility.
4219         '
4220         Returns:
4221         '     true if the rectangle specified by the rect parameter is contained within the
4222         '     visible clip region of this System.Drawing.Graphics; otherwise, false.
4223         Public MustOverride Function IsVisible(rect As Rectangle) As Boolean
4224         '
4225         ' Summary:
4226         '     Indicates whether the specified System.Drawing.PointF structure is contained
4227         '     within the visible clip region of this System.Drawing.Graphics.
4228         '
4229         ' Parameters:
4230         '   point:
4231         '     System.Drawing.PointF structure to test for visibility.
4232         '
4233         Returns:
4234         '     true if the point specified by the point parameter is contained within the visible
4235         '     clip region of this System.Drawing.Graphics; otherwise, false.
4236         Public MustOverride Function IsVisible(point As PointF) As Boolean
4237         '
4238         ' Summary:
4239         '     Indicates whether the rectangle specified by a System.Drawing.RectangleF structure
4240         '     is contained within the visible clip region of this System.Drawing.Graphics.
4241         '
4242         ' Parameters:
4243         '   rect:
4244         '     System.Drawing.RectangleF structure to test for visibility.
4245         '
4246         Returns:
4247         '     true if the rectangle specified by the rect parameter is contained within the
4248         '     visible clip region of this System.Drawing.Graphics; otherwise, false.
4249         Public MustOverride Function IsVisible(rect As RectangleF) As Boolean
4250         '
4251         ' Summary:
4252         '     Indicates whether the specified System.Drawing.Point structure is contained within
4253         '     the visible clip region of this System.Drawing.Graphics.
4254         '
4255         ' Parameters:
4256         '   point:
4257         '     System.Drawing.Point structure to test for visibility.
4258         '
4259         Returns:
4260         '     true if the point specified by the point parameter is contained within the visible
4261         '     clip region of this System.Drawing.Graphics; otherwise, false.
4262         Public MustOverride Function IsVisible(point As Point) As Boolean
4263         '
4264         ' Summary:
4265         '     Indicates whether the point specified by a pair of coordinates is contained within
4266         '     the visible clip region of this System.Drawing.Graphics.
4267         '
4268         ' Parameters:
4269         '   x:
4270         '     The x-coordinate of the point to test for visibility.
4271         '
4272         '   y:
4273         '     The y-coordinate of the point to test for visibility.
4274         '
4275         Returns:
4276         '     true if the point defined by the x and y parameters is contained within the visible
4277         '     clip region of this System.Drawing.Graphics; otherwise, false.
4278         Public MustOverride Function IsVisible(x As Single, y As SingleAs Boolean
4279         '
4280         ' Summary:
4281         '     Indicates whether the point specified by a pair of coordinates is contained within
4282         '     the visible clip region of this System.Drawing.Graphics.
4283         '
4284         ' Parameters:
4285         '   x:
4286         '     The x-coordinate of the point to test for visibility.
4287         '
4288         '   y:
4289         '     The y-coordinate of the point to test for visibility.
4290         '
4291         Returns:
4292         '     true if the point defined by the x and y parameters is contained within the visible
4293         '     clip region of this System.Drawing.Graphics; otherwise, false.
4294         Public MustOverride Function IsVisible(x As Integer, y As IntegerAs Boolean
4295         '
4296         ' Summary:
4297         '     Indicates whether the rectangle specified by a pair of coordinates, a width,
4298         '     and a height is contained within the visible clip region of this System.Drawing.Graphics.
4299         '
4300         ' Parameters:
4301         '   x:
4302         '     The x-coordinate of the upper-left corner of the rectangle to test for visibility.
4303         '
4304         '   y:
4305         '     The y-coordinate of the upper-left corner of the rectangle to test for visibility.
4306         '
4307         '   width:
4308         '     Width of the rectangle to test for visibility.
4309         '
4310         '   height:
4311         '     Height of the rectangle to test for visibility.
4312         '
4313         Returns:
4314         '     true if the rectangle defined by the x, y, width, and height parameters is contained
4315         '     within the visible clip region of this System.Drawing.Graphics; otherwise, false.
4316         Public MustOverride Function IsVisible(x As Integer, y As Integer, width As Integer, height As IntegerAs Boolean
4317         '
4318         ' Summary:
4319         '     Indicates whether the rectangle specified by a pair of coordinates, a width,
4320         '     and a height is contained within the visible clip region of this System.Drawing.Graphics.
4321         '
4322         ' Parameters:
4323         '   x:
4324         '     The x-coordinate of the upper-left corner of the rectangle to test for visibility.
4325         '
4326         '   y:
4327         '     The y-coordinate of the upper-left corner of the rectangle to test for visibility.
4328         '
4329         '   width:
4330         '     Width of the rectangle to test for visibility.
4331         '
4332         '   height:
4333         '     Height of the rectangle to test for visibility.
4334         '
4335         Returns:
4336         '     true if the rectangle defined by the x, y, width, and height parameters is contained
4337         '     within the visible clip region of this System.Drawing.Graphics; otherwise, false.
4338         Public MustOverride Function IsVisible(x As Single, y As Single, width As Single, height As SingleAs Boolean
4339         '
4340         ' Summary:
4341         '     Gets an array of System.Drawing.Region objects, each of which bounds a range
4342         '     of character positions within the specified string.
4343         '
4344         ' Parameters:
4345         '   text:
4346         '     String to measure.
4347         '
4348         '   font:
4349         '     System.Drawing.Font that defines the text format of the string.
4350         '
4351         '   layoutRect:
4352         '     System.Drawing.RectangleF structure that specifies the layout rectangle for the
4353         '     string.
4354         '
4355         '   stringFormat:
4356         '     System.Drawing.StringFormat that represents formatting information, such as line
4357         '     spacing, for the string.
4358         '
4359         Returns:
4360         '     This method returns an array of System.Drawing.Region objects, each of which
4361         '     bounds a range of character positions within the specified string.
4362         Public MustOverride Function MeasureCharacterRanges(text As String, font As Font, layoutRect As RectangleF, stringFormat As StringFormat) As Region()
4363
4364         ''' <summary>
4365         ''' Measures the specified string when drawn with the specified <see cref="System.Drawing.Font"/>.
4366         ''' </summary>
4367         ''' <param name="text">String to measure.</param>
4368         ''' <param name="font">System.Drawing.Font that defines the text format of the string.</param>
4369         ''' <returns>This method returns a System.Drawing.SizeF structure that represents the size,
4370         ''' in the units specified by the System.Drawing.Graphics.PageUnit property, of the
4371         ''' string specified by the text parameter as drawn with the font parameter.
4372         ''' </returns>
4373         Public MustOverride Function MeasureString(text As String, font As Font) As SizeF
4374
4375         ''' <summary>
4376         ''' Measures the specified string when drawn with the specified System.Drawing.Font.
4377         ''' </summary>
4378         ''' <param name="text">String to measure.</param>
4379         ''' <param name="font">System.Drawing.Font that defines the format of the string.</param>
4380         ''' <param name="width">Maximum width of the string in pixels.</param>
4381         ''' <returns>This method returns a System.Drawing.SizeF structure that represents the size,
4382         ''' in the units specified by the System.Drawing.Graphics.PageUnit property, of the
4383         ''' string specified in the text parameter as drawn with the font parameter.</returns>
4384         Public MustOverride Function MeasureString(text As String, font As Font, width As IntegerAs SizeF
4385         '
4386         ' Summary:
4387         '     Measures the specified string when drawn with the specified System.Drawing.Font
4388         '     within the specified layout area.
4389         '
4390         ' Parameters:
4391         '   text:
4392         '     String to measure.
4393         '
4394         '   font:
4395         '     System.Drawing.Font defines the text format of the string.
4396         '
4397         '   layoutArea:
4398         '     System.Drawing.SizeF structure that specifies the maximum layout area for the
4399         '     text.
4400         '
4401         Returns:
4402         '     This method returns a System.Drawing.SizeF structure that represents the size,
4403         '     in the units specified by the System.Drawing.Graphics.PageUnit property, of the
4404         '     string specified by the text parameter as drawn with the font parameter.
4405         '
4406         ' Exceptions:
4407         '   T:System.ArgumentException:
4408         '     font is null.
4409         Public MustOverride Function MeasureString(text As String, font As Font, layoutArea As SizeF) As SizeF
4410         '
4411         ' Summary:
4412         '     Measures the specified string when drawn with the specified System.Drawing.Font
4413         '     and formatted with the specified System.Drawing.StringFormat.
4414         '
4415         ' Parameters:
4416         '   text:
4417         '     String to measure.
4418         '
4419         '   font:
4420         '     System.Drawing.Font that defines the text format of the string.
4421         '
4422         '   width:
4423         '     Maximum width of the string.
4424         '
4425         '   format:
4426         '     System.Drawing.StringFormat that represents formatting information, such as line
4427         '     spacing, for the string.
4428         '
4429         Returns:
4430         '     This method returns a System.Drawing.SizeF structure that represents the size,
4431         '     in the units specified by the System.Drawing.Graphics.PageUnit property, of the
4432         '     string specified in the text parameter as drawn with the font parameter and the
4433         '     stringFormat parameter.
4434         '
4435         ' Exceptions:
4436         '   T:System.ArgumentException:
4437         '     font is null.
4438         Public MustOverride Function MeasureString(text As String, font As Font, width As Integer, format As StringFormat) As SizeF
4439         '
4440         ' Summary:
4441         '     Measures the specified string when drawn with the specified System.Drawing.Font
4442         '     and formatted with the specified System.Drawing.StringFormat.
4443         '
4444         ' Parameters:
4445         '   text:
4446         '     String to measure.
4447         '
4448         '   font:
4449         '     System.Drawing.Font defines the text format of the string.
4450         '
4451         '   origin:
4452         '     System.Drawing.PointF structure that represents the upper-left corner of the
4453         '     string.
4454         '
4455         '   stringFormat:
4456         '     System.Drawing.StringFormat that represents formatting information, such as line
4457         '     spacing, for the string.
4458         '
4459         Returns:
4460         '     This method returns a System.Drawing.SizeF structure that represents the size,
4461         '     in the units specified by the System.Drawing.Graphics.PageUnit property, of the
4462         '     string specified by the text parameter as drawn with the font parameter and the
4463         '     stringFormat parameter.
4464         '
4465         ' Exceptions:
4466         '   T:System.ArgumentException:
4467         '     font is null.
4468         Public MustOverride Function MeasureString(text As String, font As Font, origin As PointF, stringFormat As StringFormat) As SizeF
4469         '
4470         ' Summary:
4471         '     Measures the specified string when drawn with the specified System.Drawing.Font
4472         '     and formatted with the specified System.Drawing.StringFormat.
4473         '
4474         ' Parameters:
4475         '   text:
4476         '     String to measure.
4477         '
4478         '   font:
4479         '     System.Drawing.Font defines the text format of the string.
4480         '
4481         '   layoutArea:
4482         '     System.Drawing.SizeF structure that specifies the maximum layout area for the
4483         '     text.
4484         '
4485         '   stringFormat:
4486         '     System.Drawing.StringFormat that represents formatting information, such as line
4487         '     spacing, for the string.
4488         '
4489         Returns:
4490         '     This method returns a System.Drawing.SizeF structure that represents the size,
4491         '     in the units specified by the System.Drawing.Graphics.PageUnit property, of the
4492         '     string specified in the text parameter as drawn with the font parameter and the
4493         '     stringFormat parameter.
4494         '
4495         ' Exceptions:
4496         '   T:System.ArgumentException:
4497         '     font is null.
4498         Public MustOverride Function MeasureString(text As String, font As Font, layoutArea As SizeF, stringFormat As StringFormat) As SizeF
4499         '
4500         ' Summary:
4501         '     Measures the specified string when drawn with the specified System.Drawing.Font
4502         '     and formatted with the specified System.Drawing.StringFormat.
4503         '
4504         ' Parameters:
4505         '   text:
4506         '     String to measure.
4507         '
4508         '   font:
4509         '     System.Drawing.Font that defines the text format of the string.
4510         '
4511         '   layoutArea:
4512         '     System.Drawing.SizeF structure that specifies the maximum layout area for the
4513         '     text.
4514         '
4515         '   stringFormat:
4516         '     System.Drawing.StringFormat that represents formatting information, such as line
4517         '     spacing, for the string.
4518         '
4519         '   charactersFitted:
4520         '     Number of characters in the string.
4521         '
4522         '   linesFilled:
4523         '     Number of text lines in the string.
4524         '
4525         Returns:
4526         '     This method returns a System.Drawing.SizeF structure that represents the size
4527         '     of the string, in the units specified by the System.Drawing.Graphics.PageUnit
4528         '     property, of the text parameter as drawn with the font parameter and the stringFormat
4529         '     parameter.
4530         '
4531         ' Exceptions:
4532         '   T:System.ArgumentException:
4533         '     font is null.
4534         Public MustOverride Function MeasureString(text As String, font As Font, layoutArea As SizeF, stringFormat As StringFormat, ByRef charactersFitted As IntegerByRef linesFilled As IntegerAs SizeF
4535
4536     End Class
4537 End Namespace