Skip to content

GeoCanvas

Namespace: ThinkGeo.Core

This class represents a view that is used to draw geographic shapes. It is intended to be inherited for the implementation of different drawing systems, such as GDI+ or WPF.

public abstract class GeoCanvas

Inheritance Object → GeoCanvas

Remarks:

This class allows you to implement different drawing systems, such as GDI+, GDI, or WPF. It can also be used for other systems, such as PDF.

The basic flow of the use of the class is to first call BeginDrawing and pass in an image along with its world extent.

Properties

CurrentScale

This property gets the current scale of the view.

public double CurrentScale { get; }

Property Value

Double

Exceptions

InvalidOperationException
In the event you attempt to call this property when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

FontDisplayDensity

This property gets and sets the current device pixel ratio of platform. It would be used by scale text and icon from map. Android: it's "Application.Context.Resources.DisplayMetrics.Density". iOS: it's "UIScreen.MainScreen.Scale". Others: it's default value "1".

public double FontDisplayDensity { get; }

Property Value

Double

DrawingQuality

This property returns the drawing quality when rendering on the GeoCanvas.

public DrawingQuality DrawingQuality { get; set; }

Property Value

DrawingQuality

Remarks:

The DrawingQuality specifies whether BaseLineShapes, BasePointShapes, and BaseAreaShapes use anti-aliasing methods or other techniques that control the quality. In some cases you may want a higher quality rendering, and in other cases higher speed is more desirable. It is up to the implementer of the derived GeoCanvas class to control exactly what this setting means.

MapUnit

This property returns the MapUnit passed in on the BeginDrawingAPI in the GeoCanvas.

public GeographyUnit MapUnit { get; }

Property Value

GeographyUnit

Width

This property gets the width of the view.

public float Width { get; protected set; }

Property Value

Single

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

Remarks:

This property reflects the width of the view image that was passed in on BeginDrawing.

Height

This property gets the height of the view.

public float Height { get; protected set; }

Property Value

Single

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

Remarks:

This property reflects the height of the view image that was passed in on BeginDrawing.

CurrentWorldExtent

This property gets the adjusted current extent based on what was set when BeginDrawing was called.

public RectangleShape CurrentWorldExtent { get; protected set; }

Property Value

RectangleShape

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

Remarks:

The extent that gets passed in on BeginDrawing is adjusted for the height and width of the physical media being drawn on. For example if the current extent is wider than taller but the bitmap being drawn on is square then the current extent needs to be adjusted. The extent will be adjusted larger so that we ensure that the entire original extent will still be represented.

SupportKeyColor

This property indicates whether a GeoCanvas has the KeyColor or not. If it has no KeyColor, it will throw an exception when you get or set the value of KeyColors property.

public bool SupportKeyColor { get; }

Property Value

Boolean

Remarks:

The default value is false.

KeyColors

Gets a value represents a collection of key colors. If SupportKeyColor property is false, it will throw exception when you use KeyColors.

public Collection<GeoColor> KeyColors { get; }

Property Value

Collection<GeoColor>

Remarks:

It will make these colors transparent when draw image.

NativeImage

The same reference to the parameter 'NativeImage' in BeginDrawing function.

public object NativeImage { get; }

Property Value

Object

IsDrawing

This property gets the drawing status of the GeoCanvas.

public bool IsDrawing { get; protected set; }

Property Value

Boolean

Remarks:

This property is set to true when the BeginDrawing method is called, and false after the EndDrawing method is called.

Dpi

The DPI value for the final drawing result, only valid when HasDpi set to true.

public float Dpi { get; set; }

Property Value

Single

ScaleFactor

Gets or sets the scale factor, this is a value number of device pixels per logical coordinate point.

public float ScaleFactor { get; set; }

Property Value

Single

        The scale factory value.

Remarks:

The coordinate space used by application developers is measured in logical points. High-resolution (Retina) displays will have more than a single physical pixel per logical point and this property specifies the scale factor.

CancellationTokenSource

public CancellationTokenSource CancellationTokenSource { get; set; }

Property Value

CancellationTokenSource

CancellationToken

Gets or sets the cancellation token source.

public CancellationToken CancellationToken { get; set; }

Property Value

CancellationToken

        The cancellation token source.

ClippingArea

It's a property only used in printing related Canvas such as PdfGeoCanvas and PrinterGeoCanvas

public RectangleShape ClippingArea { get; set; }

Property Value

RectangleShape

Methods

EndDrawingCore()

This method ends drawing and commits the drawing on the GeoCanvas.

protected abstract void EndDrawingCore()

Remarks:

This methods should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.

Flush()

This method flush drawing and commits the drawing on the GeoCanvas.

public void Flush()

Remarks:

This method should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.

FlushCore()

This method flush drawing and commits the drawing on the GeoCanvas.

protected abstract void FlushCore()

Remarks:

This method should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.

OnDrawingProgressChanged(DrawingProgressChangedEventArgs)

Raises the event.

protected void OnDrawingProgressChanged(DrawingProgressChangedEventArgs e)

Parameters

e DrawingProgressChangedEventArgs
The instance containing the event data.

MeasureOffset(Double)

public double MeasureOffset(double offsetInPixel)

Parameters

offsetInPixel Double

Returns

Double

MeasureOffsetCore(Double)

protected double MeasureOffsetCore(double offsetInPixel)

Parameters

offsetInPixel Double

Returns

Double

ToWorldCoordinate(DrawingRectangleF)

internal RectangleShape ToWorldCoordinate(DrawingRectangleF drawingRectangle)

Parameters

drawingRectangle DrawingRectangleF

Returns

RectangleShape

CalculateYOffsetWithTextBaseline(GeoFont, DrawingTextBaseline, String)

internal float CalculateYOffsetWithTextBaseline(GeoFont font, DrawingTextBaseline textBaseline, string text)

Parameters

font GeoFont

textBaseline DrawingTextBaseline

text String

Returns

Single

Clear(GeoBrush)

This method clears the current GeoCanvas using the color specified.

public void Clear(GeoBrush fillBrush)

Parameters

fillBrush GeoBrush

Remarks:

Use this method to clear the GeoCanvas.

ClearCore(GeoBrush)

This method clears the current GeoCanvas using the color specified.

protected void ClearCore(GeoBrush fillBrush)

Parameters

fillBrush GeoBrush
This parameter specifies the the brush that will be used to clear the GeoCanvas.

Remarks:

Use this method to clear the GeoCanvas.

This method is designed to be overridden by the deriving class.

DrawArc(GeoPen, DrawingRectangleF, Single, Single, DrawingLevel)

Draws the arc.

public void DrawArc(GeoPen pen, DrawingRectangleF rect, float startAngle, float sweepAngle, DrawingLevel drawingLevel)

Parameters

pen GeoPen
The pen.

rect DrawingRectangleF
The rect.

startAngle Single
The start angle.

sweepAngle Single
The sweep angle.

drawingLevel DrawingLevel
The drawing level.

DrawArc(GeoPen, Single, Single, Single, Single, Single, Single, DrawingLevel)

Draws the arc.

public void DrawArc(GeoPen pen, float x, float y, float width, float height, float startAngle, float sweepAngle, DrawingLevel drawingLevel)

Parameters

pen GeoPen
The pen.

x Single
The x.

y Single
The y.

width Single
The width.

height Single
The height.

startAngle Single
The start angle.

sweepAngle Single
The sweep angle.

drawingLevel DrawingLevel
The drawing level.

DrawArcCore(GeoPen, Single, Single, Single, Single, Single, Single, DrawingLevel)

Draws the arc core.

protected abstract void DrawArcCore(GeoPen pen, float x, float y, float width, float height, float startAngle, float sweepAngle, DrawingLevel drawingLevel)

Parameters

pen GeoPen
The pen.

x Single
The x.

y Single
The y.

width Single
The width.

height Single
The height.

startAngle Single
The start angle.

sweepAngle Single
The sweep angle.

drawingLevel DrawingLevel
The drawing level.

DrawArea(Feature, GeoPen, DrawingLevel)

This method draws an area on the GeoCanvas.

public void DrawArea(Feature feature, GeoPen outlinePen, DrawingLevel drawingLevel)

Parameters

feature Feature
This parameter is the area feature.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        area.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(AreaBaseShape, GeoPen, DrawingLevel)

This method draws an area on the GeoCanvas.

public void DrawArea(AreaBaseShape shape, GeoPen outlinePen, DrawingLevel drawingLevel)

Parameters

shape AreaBaseShape
This parameter is the area shape.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        area.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(Feature, GeoBrush, DrawingLevel)

This method draws an area on the GeoCanvas.

public void DrawArea(Feature feature, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

feature Feature
This parameter is the AreaShape in well-known binary format.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(AreaBaseShape, GeoBrush, DrawingLevel)

This method draws an area on the GeoCanvas.

public void DrawArea(AreaBaseShape shape, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

shape AreaBaseShape
This parameter is the area shape to be drawn.

fillBrush GeoBrush

        This parameter describes the fill Brush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(Feature, GeoPen, GeoBrush, DrawingLevel)

This method draws an area on the GeoCanvas.

public void DrawArea(Feature feature, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

feature Feature
This parameter is the AreaFeature to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        AreaShape.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(AreaBaseShape, GeoPen, GeoBrush, DrawingLevel)

This method draws an area on the GeoCanvas.

public void DrawArea(AreaBaseShape shape, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

shape AreaBaseShape
This parameter is the area shape to be drawn.

outlinePen GeoPen
This parameter describes the outline pen that will be used to draw the AreaShape.

fillBrush GeoBrush

        This parameter describes the fill Brush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(Feature, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

This method draws an area on the GeoCanvas.

public void DrawArea(Feature feature, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

feature Feature
This parameter is the AreaFeature to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        AreaShape.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature that will be drawn.

yOffset Single
This parameter determines the Y offset for the feature that will be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushingDrawingOrder used when drawing the area type feature.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(AreaBaseShape, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

This method draws an area on the GeoCanvas.

public void DrawArea(AreaBaseShape shape, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

shape AreaBaseShape
This parameter is the area shape to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        AreaShape.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawArea(IEnumerable<ScreenPointF[]>, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

This method draws an area on the GeoCanvas.

public void DrawArea(IEnumerable<ScreenPointF[]> screenPoints, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

screenPoints IEnumerable<ScreenPointF[]>
This parameter is the AreaShape in well-known binary format.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        AreaShape.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawAreaCore(IEnumerable<ScreenPointF[]>, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

This method draws an area on the GeoCanvas.

protected abstract void DrawAreaCore(IEnumerable<ScreenPointF[]> screenPoints, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

screenPoints IEnumerable<ScreenPointF[]>
This parameter is the AreaShape in well-known binary format.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        AreaShape.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        AreaShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.

DrawLine(Feature, GeoPen, DrawingLevel)

Draws a line on the GeoCanvas.

public void DrawLine(Feature feature, GeoPen linePen, DrawingLevel drawingLevel)

Parameters

feature Feature
This parameter is the line feature.

linePen GeoPen
This parameter describes the GeoPen that will be used to draw the line.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the linePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a line on the GeoCanvas using the specified GeoPen.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.

DrawLine(LineBaseShape, GeoPen, DrawingLevel)

Draws a line on the GeoCanvas.

public void DrawLine(LineBaseShape shape, GeoPen linePen, DrawingLevel drawingLevel)

Parameters

shape LineBaseShape
This parameter is the line shape to be drawn by GeoCannvas.

linePen GeoPen
This parameter describes the GeoPen that will be used to draw the line.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the linePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a line on the GeoCanvas using the specified GeoPen.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.

DrawLine(Feature, GeoPen, DrawingLevel, Single, Single)

Draws a line on the GeoCanvas.

public void DrawLine(Feature feature, GeoPen linePen, DrawingLevel drawingLevel, float xOffset, float yOffset)

Parameters

feature Feature
This parameter is the line feature to be drawn by GeoCannvas.

linePen GeoPen
This parameter describes the GeoPen that will be used to draw the line.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the linePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a line on the GeoCanvas using the specified GeoPen.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.

DrawLine(LineBaseShape, GeoPen, DrawingLevel, Single, Single)

Draws a line on the GeoCanvas.

public void DrawLine(LineBaseShape shape, GeoPen linePen, DrawingLevel drawingLevel, float xOffset, float yOffset)

Parameters

shape LineBaseShape
This parameter is the line shape to be drawn by GeoCannvas.

linePen GeoPen
This parameter describes the GeoPen that will be used to draw the line.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the linePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a line on the GeoCanvas using the specified GeoPen.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.

DrawLine(IEnumerable<ScreenPointF>, GeoPen, DrawingLevel, Single, Single)

Draws the LineShape on the GeoCanvas.

public void DrawLine(IEnumerable<ScreenPointF> screenPoints, GeoPen linePen, DrawingLevel drawingLevel, float xOffset, float yOffset)

Parameters

screenPoints IEnumerable<ScreenPointF>
This parameter is the LineShape in well-known binary format.

linePen GeoPen

        This parameter describes the GeoPen that will be used to draw the
        LineShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the linePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a line on the GeoCanvas using the specified GeoPen.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.

DrawLineCore(IEnumerable<ScreenPointF>, GeoPen, DrawingLevel, Single, Single)

Draws the LineShape on the GeoCanvas.

protected abstract void DrawLineCore(IEnumerable<ScreenPointF> screenPoints, GeoPen linePen, DrawingLevel drawingLevel, float xOffset, float yOffset)

Parameters

screenPoints IEnumerable<ScreenPointF>
This parameter is the LineShape in well-known binary format.

linePen GeoPen

        This parameter describes the GeoPen that will be used to draw the
        LineShape.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

xOffset Single
This parameter determines the X offset for the feature to be drawn.

yOffset Single
This parameter determines the Y offset for the feature to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the linePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a line on the GeoCanvas using the specified GeoPen.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.

DrawEllipse(Feature, Single, Single, GeoPen, DrawingLevel)

Draws a point on the GeoCanvas.

public void DrawEllipse(Feature feature, float width, float height, GeoPen outlinePen, DrawingLevel drawingLevel)

Parameters

feature Feature
This parameter is the center point feature.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(PointBaseShape, Single, Single, GeoPen, DrawingLevel)

Draws a point on the GeoCanvas.

public void DrawEllipse(PointBaseShape shape, float width, float height, GeoPen outlinePen, DrawingLevel drawingLevel)

Parameters

shape PointBaseShape
This parameter is the center point shape.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel that the GeoPen will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(Feature, Single, Single, GeoBrush, DrawingLevel)

Draws a point on the GeoCanvas.

public void DrawEllipse(Feature centerPointFeature, float width, float height, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

centerPointFeature Feature
This parameter is the center point feature.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the the GeoBrush will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(PointBaseShape, Single, Single, GeoBrush, DrawingLevel)

Draws a point on the GeoCanvas.

public void DrawEllipse(PointBaseShape shape, float width, float height, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

shape PointBaseShape
This parameter is the center point shape.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the the GeoBrush will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(Feature, Single, Single, GeoPen, GeoBrush, DrawingLevel)

Draws a point on the GeoCanvas.

public void DrawEllipse(Feature feature, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

feature Feature
This parameter is the center point feature.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel

        This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
        on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen and a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(PointBaseShape, Single, Single, GeoPen, GeoBrush, DrawingLevel)

Draws a point on the GeoCanvas.

public void DrawEllipse(PointBaseShape shape, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel)

Parameters

shape PointBaseShape
This parameter is the center point shape.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel

        This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
        on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(Feature, Single, Single, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

Draws a point on the GeoCanvas.

public void DrawEllipse(Feature feature, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

feature Feature
This parameter is the center point feature.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel

        This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
        on.

xOffset Single
This parameter determines the X offset for the ellipse to be drawn.

yOffset Single
This parameter determines the Y offset for the ellipse to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(PointBaseShape, Single, Single, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

Draws a point on the GeoCanvas.

public void DrawEllipse(PointBaseShape shape, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

shape PointBaseShape
This parameter is the center point shape.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel

        This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
        on.

xOffset Single
This parameter determines the X offset for the ellipse to be drawn.

yOffset Single
This parameter determines the Y offset for the ellipse to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipse(ScreenPointF, Single, Single, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

Draws a point on the GeoCanvas.

public void DrawEllipse(ScreenPointF screenPoint, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

screenPoint ScreenPointF
This parameter is the center point in screen coordinate.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel

        This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
        on.

xOffset Single
This parameter determines the X offset for the ellipse to be drawn.

yOffset Single
This parameter determines the Y offset for the ellipse to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawEllipseCore(ScreenPointF, Single, Single, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)

Draws a point on the GeoCanvas.

protected abstract void DrawEllipseCore(ScreenPointF screenPoint, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

screenPoint ScreenPointF
This parameter is the center point in well-known binary format.

width Single
This parameter describes the width of the ellipse to be drawn.

height Single
This parameter describes the height of the ellipse to be drawn.

outlinePen GeoPen

        This parameter describes the outline GeoPen that will be used to draw the
        point.

fillBrush GeoBrush

        This parameter describes the fill GeoBrush that will be used to draw the
        point.

drawingLevel DrawingLevel

        This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
        on.

xOffset Single
This parameter determines the X offset for the screenPoint to be drawn.

yOffset Single
This parameter determines the Y offset for the screenPoint to be drawn.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentException
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.

ArgumentNullException
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the outlinePen and a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

Remarks:

This method is used to draw a point on the GeoCanvas. It provides you with a number of overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the area of the point. Specify the GeoPen to outline the point using that GeoPen. You can also call a overload that will allow you to specify both a GeoPen and a GeoBrush.

The DrawingLevel allows you to specify the level you will draw on when drawing many points.

DrawWorldImageWithoutScaling(GeoImage, Double, Double, DrawingLevel)

Draws an unscaled image on the GeoCanvas.

public void DrawWorldImageWithoutScaling(GeoImage image, double centerXInWorld, double centerYInWorld, DrawingLevel drawingLevel)

Parameters

image GeoImage
The image you want to draw unscaled.

centerXInWorld Double
The X coordinate of the center point of where you want to draw the image.

centerYInWorld Double
The Y coordinate of the center point of where you want to draw the image.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentException
Passing an invalid image parameter will throw an ArgumentException.

Remarks:

Drawing an image unscaled is faster than using the API that scales it.

The X & Y in work coordinates is where the center of the image will be drawn.

DrawWorldImageWithoutScaling(GeoImage, Double, Double, DrawingLevel, Single, Single, Single)

Draws an unscaled image on the GeoCanvas.

public void DrawWorldImageWithoutScaling(GeoImage image, double centerXInWorld, double centerYInWorld, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw unscaled.

centerXInWorld Double
The X coordinate of the center point (in world coordinates) of where you want to draw the image.

centerYInWorld Double
The Y coordinate of the center point (in world coordinates) of where you want to draw the image.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentException
Passing an invalid image parameter will throw an ArgumentException.

Remarks:

Drawing an image unscaled is faster than using the API that scales it.

The X & Y in work coordinates is where the center of the image will be drawn.

DrawScreenImageWithoutScaling(GeoImage, Single, Single, DrawingLevel, Single, Single, Single)

Draws an unscaled image on the GeoCanvas.

public void DrawScreenImageWithoutScaling(GeoImage image, float centerXInScreen, float centerYInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw unscaled.

centerXInScreen Single
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.

centerYInScreen Single
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentException
Passing an invalid image parameter will throw an ArgumentException.

Remarks:

Drawing an image unscaled is faster than using the API that scales it.

The X & Y in work coordinates is where the center of the image will be drawn.

DrawScreenImageWithoutScalingCore(GeoImage, Single, Single, DrawingLevel, Single, Single, Single)

Draws an unscaled image on the GeoCanvas.

protected abstract void DrawScreenImageWithoutScalingCore(GeoImage image, float centerXInScreen, float centerYInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw unscaled.

centerXInScreen Single
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.

centerYInScreen Single
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentException
Passing an invalid image parameter will throw an ArgumentException.

Remarks:

Drawing an image unscaled is faster than using the API that scales it.

DrawWorldImage(GeoImage, Double, Double, Single, Single, DrawingLevel)

Draws a scaled image on the GeoCanvas.

public void DrawWorldImage(GeoImage image, double centerXInWorld, double centerYInWorld, float widthInScreen, float heightInScreen, DrawingLevel drawingLevel)

Parameters

image GeoImage
The image you want to draw.

centerXInWorld Double
The X coordinate of the center point of where you want to draw the image.

centerYInWorld Double
The Y coordinate of the center point of where you want to draw the image.

widthInScreen Single

        The width you want to scale the image to. This is the width of the image that will be
        drawn.

heightInScreen Single

        The height you want to scale the image to. This is the height of the image that will be
        drawn.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

Remarks:

Drawing an image scaled is slower than using the API that draws it unscaled.

DrawWorldImage(GeoImage, Double, Double, Double, DrawingLevel, Single, Single, Single)

Draws a world image on the GeoCanvas.

public void DrawWorldImage(GeoImage image, double centerXInWorld, double centerYInWorld, double imageScale, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw.

centerXInWorld Double
The X coordinate of the center point of where you want to draw the image.

centerYInWorld Double
The Y coordinate of the center point of where you want to draw the image.

imageScale Double

        The scale at which you want to draw the image. The final width and height will be caculated based on the scale.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

Remarks:

Drawing an image scaled is slower than using the API that draws it unscaled.

DrawWorldImage(GeoImage, Double, Double, Single, Single, DrawingLevel, Single, Single, Single)

Draws a world image on the GeoCanvas.

public void DrawWorldImage(GeoImage image, double centerXInWorld, double centerYInWorld, float widthInScreen, float heightInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw.

centerXInWorld Double
The X coordinate of the center point of where you want to draw the image.

centerYInWorld Double
The Y coordinate of the center point of where you want to draw the image.

widthInScreen Single

        The width you want to scale the image to. This is the width of the image that will be drawn.

heightInScreen Single

        The height you want to scale the image to. This is the height of the image that will be drawn.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

Remarks:

Drawing an image scaled is slower than using the API that draws it unscaled.

DrawScreenImage(GeoImage, Single, Single, Single, Single, DrawingLevel, Single, Single, Single)

Draws a screen image on the GeoCanvas.

public void DrawScreenImage(GeoImage image, float centerXInScreen, float centerYInScreen, float widthInScreen, float heightInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw.

centerXInScreen Single
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.

centerYInScreen Single
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.

widthInScreen Single

        The width you want to scale the image to. This is the width of the image that will be
        drawn.

heightInScreen Single

        The height you want to scale the image to. This is the height of the image that will be
        drawn.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

Remarks:

Drawing an image scaled is slower than using the API that draws it unscaled.

DrawScreenImageCore(GeoImage, Single, Single, Single, Single, DrawingLevel, Single, Single, Single)

Draws a scaled image on the GeoCanvas.

protected abstract void DrawScreenImageCore(GeoImage image, float centerXInScreen, float centerYInScreen, float widthInScreen, float heightInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, float rotateAngle)

Parameters

image GeoImage
The image you want to draw.

centerXInScreen Single
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.

centerYInScreen Single
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.

widthInScreen Single

        The width you want to scale the image to. This is the width of the image that will be
        drawn.

heightInScreen Single

        The height you want to scale the image to. This is the height of the image that will be
        drawn.

drawingLevel DrawingLevel
This parameter determines the DrawingLevel the image will draw on.

xOffset Single
This parameter determines the X offset for the image to be drawn.

yOffset Single
This parameter determines the Y offset for the image to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the image to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentNullException
If you pass a null as the image, we will throw an ArgumentNullException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

ArgumentOutOfRangeException
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.

Remarks:

Drawing an image scaled is slower than using the API that draws it unscaled.

DrawTextWithScreenCoordinate(String, GeoFont, GeoBrush, Single, Single, DrawingLevel)

This method allows you to draw text at the specified location, using the specified brush and font parameters.

public void DrawTextWithScreenCoordinate(string text, GeoFont font, GeoBrush fillBrush, float upperLeftXInScreen, float upperLeftYInScreen, DrawingLevel drawingLevel)

Parameters

text String
This parameter specifies the text you wish to draw.

font GeoFont
This parameter represents the font you wish to use to draw the text.

fillBrush GeoBrush

        This parameter specifies the kind of fill you want to use to draw the
        text.

upperLeftXInScreen Single

        This parameter is the upper left horizontal point in screen coordinates of where
        you want to start drawing the text from.

upperLeftYInScreen Single

        This parameter is the upper left vertical point in screen coordinates of where
        you want to start drawing the text from.

drawingLevel DrawingLevel

        This parameter specifies the drawing level you wish to draw the text on. Higher
        levels overwrite lower levels.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

Remarks:

This method is used to draw text on the GeoCanvas at specific screen coordinates. It provides you with a number of overloads that allow you to control how the text is drawn. This is useful especially when adding things such as legends, titles, etc.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple text items. This is very useful when you want to draw a drop shadow, for example. You can draw the black backdrop on the lowest level with an offset, then draw the normal text on a higher level without an offset.

DrawTextWithScreenCoordinate(String, GeoFont, GeoBrush, GeoPen, Single, Single, DrawingLevel)

Draws the text with screen coordinate.

public void DrawTextWithScreenCoordinate(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, float upperLeftXInScreen, float upperLeftYInScreen, DrawingLevel drawingLevel)

Parameters

text String
The text.

font GeoFont
The font.

fillBrush GeoBrush
The fill brush.

haloPen GeoPen
The halo pen.

upperLeftXInScreen Single
The upper left x in screen.

upperLeftYInScreen Single
The upper left y in screen.

drawingLevel DrawingLevel
The drawing level.

DrawTextWithWorldCoordinate(String, GeoFont, GeoBrush, Double, Double, DrawingLevel)

This method allows you to draw text at the specified location, using the specified brush and font parameters.

public void DrawTextWithWorldCoordinate(string text, GeoFont font, GeoBrush fillBrush, double upperLeftXInWorld, double upperLeftYInWorld, DrawingLevel drawingLevel)

Parameters

text String
This parameter specifies the text you wish to draw.

font GeoFont
This parameter represents the font you wish to use to draw the text.

fillBrush GeoBrush

        This parameter specifies the kind of fill you want to use to draw the
        text.

upperLeftXInWorld Double

        This parameter is the upper left horizontal point in world coordinates of where
        you want to start drawing the text from.

upperLeftYInWorld Double

        This parameter is the upper left horizontal point in world coordinates of where
        you want to start drawing the text from.

drawingLevel DrawingLevel

        This parameter specifies the drawing level you wish to draw the text on. Higher
        levels overwrite lower levels.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

Remarks:

This method is used to draw text on the GeoCanvas at specific screen coordinates. It provides you with a number of overloads that allow you to control how the text is drawn. This is useful especially when adding things such as legends, titles, etc.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple text items. This is very useful when you want to draw a drop shadow, for example. You can draw the black backdrop on the lowest level with an offset, then draw the normal text on a higher level without an offset.

DrawTextWithWorldCoordinate(String, GeoFont, GeoBrush, GeoPen, Double, Double, DrawingLevel)

Draws the text with world coordinate.

public void DrawTextWithWorldCoordinate(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, double upperLeftXInWorld, double upperLeftYInWorld, DrawingLevel drawingLevel)

Parameters

text String
The text.

font GeoFont
The font.

fillBrush GeoBrush
The fill brush.

haloPen GeoPen
The halo pen.

upperLeftXInWorld Double
The upper left x in world.

upperLeftYInWorld Double
The upper left y in world.

drawingLevel DrawingLevel
The drawing level.

DrawText(String, GeoFont, GeoBrush, IEnumerable<ScreenPointF>, DrawingLevel)

This method allows you to draw text at the specified location, using the specified brush and font parameters.

public void DrawText(string text, GeoFont font, GeoBrush fillBrush, IEnumerable<ScreenPointF> textPathInScreen, DrawingLevel drawingLevel)

Parameters

text String
This parameter specifies the text you wish to draw.

font GeoFont
This parameter represents the font you wish to use to draw the text.

fillBrush GeoBrush

        This parameter specifies the kind of fill you want to use to draw the
        text.

textPathInScreen IEnumerable<ScreenPointF>
This parameter specifies the path on which to draw the text.

drawingLevel DrawingLevel

        This parameter specifies the drawing level you wish to draw the text on. Higher
        levels overwrite lower levels.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

DrawText(String, GeoFont, GeoBrush, GeoPen, IEnumerable<ScreenPointF>, DrawingLevel, Single, Single, DrawingTextAlignment)

Draws the text.

public void DrawText(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable<ScreenPointF> textPathInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, DrawingTextAlignment drawingTextAlignment)

Parameters

text String
The text.

font GeoFont
The font.

fillBrush GeoBrush
The fill brush.

haloPen GeoPen
The halo pen.

textPathInScreen IEnumerable<ScreenPointF>
The text path in screen.

drawingLevel DrawingLevel
The drawing level.

xOffset Single
The x offset.

yOffset Single
The y offset.

drawingTextAlignment DrawingTextAlignment
The drawing text alignment.

DrawText(String, GeoFont, GeoBrush, GeoPen, IEnumerable<ScreenPointF>, DrawingLevel, Single, Single, DrawingTextAlignment, Single)

This method allows you to draw text at the specified location, using the specified brush and font parameters.

public void DrawText(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable<ScreenPointF> textPathInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, DrawingTextAlignment drawingTextAlignment, float rotateAngle)

Parameters

text String
This parameter specifies the text you wish to draw.

font GeoFont
This parameter represents the font you wish to use to draw the text.

fillBrush GeoBrush

        This parameter specifies the kind of fill you want to use to draw the
        text.

haloPen GeoPen
This parameter specifies the HaloPen that will be used to draw the text, when the HaloPen effect is needed.

textPathInScreen IEnumerable<ScreenPointF>
This parameter specifies the path on which to draw the text.

drawingLevel DrawingLevel

        This parameter specifies the drawing level you wish to draw the text on. Higher
        levels overwrite lower levels.

xOffset Single
This parameter determines the X offset for the text to be drawn.

yOffset Single
This parameter determines the Y offset for the text to be drawn.

drawingTextAlignment DrawingTextAlignment
This parameter determines text alignment for the text to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the text to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

DrawTextCore(String, GeoFont, GeoBrush, GeoPen, IEnumerable<ScreenPointF>, DrawingLevel, Single, Single, DrawingTextAlignment, Single)

This method allows you to draw text at the specified location, using the specified brush and font parameters.

protected abstract void DrawTextCore(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable<ScreenPointF> textPathInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, DrawingTextAlignment drawingTextAlignment, float rotateAngle)

Parameters

text String
This parameter specifies the text you wish to draw.

font GeoFont
This parameter represents the font you wish to use to draw the text.

fillBrush GeoBrush
This parameter specifies the kind of fill you want to use to draw the text.

haloPen GeoPen
This parameter specifies the HaloPen that will be used to draw the text, when the HaloPen effect is needed.

textPathInScreen IEnumerable<ScreenPointF>
This parameter specifies the path on which to draw the text.

drawingLevel DrawingLevel

        This parameter specifies the drawing level you wish to draw the text on. Higher
        levels overwrite lower levels.

xOffset Single
This parameter determines the X offset for the text to be drawn.

yOffset Single
This parameter determines the Y offset for the text to be drawn.

drawingTextAlignment DrawingTextAlignment
This parameter determines text alignment for the text to be drawn.

rotateAngle Single
This parameter determines the rotation angle for the text to be drawn.

Exceptions

InvalidOperationException
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.

ArgumentOutOfRangeException
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.

ArgumentNullException
If you pass a null as the fillBrush, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

Remarks:

This method is used to draw text on the GeoCanvas.

The DrawingLevel allows you to specify the level you will draw on when drawing multiple text items. This is very useful when you want to draw a drop shadow, for example. You can draw the black backdrop on the lowest level with an offset, then draw the normal text on a higher level without an offset.

MeasureText(String, GeoFont)

This method returns the rectangle that contains the specified text, when that text is drawn with the specified font.

public DrawingRectangleF MeasureText(string text, GeoFont font)

Parameters

text String
This parameter represents the text you want to measure.

font GeoFont
This parameter represents the font of the text you want to measure.

Returns

DrawingRectangleF

        This method returns the rectangle that contains the specified text, when that text is drawn
        with the specified font.

Exceptions

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

Remarks:

This method is typically used for labeling, to determine whether labels overlap.

MeasureTextCore(String, GeoFont)

This method returns the rectangle that contains the specified text, when that text is drawn with the specified font.

protected abstract DrawingRectangleF MeasureTextCore(string text, GeoFont font)

Parameters

text String
This parameter represents the text you want to measure.

font GeoFont
This parameter represents the font of the text you want to measure.

Returns

DrawingRectangleF

        This method returns the rectangle that contains the specified text, when that text is drawn
        with the specified font.

Exceptions

ArgumentNullException
If you pass a null as the text, we will throw an ArgumentNullException.

ArgumentNullException
If you pass a null as the font, we will throw an ArgumentNullException.

ArgumentException
If you pass a blank string in the text parameter, we will throw an ArgumentException.

Remarks:

This method is typically used for labeling, to determine whether labels overlap.

BeginDrawing(Object, RectangleShape, GeographyUnit)

This method begins the act of drawing on the GeoCanvas.

public void BeginDrawing(object geoImage, RectangleShape worldExtent, GeographyUnit drawingMapUnit)

Parameters

geoImage Object
This parameter represents the image you want the GeoCanvas to draw on.

worldExtent RectangleShape
This parameter is the world extent of the canvasImage.

drawingMapUnit GeographyUnit
This parameter is the map unit of the canvasImage.

Remarks:

This is the first method that needs to be called before any drawing takes place. Calling this method will set the IsDrawing property to true. When you finish drawing, you must call EndDrawing to commit the changes to the image.

BeginDrawingCore(Object, RectangleShape, GeographyUnit)

This method begins the act of drawing on the GeoCanvas.

protected abstract void BeginDrawingCore(object nativeImage, RectangleShape worldExtent, GeographyUnit drawingMapUnit)

Parameters

nativeImage Object
This parameter represents the image you want the GeoCanvas to draw on.

worldExtent RectangleShape
This parameter is the world extent of the canvasImage.

drawingMapUnit GeographyUnit
This parameter is the map unit of the canvasImage.

Remarks:

This is the first method that needs to be called before any drawing takes place. Calling this method will set the IsDrawing property to true. When you finish drawing, you must call EndDrawing to commit the changes to the image.

EndDrawing()

This method ends drawing and commits the drawing on the GeoCanvas.

public void EndDrawing()

Remarks:

This method should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.

GetCanvasWidth()

This method gets the view width of the passed-in native image object.

protected float GetCanvasWidth()

Returns

Single
The returning view width.

Remarks:

This method is a BaseClass API and will be implemented and used in its sub-concrete classes.

GetCanvasWidthCore()

This method gets the view width of the passed-in native image object.

protected abstract float GetCanvasWidthCore()

Returns

Single
The returning view width.

Remarks:

This method is a BaseClass API and will be implemented and used in its sub-concrete classes.

GetCanvasHeight()

This method gets the view height of the passed-in native image object.

protected float GetCanvasHeight()

Returns

Single
The returning view height.

Remarks:

This method is a BaseClass API and will be implemented and used in its sub-concrete classes.

GetCanvasHeightCore()

This method gets the view height of the passed-in native image object.

protected abstract float GetCanvasHeightCore()

Returns

Single
The returning view height.

Remarks:

This method is a BaseClass API and will be implemented and used in its sub-concrete classes.

CreateDefaultGeoCanvas()

Creates the default geo canvas.

public static GeoCanvas CreateDefaultGeoCanvas()

Returns

GeoCanvas

Events

DrawingProgressChanged

Occurs when [drawing progress changed].

public event EventHandler<DrawingProgressChangedEventArgs> DrawingProgressChanged;