ShapeDrawingOptions Class Reference

Holds the set of options for visualization of shapefiles. More...

Collaboration diagram for ShapeDrawingOptions:
Collaboration graph

Public Member Functions

ShapeDrawingOptions Clone ()
 Creates a new instance of ShapeDrawingOptions class by copying all the properties. More...
 
void Deserialize (string newVal)
 Restores the state of object from the string. More...
 
bool DrawLine (IntPtr hdc, float x, float y, int Width, int Height, bool drawVertices, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a line using the stored options on specified device context. More...
 
bool DrawLineVB (int hdc, float x, float y, int Width, int Height, bool drawVertices, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a line using the stored options on the specified device context. More...
 
bool DrawPoint (IntPtr hdc, float x, float y, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a point symbol using the stored options on the specified device context. More...
 
bool DrawPointVB (int hdc, float x, float y, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a point symbol using the stored options on the specified device context. More...
 
bool DrawRectangle (IntPtr hdc, float x, float y, int Width, int Height, bool drawVertices, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a rectangle using the stored options on the specified device context. More...
 
bool DrawRectangleVB (int hdc, float x, float y, int Width, int Height, bool drawVertices, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a rectangle using the stored options on the specified device context. More...
 
bool DrawShape (IntPtr hdc, float x, float y, Shape Shape, bool drawVertices, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a shape using the stored options on the specified device context. More...
 
bool DrawShapeVB (int hdc, float x, float y, Shape Shape, bool drawVertices, int clipWidth, int clipHeight, uint BackColor, byte backAlpha)
 Draws a shape using the stored options on the specified device context. More...
 
string get_ErrorMsg (int ErrorCode)
 Gets the text description of the specified error code. More...
 
string Serialize ()
 Saves the state of the class to the string More...
 
void SetDefaultPointSymbol (tkDefaultPointSymbol symbol)
 Sets a predefined combination of properties to set the commonly used symbols. More...
 
void SetGradientFill (uint Color, short range)
 Provides a convenient way to set colors of the gradient fill. More...
 

Properties

bool AlignPictureByBottom [get, set]
 Gets or sets a value indicating whether hot spot of icons should be position at the bottom center. When set to false the hotspot will be at the center of icon. More...
 
tkVectorDrawingMode DrawingMode [get, set]
 The graphical mode to be used to render symbology. More...
 
bool DynamicVisibility [get, set]
 Gets or sets a value indicating whether the category will be displayed only for scale range specified by MinVisibleScale and MaxVisibleScale properties More...
 
uint FillBgColor [get, set]
 Gets or sets the background color of the polygon fill. More...
 
bool FillBgTransparent [get, set]
 Gets or sets the value which indicates whether a background will be drawn when ShapeDrawingOptions.FillType is set to ftHatch. More...
 
uint FillColor [get, set]
 Gets or sets the fill color of the shape. More...
 
uint FillColor2 [get, set]
 Gets or sets the end color of the gradient fill. More...
 
tkGradientBounds FillGradientBounds [get, set]
 Gets or sets the the value which defines the bounds of the gradient fill. More...
 
tkGradientType FillGradientType [get, set]
 The type of the gradient to draw polygon fill of the point symbols and polygon shapes. More...
 
tkGDIPlusHatchStyle FillHatchStyle [get, set]
 The hatch style of the fill for point symbols and polygon shapes. More...
 
double FillRotation [get, set]
 Gets or sets the angle of rotation of the polygon fill in degrees. More...
 
float FillTransparency [get, set]
 Gets or sets the transparency of the fill. Ranges from 0 (transparent) to 255 (opaque). More...
 
tkFillType FillType [get, set]
 The type of the polygon fill. See the enumeration for details. More...
 
bool FillVisible [get, set]
 Gets or sets the value which indicates whether the fill is visible. More...
 
string FontName [get, set]
 The name of the font to use for drawing point symbols when ShapeDrawingOptions.PointType is equal to pstCharacter. More...
 
tkLabelFrameType FrameType [get, set]
 Gets or sets type of frame to be displayed around point when ShapeDrawingOptions.PointShape is set to ptSymbolFontCharacter. More...
 
bool FrameVisible [get, set]
 Gets or sets a value indicating whether a frame will be drawn around point when ShapeDrawingOptions.PointShape is set to ptSymbolFontCharacter. More...
 
int LastErrorCode [get]
 Retrieves the numeric code of the last error that took place in the instance class. More...
 
uint LineColor [get, set]
 Gets or sets the line color of the shapes. More...
 
LinePattern LinePattern [get, set]
 Gets or sets line pattern for rendering polyline shapefile. More...
 
tkDashStyle LineStipple [get, set]
 Gets or sets the line style of the shapes. More...
 
float LineTransparency [get, set]
 Gets or sets the transparency of lines. Ranges from 0 (transparent) to 255 (opaque). More...
 
bool LineVisible [get, set]
 Gets or sets the value which indicates whether lines will be visible while drawing shapes. More...
 
float LineWidth [get, set]
 Gets or sets the width of the lines to draw shapes. More...
 
double MaxVisibleScale [get, set]
 Gets or sets maximum map scale at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true. More...
 
double MaxVisibleZoom [get, set]
 Gets or sets maximum map zoom at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true. More...
 
double MinVisibleScale [get, set]
 Gets or sets minimum map scale at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true. More...
 
double MinVisibleZoom [get, set]
 Gets or sets minimum map zoom at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true. More...
 
Image Picture [get, set]
 Gets or sets the picture which will be used as texture brush (ShapeDrawingOptions.FillType = ftPicture) or point symbol (ShapeDrawingOptions.PointType = ptSymbolPicture). More...
 
double PictureScaleX [get, set]
 Gets or sets the coefficient for scaling picture horizontally. More...
 
double PictureScaleY [get, set]
 Gets or sets the coefficient for scaling picture vertically. More...
 
short PointCharacter [get, set]
 Get or sets the ANSI code of the text character to use as point symbol. More...
 
tkPointReflectionType PointReflection [get, set]
 Gets or sets the type of reflection to apply to the point symbol. More...
 
double PointRotation [get, set]
 Gets or sets the rotation of the point symbol in degrees. More...
 
double PointRotationExpression [get, set]
 Gets or sets an expression to calculate the rotation of the point symbol in degrees. When this is set it takes precedence over the PointRotation property. More...
 
tkPointShapeType PointShape [get, set]
 Gets or sets the predefined shape for the point symbol. More...
 
int PointSidesCount [get, set]
 Gets or sets the number of sides for some of the predefined symbols such as regular, star or cross. More...
 
float PointSidesRatio [get, set]
 Gets or sets the side ratio for some of the predefined point symbols such as regular, star and cross. More...
 
float PointSize [get, set]
 Gets or sets the size of the point symbol including predefined symbols, characters and pictures. More...
 
tkPointSymbolType PointType [get, set]
 Gets or sets the type of the point symbols. More...
 
string Tag [get, set]
 Gets or sets a string associated with the instance of class. Can store any information provided by developer. More...
 
bool UseLinePattern [get, set]
 Gets or set the value which indicates whether line pattern will be used to render polyline shapefile. More...
 
uint VerticesColor [get, set]
 Gets or sets the color of vertices for the shapes. More...
 
bool VerticesFillVisible [get, set]
 Gets or sets the value which indicates whether the fill for shape vertices will be drawn. More...
 
int VerticesSize [get, set]
 Gets or sets the size of the shapes's vertices More...
 
tkVertexType VerticesType [get, set]
 Gets or sets the type of shape vertices. More...
 
bool VerticesVisible [get, set]
 Gets or sets the value which indicates whether vertices of the shape will be visible. The default values is false. More...
 
bool Visible [get, set]
 Gets or sets the values which indicates whether shapes will be visible. More...
 

Detailed Description

Holds the set of options for visualization of shapefiles.

dot_inline_dotgraph_57.png

Graph description

I. The class is used for rendering different types of shapefiles: point (multipoint), polyline, polygon. The set of options available for these types differ accordingly. The whole set options can be split into following groups:

  • fill options;
  • outline options;
  • line pattern options;
  • point symbol options;
  • vertices options.

The table shows relation between shape types and the set of options available for them.

Shapefile type Fill Outline Line pattern Point symbols Vertices
Point, MultiPoint + + - + -
Polyline - + + - +
Polygon + + - - +

Below the listed sets of options will be described in more detail. Fill options and point symbols provides different types of symbology, like standard, hatch, gradient, texture for fill; and standard, font character, picture for point symbols.

1. Fill options. They are applicable for polygon, point and multipoint shapefiles. Use ShapeDrawingOptions.FillType to change the type of fill.

dot_inline_dotgraph_58.png
Shapefile sf = some_shapefile;
Utils utils = new Utils();
// standard fill
options.FillType = tkFillType.ftStandard;
options.FillColor = utils.ColorByName(tkMapColor.Red);
// hatch fill
options.FillType = tkFillType.ftHatch;
options.FillBgTransparent = true;
options.FillHatchStyle = tkGDIPlusHatchStyle.hsHorizontal;
// gradient for each shape
options.FillType = tkFillType.ftGradient;
options.FillGradientBounds = tkGradientBounds.gbPerShape;
// texture
options.FillType =tkFillType.ftTexture;
Image img = new Image();
img.Open("some_arguments");
options.Picture = img;
tkMapColor
A list of named constants for some of the well-known colors.
Definition: Enumerations.cs:951
tkFillType
The type of shape fill.
Definition: Enumerations.cs:521
tkGradientBounds
Possible size of gradient for the shapefile layer.
Definition: Enumerations.cs:678
tkGDIPlusHatchStyle
The hatch style available for drawing of fill for polygons and point symbols.
Definition: Enumerations.cs:567
Represents an raster image of particular format which may be added to the map.
Definition: Image.cs:66
Holds the set of options for visualization of shapefiles.
Definition: ShapeDrawingOptions.cs:239
tkGDIPlusHatchStyle FillHatchStyle
The hatch style of the fill for point symbols and polygon shapes.
Definition: ShapeDrawingOptions.cs:510
tkFillType FillType
The type of the polygon fill. See the enumeration for details.
Definition: ShapeDrawingOptions.cs:539
bool FillBgTransparent
Gets or sets the value which indicates whether a background will be drawn when ShapeDrawingOptions....
Definition: ShapeDrawingOptions.cs:460
uint FillColor2
Gets or sets the end color of the gradient fill.
Definition: ShapeDrawingOptions.cs:481
tkGradientBounds FillGradientBounds
Gets or sets the the value which defines the bounds of the gradient fill.
Definition: ShapeDrawingOptions.cs:490
Image Picture
Gets or sets the picture which will be used as texture brush (ShapeDrawingOptions....
Definition: ShapeDrawingOptions.cs:635
uint FillColor
Gets or sets the fill color of the shape.
Definition: ShapeDrawingOptions.cs:471
Provides a functionality for accessing and editing ESRI shapefiles.
Definition: Shapefile.cs:72
ShapeDrawingOptions DefaultDrawingOptions
Gets or sets an instance of ShapeDrawingOptions class which holds default drawing options.
Definition: Shapefile.cs:111
A utils object provides access to a set of utility functions to perform a variety of tasks on other o...
Definition: Utils.cs:20
uint ColorByName(tkMapColor Name)
Returns the numeric representation for the specified color.
Definition: Utils.cs:40
bool Open(string ImageFileName, ImageType fileType, bool InRam, ICallback cBack)
Opens an image from file.
Definition: Image.cs:357

2. Point symbols. They are applicable for point (multipoint) shapefiles only. Use ShapeDrawingOptions.PointType to change the type of symbol.

dot_inline_dotgraph_59.png
Shapefile sf = some_shapefile;
options.FillColor = utils.ColorByName(tkMapColor.Red);
Utils utils = new Utils();
// standard symbol
options.PointType = tkPointSymbolType.ptSymbolStandard;
options.PointShape = tkPointShapeType.ptShapeStar;
options.PointSidesCount = 5;
// the same using predefined symbols (a short for 3 calls listed above)
// font character
options.PointType = tkPointSymbolType.ptSymbolFontCharacter;
options.PointCharacter = (short)'a';
options.FontName = "Arial";
// picture
options.PointType = tkPointSymbolType.ptSymbolPicture;
Image img = new Image();
img.Open("some_arguments");
options.Picture = img;
options.PointRotation = 45.0; // rotate picture by 45 degrees
tkPointSymbolType
The available types of point symbols.
Definition: Enumerations.cs:1143
tkDefaultPointSymbol
The set of available point symbols. They represent macros for modification of several properties of t...
Definition: Enumerations.cs:460
tkPointShapeType
The available types of shapes for points when ShapeDrawingOptions.PointType is set to ptSymbolStandar...
Definition: Enumerations.cs:1101
int PointSidesCount
Gets or sets the number of sides for some of the predefined symbols such as regular,...
Definition: ShapeDrawingOptions.cs:712
tkPointShapeType PointShape
Gets or sets the predefined shape for the point symbol.
Definition: ShapeDrawingOptions.cs:702
double PointRotation
Gets or sets the rotation of the point symbol in degrees.
Definition: ShapeDrawingOptions.cs:671
void SetDefaultPointSymbol(tkDefaultPointSymbol symbol)
Sets a predefined combination of properties to set the commonly used symbols.
Definition: ShapeDrawingOptions.cs:760
string FontName
The name of the font to use for drawing point symbols when ShapeDrawingOptions.PointType is equal to ...
Definition: ShapeDrawingOptions.cs:558
tkPointSymbolType PointType
Gets or sets the type of the point symbols.
Definition: ShapeDrawingOptions.cs:741
short PointCharacter
Get or sets the ANSI code of the text character to use as point symbol.
Definition: ShapeDrawingOptions.cs:662
  1. Outline, line pattern and vertices. Outline options applicable for all shapefile types, line patterns - for polylines only, vertices - for polylines and polygons.

    dot_inline_dotgraph_61.png

II. The drawing options for shapefile are split into:

  1. Default drawing options (Shapefile.DefaultDrawingOptions).
  2. Drawing options for shapefile categories (ShapefileCategory.DrawingOptions).

The shapes that doesn't belong to any visualization category will be painted with default options. To return the index of the category a shape belongs to, call Shapefile.get_ShapeCategory(). The value -1 means that default drawing options will be used.

Shapefile sf = some_shapefile;
// specifies a visualization category
ShapefileCategory ct = sf.Categories.Add("Thick");
// let's add first 10 shapes to it
for (int i = 0; i < 10; i++) {
sf.put_ShapeCategory(i, 0); // 0 - the index of category
}
// now let's set the width for the rest lines
float LineWidth
Gets or sets the width of the lines to draw shapes.
Definition: ShapeDrawingOptions.cs:624
ShapefileCategory Add(string Name)
Creates a new visualization category, adds it to the list and returns its reference to the caller.
Definition: ShapefileCategories.cs:66
Represents a set of visualization options for shapefile layer.
Definition: ShapefileCategory.cs:47
ShapeDrawingOptions DrawingOptions
Gets or sets visualization options associated with the category.
Definition: ShapefileCategory.cs:52
ShapefileCategories Categories
Gets or sets an instance of ShapefileCategories class associated with the shapefile.
Definition: Shapefile.cs:81

The class also provides a set of methods to draw map legend on the device context other than AxMap: DrawShape(), DrawLine(), DrawPoint(), DrawRectangle().

New API 4.8:
Added in version 4.8
Examples
IntersectionLength.cs, MarkPoints.cs, and Segmentation.cs.

Member Function Documentation

◆ Clone()

ShapeDrawingOptions ShapeDrawingOptions.Clone ( )

Creates a new instance of ShapeDrawingOptions class by copying all the properties.

Returns
The reference to the new instance of the ShapeDrawingOptions class or NULL reference on failure.

◆ Deserialize()

void ShapeDrawingOptions.Deserialize ( string  newVal)

Restores the state of object from the string.

Parameters
newValA string generated by ShapeDrawingOptions.Serialize() method.

◆ DrawLine()

bool ShapeDrawingOptions.DrawLine ( IntPtr  hdc,
float  x,
float  y,
int  Width,
int  Height,
bool  drawVertices,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a line using the stored options on specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context. Can be obtained with .NET Graphics.GetHDC() method.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
WidthThe width of the drawing.
HeightThe height of the drawing.
drawVerticesA value which indicates whether or not vertices of the line will be drawn.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawLineVB()

bool ShapeDrawingOptions.DrawLineVB ( int  hdc,
float  x,
float  y,
int  Width,
int  Height,
bool  drawVertices,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a line using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
WidthThe width of the drawing.
HeightThe height of the drawing.
drawVerticesA value which indicates whether or not vertices of the line will be drawn.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawPoint()

bool ShapeDrawingOptions.DrawPoint ( IntPtr  hdc,
float  x,
float  y,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a point symbol using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context. Can be obtained with .NET Graphics.GetHDC() method.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawPointVB()

bool ShapeDrawingOptions.DrawPointVB ( int  hdc,
float  x,
float  y,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a point symbol using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawRectangle()

bool ShapeDrawingOptions.DrawRectangle ( IntPtr  hdc,
float  x,
float  y,
int  Width,
int  Height,
bool  drawVertices,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a rectangle using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context. Can be obtained with .NET Graphics.GetHDC() method.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
WidthThe width of the drawing.
HeightThe height of the drawing.
drawVerticesA value which indicates whether or not vertices of the rectangle will be drawn.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawRectangleVB()

bool ShapeDrawingOptions.DrawRectangleVB ( int  hdc,
float  x,
float  y,
int  Width,
int  Height,
bool  drawVertices,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a rectangle using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context. Can be obtained with .NET Graphics.GetHDC() method.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
WidthThe width of the drawing.
HeightThe height of the drawing.
drawVerticesA value which indicates whether or not vertices of the rectangle will be drawn.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawShape()

bool ShapeDrawingOptions.DrawShape ( IntPtr  hdc,
float  x,
float  y,
Shape  Shape,
bool  drawVertices,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a shape using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context. Can be obtained with .NET Graphics.GetHDC() method.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
ShapeA shape to draw. Point, polyline and polygon shapes are supported.
drawVerticesA value which indicates whether or not vertices of the line will be drawn.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ DrawShapeVB()

bool ShapeDrawingOptions.DrawShapeVB ( int  hdc,
float  x,
float  y,
Shape  Shape,
bool  drawVertices,
int  clipWidth,
int  clipHeight,
uint  BackColor,
byte  backAlpha 
)

Draws a shape using the stored options on the specified device context.

The method can be used to draw map legend.

Parameters
hdcThe handle of the device context.
xThe x coordinate of the upper left corner of the drawing.
yThe y coordinate of the upper left corner of the drawing.
ShapeA shape to draw. Point, polyline and polygon shapes are supported.
drawVerticesA value which indicates whether or not vertices of the line will be drawn.
clipWidthThe width of the clipping rectangle.
clipHeightThe height of the clipping rectangle.
BackColorThe back color of the device context the drawing is performed at. The value should be specified to ensure correct blending when semi-transparent colors are used.
backAlphaThe alpha component of the back color of the device context the drawing is performed at. Specify a value of 255 for the background color to be fully opaque, and 0 for the background to be transparent.
Returns
True on success and false otherwise.
New API 4.9.5:
Optional backAlpha parameter added in version 4.9.5

◆ get_ErrorMsg()

string ShapeDrawingOptions.get_ErrorMsg ( int  ErrorCode)

Gets the text description of the specified error code.

Parameters
ErrorCodeThe numeric error code retrieved by ShapeDrawingOptions.LastErrorCode property.
Returns
The description of the error.

◆ Serialize()

string ShapeDrawingOptions.Serialize ( )

Saves the state of the class to the string

Returns
A string with the state or an empty string on failure.

◆ SetDefaultPointSymbol()

void ShapeDrawingOptions.SetDefaultPointSymbol ( tkDefaultPointSymbol  symbol)

Sets a predefined combination of properties to set the commonly used symbols.

This method changes PointType, PointShape, PointSidesCount, PointRotation and PointSidesRatio properties.

Parameters
symbolThe predefined symbol to be set.

◆ SetGradientFill()

void ShapeDrawingOptions.SetGradientFill ( uint  Color,
short  range 
)

Provides a convenient way to set colors of the gradient fill.

Parameters
ColorThe central color of the gradient.
rangeThe range of colors of each channel the gradient covers. The values should be within 0-255.

Property Documentation

◆ AlignPictureByBottom

bool ShapeDrawingOptions.AlignPictureByBottom
getset

Gets or sets a value indicating whether hot spot of icons should be position at the bottom center. When set to false the hotspot will be at the center of icon.

New API 4.9.1:
Added in version 4.9.1

◆ DrawingMode

tkVectorDrawingMode ShapeDrawingOptions.DrawingMode
getset

The graphical mode to be used to render symbology.

◆ DynamicVisibility

bool ShapeDrawingOptions.DynamicVisibility
getset

Gets or sets a value indicating whether the category will be displayed only for scale range specified by MinVisibleScale and MaxVisibleScale properties

New API 4.9.3:
Added in version 4.9.3

◆ FillBgColor

uint ShapeDrawingOptions.FillBgColor
getset

Gets or sets the background color of the polygon fill.

It is used for polygon shapes when hatch fill is chosen.

See also
FillType

◆ FillBgTransparent

bool ShapeDrawingOptions.FillBgTransparent
getset

Gets or sets the value which indicates whether a background will be drawn when ShapeDrawingOptions.FillType is set to ftHatch.

◆ FillColor

uint ShapeDrawingOptions.FillColor
getset

Gets or sets the fill color of the shape.

The color is used for point and polygon shapes when ShapeDrawingOptions.FillType is equal to ftSimple or ftHatch, or the gradient starting color is ShapeDrawingOptions.FillType is equal to ftGradient.

Examples
SelectByDistance.cs, ShapefileToDrawingLayer.cs, and SplitByAttribute.cs.

◆ FillColor2

uint ShapeDrawingOptions.FillColor2
getset

Gets or sets the end color of the gradient fill.

It is used when ShapeDrawingOptions.FillType is equal to ftGradient.

Examples
AddCategoryRange.cs.

◆ FillGradientBounds

tkGradientBounds ShapeDrawingOptions.FillGradientBounds
getset

Gets or sets the the value which defines the bounds of the gradient fill.

◆ FillGradientType

tkGradientType ShapeDrawingOptions.FillGradientType
getset

The type of the gradient to draw polygon fill of the point symbols and polygon shapes.

See also
FillType, FillColor, FillColor2.

◆ FillHatchStyle

tkGDIPlusHatchStyle ShapeDrawingOptions.FillHatchStyle
getset

The hatch style of the fill for point symbols and polygon shapes.

See also
FillType, FillBgColor, FillBgTransparent.
Examples
AddCategoryRange.cs.

◆ FillRotation

double ShapeDrawingOptions.FillRotation
getset

Gets or sets the angle of rotation of the polygon fill in degrees.

Affects the rotation of gradient and texture fill.

See also
FillType

◆ FillTransparency

float ShapeDrawingOptions.FillTransparency
getset

Gets or sets the transparency of the fill. Ranges from 0 (transparent) to 255 (opaque).

◆ FillType

tkFillType ShapeDrawingOptions.FillType
getset

The type of the polygon fill. See the enumeration for details.

Examples
AddCategoryRange.cs, and CreateBuffer.cs.

◆ FillVisible

bool ShapeDrawingOptions.FillVisible
getset

Gets or sets the value which indicates whether the fill is visible.

Affects the drawing of point symbols and polygon shapes.

Examples
Segmentation.cs.

◆ FontName

string ShapeDrawingOptions.FontName
getset

The name of the font to use for drawing point symbols when ShapeDrawingOptions.PointType is equal to pstCharacter.

◆ FrameType

tkLabelFrameType ShapeDrawingOptions.FrameType
getset

Gets or sets type of frame to be displayed around point when ShapeDrawingOptions.PointShape is set to ptSymbolFontCharacter.

New API 4.9.1:
Added in version 4.9.1

◆ FrameVisible

bool ShapeDrawingOptions.FrameVisible
getset

Gets or sets a value indicating whether a frame will be drawn around point when ShapeDrawingOptions.PointShape is set to ptSymbolFontCharacter.

New API 4.9.1:
Added in version 4.9.1

◆ LastErrorCode

int ShapeDrawingOptions.LastErrorCode
get

Retrieves the numeric code of the last error that took place in the instance class.

The usage of this property clears the error code.

◆ LineColor

uint ShapeDrawingOptions.LineColor
getset

Gets or sets the line color of the shapes.

Affects the drawing of all shape types.

Examples
IntersectionLength.cs, MinimalDistance.cs, Segmentation.cs, and ShapefileToDrawingLayer.cs.

◆ LinePattern

LinePattern ShapeDrawingOptions.LinePattern
getset

Gets or sets line pattern for rendering polyline shapefile.

Examples
IntersectionLength.cs, LinePattern.cs, and Tracking.cs.

◆ LineStipple

tkDashStyle ShapeDrawingOptions.LineStipple
getset

Gets or sets the line style of the shapes.

Affects the drawing of all shape types.

Examples
Segmentation.cs.

◆ LineTransparency

float ShapeDrawingOptions.LineTransparency
getset

Gets or sets the transparency of lines. Ranges from 0 (transparent) to 255 (opaque).

◆ LineVisible

bool ShapeDrawingOptions.LineVisible
getset

Gets or sets the value which indicates whether lines will be visible while drawing shapes.

This affects drawing of polylines, as well as the drawing of outline of points symbols and polygons.

◆ LineWidth

float ShapeDrawingOptions.LineWidth
getset

Gets or sets the width of the lines to draw shapes.

Examples
IntersectionLength.cs, MinimalDistance.cs, PointIcons.cs, and Segmentation.cs.

◆ MaxVisibleScale

double ShapeDrawingOptions.MaxVisibleScale
getset

Gets or sets maximum map scale at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true.

New API 4.9.3:
Added in version 4.9.3

◆ MaxVisibleZoom

double ShapeDrawingOptions.MaxVisibleZoom
getset

Gets or sets maximum map zoom at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true.

New API 5.2:
Added in version 5.2

◆ MinVisibleScale

double ShapeDrawingOptions.MinVisibleScale
getset

Gets or sets minimum map scale at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true.

New API 4.9.3:
Added in version 4.9.3

◆ MinVisibleZoom

double ShapeDrawingOptions.MinVisibleZoom
getset

Gets or sets minimum map zoom at which the category is visible when ShapeDrawingOptions.DynamicVisibility is set to true.

New API 5.2:
Added in version 5.2

◆ Picture

Image ShapeDrawingOptions.Picture
getset

Gets or sets the picture which will be used as texture brush (ShapeDrawingOptions.FillType = ftPicture) or point symbol (ShapeDrawingOptions.PointType = ptSymbolPicture).

The property affects the drawing of point symbols and polygons.

Examples
MarkPoints.cs, and PointIcons.cs.

◆ PictureScaleX

double ShapeDrawingOptions.PictureScaleX
getset

Gets or sets the coefficient for scaling picture horizontally.

◆ PictureScaleY

double ShapeDrawingOptions.PictureScaleY
getset

Gets or sets the coefficient for scaling picture vertically.

◆ PointCharacter

short ShapeDrawingOptions.PointCharacter
getset

Get or sets the ANSI code of the text character to use as point symbol.

◆ PointReflection

tkPointReflectionType ShapeDrawingOptions.PointReflection
getset

Gets or sets the type of reflection to apply to the point symbol.

This value is used when ShapeDrawingOptions.PointType is equal to ptSymbolFontCharacter or ptSymbolPicture.

New API 4.9.5:
Added in version 4.9.5

◆ PointRotation

double ShapeDrawingOptions.PointRotation
getset

Gets or sets the rotation of the point symbol in degrees.

◆ PointRotationExpression

double ShapeDrawingOptions.PointRotationExpression
getset

Gets or sets an expression to calculate the rotation of the point symbol in degrees. When this is set it takes precedence over the PointRotation property.

◆ PointShape

tkPointShapeType ShapeDrawingOptions.PointShape
getset

Gets or sets the predefined shape for the point symbol.

It is used when ShapeDrawingOptions.PointType is equal to ptSymbolStandard.

◆ PointSidesCount

int ShapeDrawingOptions.PointSidesCount
getset

Gets or sets the number of sides for some of the predefined symbols such as regular, star or cross.

This value is used when ShapeDrawingOptions.PointType is equal to ptSymbolStandard.

◆ PointSidesRatio

float ShapeDrawingOptions.PointSidesRatio
getset

Gets or sets the side ratio for some of the predefined point symbols such as regular, star and cross.

This value is used when ShapeDrawingOptions.PointType is equal to ptSymbolStandard.

◆ PointSize

float ShapeDrawingOptions.PointSize
getset

Gets or sets the size of the point symbol including predefined symbols, characters and pictures.

◆ PointType

tkPointSymbolType ShapeDrawingOptions.PointType
getset

Gets or sets the type of the point symbols.

The possible values include predefined symbols, text characters and pictures.

Examples
MarkPoints.cs, and PointIcons.cs.

◆ Tag

string ShapeDrawingOptions.Tag
getset

Gets or sets a string associated with the instance of class. Can store any information provided by developer.

◆ UseLinePattern

bool ShapeDrawingOptions.UseLinePattern
getset

Gets or set the value which indicates whether line pattern will be used to render polyline shapefile.

This property won't be set to true unless line pattern with at least one line exists.

Examples
IntersectionLength.cs, LinePattern.cs, and Tracking.cs.

◆ VerticesColor

uint ShapeDrawingOptions.VerticesColor
getset

Gets or sets the color of vertices for the shapes.

See also
VerticesVisible

◆ VerticesFillVisible

bool ShapeDrawingOptions.VerticesFillVisible
getset

Gets or sets the value which indicates whether the fill for shape vertices will be drawn.

See also
VerticesVisible

◆ VerticesSize

int ShapeDrawingOptions.VerticesSize
getset

Gets or sets the size of the shapes's vertices

◆ VerticesType

tkVertexType ShapeDrawingOptions.VerticesType
getset

Gets or sets the type of shape vertices.

◆ VerticesVisible

bool ShapeDrawingOptions.VerticesVisible
getset

Gets or sets the value which indicates whether vertices of the shape will be visible. The default values is false.

The visibility of point symbols for point shapefiles is not affected by this property.

◆ Visible

bool ShapeDrawingOptions.Visible
getset

Gets or sets the values which indicates whether shapes will be visible.

Examples
PointIcons.cs.