Skip to content

HueFamilyAreaStyle

Namespace: ThinkGeo.Core

This class is used to draw area features.

public class HueFamilyAreaStyle : AreaStyle

Inheritance ObjectStyleAreaStyleHueFamilyAreaStyle

Remarks:

You should use this class to draw area features. You can specify a base color and the number of colors you want based on that color to draw the interior, and you can specify an outline pen with which to draw the border. You can optionally choose to use only the outline pen or the fill brush to generate different effects.

Properties

NumberOfColors

This gets or sets the number of colors in the style.

public int NumberOfColors { get; set; }

Property Value

Int32
This gets or sets the number of colors in the style.

Remarks:

None.

Cache

This gets the cached style in the class.

public Dictionary<string, AreaStyle> Cache { get; }

Property Value

Dictionary<String, AreaStyle>
This gets the cached style in the class.

Remarks:

This gets the cached style in the class. The key of the style in the cache is feature.Id & feature.GetHashCode().

BaseColor

This gets or sets the base color of the style.

public GeoColor BaseColor { get; set; }

Property Value

GeoColor
This gets or sets the base color of the style.

Remarks:

None.

XOffsetInPixel

This property gets and sets the X pixel offset for drawing each feature.

public float XOffsetInPixel { get; set; }

Property Value

Single
This property gets the X pixel offset for drawing each feature.

Remarks:

This property allows you to specify an X offset. When combined with a Y offset, it enables you to achieve effects such as drop shadows, etc. There also may be times when you need to modify the location of feature data so as to align it with raster satellite data.

YOffsetInPixel

This property gets and sets the Y pixel offset for drawing each feature.

public float YOffsetInPixel { get; set; }

Property Value

Single
This property gets the Y pixel offset for drawing each feature.

Remarks:

This property allows you to specify a Y offset. When combined with an X offset, it enables you to achieve effects such as drop shadows, etc. There also may be times when you need to modify the location of feature data so as to align it with raster satellite data.

FillBrush

This property gets and sets the solid brush you want to use to fill in the area features.

public GeoBrush FillBrush { get; set; }

Property Value

GeoBrush

        This property represents the solid brush you want to use to fill in the area
        features.

Remarks:

This solid brush is used to fill in the area features that will draw. You can also optionally specify an outline pen to give the area an outline. The default solid brush has a fill color of transparent, which means it will not draw anything.

CustomAreaStyles

This property returns a collection of area styles, allowing you to stack multiple area styles on top of each other.

public Collection<AreaStyle> CustomAreaStyles { get; }

Property Value

Collection<AreaStyle>
This property returns a collection of area styles.

Remarks:

Using this collection, you can stack multiple area styles on top of each other. When we draw the features, we will draw them in order that they exist in the collection. You can use these stacks to create drop shadow effects, multiple colored outlines, etc.

OutlinePen

This property gets and sets the outline pen you want to use to outline the features.

public GeoPen OutlinePen { get; set; }

Property Value

GeoPen

        This property gets the outline pen you want to use to outline the
        features.

Remarks:

This outline pen is used to outline the features that will draw. You can also optionally specify a fill brush to give the area a solid fill. The default outline pen color is transparent, which means it will not draw anything.

PenBrushDrawingOrder

This property gets and sets the pen and brush drawing order.

public PenBrushDrawingOrder PenBrushDrawingOrder { get; set; }

Property Value

PenBrushDrawingOrder
This property gets the pen and brush drawing order.

Remarks:

This property controls whether the outline pen or the fill brush is drawn first. The default is for the fill brush to be drawn first. If you have the outline pen draw first then the thickness of the pen will be smaller, creating a subtle but noticeable effect.

DrawingLevel

public DrawingLevel DrawingLevel { get; set; }

Property Value

DrawingLevel

Name

This property gets and set the name of the style.

public string Name { get; set; }

Property Value

String
This property gets the name of the style.

Remarks:

This name is not used by the system; it is only for the developer. However, it can be used if you generate your own legend.

IsActive

This property gets and sets the active status of the style.

public bool IsActive { get; set; }

Property Value

Boolean
This property gets the active status of the style.

Remarks:

If the style is not active then it will not draw.

RequiredColumnNames

This property gets the collection of fields that are required for the style.

public Collection<string> RequiredColumnNames { get; }

Property Value

Collection<String>

        This property gets the collection of fields that are required for the
        style.

Remarks:

This property gets the collection of fields that are required for the style. These are in addition to any other columns you specify in styles that inherit from this one. For example, if you have use a ValueStyle and it requires a column name for the value comparison, then that column does not need to be in this collection. You only use the RequiredColumnNames for columns you need beyond those required by specific inherited styles.

Filters

public Collection<string> Filters { get; }

Property Value

Collection<String>

Constructors

HueFamilyAreaStyle()

This is the constructor for the class. If you use this constructor, then you need to set the required properties manually.

public HueFamilyAreaStyle()

Remarks:

None

HueFamilyAreaStyle(GeoPen, GeoColor, Int32)

This is the constructor the for the class.

public HueFamilyAreaStyle(GeoPen outlinePen, GeoColor baseColor, int numberOfColors)

Parameters

outlinePen GeoPen
This parameter represents the outline pen that will be used on the style.

baseColor GeoColor
This parameter represents the base color that will be used in the class.

numberOfColors Int32

        This prameter represents how many colors will be used in the style, based on the
        base color.

Remarks:

None.

HueFamilyAreaStyle(GeoPen, GeoColor, Int32, PenBrushDrawingOrder)

This is the constructor the for the class.

public HueFamilyAreaStyle(GeoPen outlinePen, GeoColor baseColor, int numberOfColors, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

outlinePen GeoPen
This parameter represents the outline pen that will be used on the style.

baseColor GeoColor
This parameter represents the base color that will be used in the class.

numberOfColors Int32

        This prameter represents how many colors will be used in the style, based on the
        base color.

penBrushDrawingOrder PenBrushDrawingOrder
This parameter describes the PenBrushDrawingOrder that will be used when drawing the area type feature.

Remarks:

None.

Methods

ClearCache()

This method clears the cached style in the cache.

public void ClearCache()

Remarks:

This method clears the cached style in the cache.

DrawCore(IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate>)

This method draws the features on the view you provided.

protected void DrawCore(IEnumerable<Feature> features, GeoCanvas canvas, Collection<SimpleCandidate> labelsInThisLayer, Collection<SimpleCandidate> labelsInAllLayers)

Parameters

features IEnumerable<Feature>
This parameter represents the features you want to draw on the view.

canvas GeoCanvas
This parameter represents the view you want to draw the features on.

labelsInThisLayer Collection<SimpleCandidate>
The labels will be drawn in the current layer only.

labelsInAllLayers Collection<SimpleCandidate>
The labels will be drawn in all layers.

Exceptions

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

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

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

ArgumentNullException
If OutlinePen is null, we will throw an ArgumentNullException.

ArgumentNullException
If FillSolidBrush is null, we will throw an ArgumentNullException.

Remarks:

This overridden method is called from the concrete public method Draw. In this method, we take the features you passed in and draw them on the view you provided. Each style (based on its properties) may draw each feature differently.


When overriding this method, consider each feature and its column data values. You can use the full power of the GeoCanvas to do the drawing. If you need column data for a feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need to the collection. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the collection.