System::Drawing::Drawing2D Namespace Reference

Classes

class  AdjustableArrowCap
 Represents an adjustable arrow-shaped line cap. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  Blend
 Represents a blend pattern for a LinearGradientBrush object. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  ColorBlend
 Contains arrays of colors and positions used for interpolating color blending in a multicolor gradient. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  CustomLineCap
 Represents a user-defined line cap. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  GraphicsContainer
 Contains the internal data of a graphics container. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  GraphicsPath
 Represents a set of connected lines and curves. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  GraphicsState
 Represents a Graphics object's state. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  HatchBrush
 Represents a rectangular brush with a hatch style, a foreground color, and a background color. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  LinearGradientBrush
 Represents a linear gradient brush. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  Matrix
 Represents a 3x3 matrix that defines transform operations. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  PathData
 Contains the graphical data that represents a path. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  PathGradientBrush
 Represents a brush that fills the interior of a GraphicsPath object with a gradient. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  RegionData
 Contains data that defines a region. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 

Typedefs

typedef SharedPtr< MatrixMatrixPtr
 An alias for a shared pointer to an instance of Matrix class. More...
 

Enumerations

enum  CombineMode {
  CombineMode::Replace = 0, CombineMode::Intersect = 1, CombineMode::Union = 2, CombineMode::Xor = 3,
  CombineMode::Exclude = 4, CombineMode::Complement = 5
}
 Specifies how clipping regions are combined. More...
 
enum  CompositingMode { CompositingMode::SourceOver, CompositingMode::SourceCopy }
 Specifies how source colors and background colors are combined. More...
 
enum  CompositingQuality {
  CompositingQuality::Invalid = (int)QualityMode::Invalid, CompositingQuality::Default = (int)QualityMode::Default, CompositingQuality::HighSpeed = (int)QualityMode::Low, CompositingQuality::HighQuality = (int)QualityMode::High,
  CompositingQuality::GammaCorrected, CompositingQuality::AssumeLinear
}
 Specifies the quality level to be used during compositing. More...
 
enum  CoordinateSpace { CoordinateSpace::World = 0, CoordinateSpace::Page = 1, CoordinateSpace::Device = 2 }
 Specifies how to evaluate coordinates. More...
 
enum  DashCap { DashCap::Flat = 0, DashCap::Round = 2, DashCap::Triangle = 3 }
 Specifies the type of a cap used at the both ends of a dash in a dashed line. More...
 
enum  DashStyle {
  DashStyle::Solid = 0, DashStyle::Dash = 1, DashStyle::Dot = 2, DashStyle::DashDot = 3,
  DashStyle::DashDotDot = 4, DashStyle::Custom = 5
}
 Specifies the style of a dashed line. More...
 
enum  FillMode { FillMode::Alternate, FillMode::Winding }
 Specifies how to fill the interior of a closed path. More...
 
enum  FlushIntention { FlushIntention::Flush = 0, FlushIntention::Sync = 1 }
 Specifies if commands in the graphics stack are terminated immediately or executed as soon as possible. More...
 
enum  HatchStyle {
  HatchStyle::Horizontal = 0, HatchStyle::Vertical = 1, HatchStyle::ForwardDiagonal = 2, HatchStyle::BackwardDiagonal = 3,
  HatchStyle::Cross = 4, HatchStyle::DiagonalCross = 5, HatchStyle::Percent05 = 6, HatchStyle::Percent10 = 7,
  HatchStyle::Percent20 = 8, HatchStyle::Percent25 = 9, HatchStyle::Percent30 = 10, HatchStyle::Percent40 = 11,
  HatchStyle::Percent50 = 12, HatchStyle::Percent60 = 13, HatchStyle::Percent70 = 14, HatchStyle::Percent75 = 15,
  HatchStyle::Percent80 = 16, HatchStyle::Percent90 = 17, HatchStyle::LightDownwardDiagonal = 18, HatchStyle::LightUpwardDiagonal = 19,
  HatchStyle::DarkDownwardDiagonal = 20, HatchStyle::DarkUpwardDiagonal = 21, HatchStyle::WideDownwardDiagonal = 22, HatchStyle::WideUpwardDiagonal = 23,
  HatchStyle::LightVertical = 24, HatchStyle::LightHorizontal = 25, HatchStyle::NarrowVertical = 26, HatchStyle::NarrowHorizontal = 27,
  HatchStyle::DarkVertical = 28, HatchStyle::DarkHorizontal = 29, HatchStyle::DashedDownwardDiagonal = 30, HatchStyle::DashedUpwardDiagonal = 31,
  HatchStyle::DashedHorizontal = 32, HatchStyle::DashedVertical = 33, HatchStyle::SmallConfetti = 34, HatchStyle::LargeConfetti = 35,
  HatchStyle::ZigZag = 36, HatchStyle::Wave = 37, HatchStyle::DiagonalBrick = 38, HatchStyle::HorizontalBrick = 39,
  HatchStyle::Weave = 40, HatchStyle::Plaid = 41, HatchStyle::Divot = 42, HatchStyle::DottedGrid = 43,
  HatchStyle::DottedDiamond = 44, HatchStyle::Shingle = 45, HatchStyle::Trellis = 46, HatchStyle::Sphere = 47,
  HatchStyle::SmallGrid = 48, HatchStyle::SmallCheckerBoard = 49, HatchStyle::LargeCheckerBoard = 50, HatchStyle::OutlinedDiamond = 51,
  HatchStyle::SolidDiamond = 52, HatchStyle::LargeGrid = Cross, HatchStyle::Min = Horizontal, HatchStyle::Max = LargeGrid
}
 Specifies patterns of HatchBrush brush. More...
 
enum  InterpolationMode {
  InterpolationMode::Invalid = (int)QualityMode::Invalid, InterpolationMode::Default = (int)QualityMode::Default, InterpolationMode::Low = (int)QualityMode::Low, InterpolationMode::High = (int)QualityMode::High,
  InterpolationMode::Bilinear, InterpolationMode::Bicubic, InterpolationMode::NearestNeighbor, InterpolationMode::HighQualityBilinear,
  InterpolationMode::HighQualityBicubic
}
 Specifies an algorithm to use when images are rotated or scaled. More...
 
enum  LineCap {
  LineCap::Flat = 0, LineCap::Square = 1, LineCap::Round = 2, LineCap::Triangle = 3,
  LineCap::NoAnchor = 0x10, LineCap::SquareAnchor = 0x11, LineCap::RoundAnchor = 0x12, LineCap::DiamondAnchor = 0x13,
  LineCap::ArrowAnchor = 0x14, LineCap::AnchorMask = 0xf0, LineCap::Custom = 0xff
}
 Indicates the available cap styles with which a Pen object can end a line. More...
 
enum  LineJoin { LineJoin::Miter = 0, LineJoin::Bevel = 1, LineJoin::Round = 2, LineJoin::MiterClipped = 3 }
 Specifies how consequent lines or curves are joined. More...
 
enum  LinearGradientMode { LinearGradientMode::Horizontal = 0, LinearGradientMode::Vertical = 1, LinearGradientMode::ForwardDiagonal = 2, LinearGradientMode::BackwardDiagonal = 3 }
 Represents a linear gradient direction. More...
 
enum  MatrixOrder { MatrixOrder::Prepend = 0, MatrixOrder::Append = 1 }
 Specifies the order of matrix transform operations. More...
 
enum  PathPointType {
  PathPointType::Start = 0, PathPointType::Line = 1, PathPointType::Bezier = 3, PathPointType::PathTypeMask = 0x07,
  PathPointType::DashMode = 0x10, PathPointType::PathMarker = 0x20, PathPointType::CloseSubpath = 0x80, PathPointType::Bezier3 = 3
}
 Specifies the type of a path point. More...
 
enum  PenAlignment {
  PenAlignment::Center = 0, PenAlignment::Inset = 1, PenAlignment::Outset = 2, PenAlignment::Left = 3,
  PenAlignment::Right = 4
}
 Specifies the alignment of a Pen object relative to an abstract reference 0-width line. More...
 
enum  PenType {
  PenType::SolidColor = 0, PenType::HatchFill = 1, PenType::TextureFill = 2, PenType::PathGradient = 3,
  PenType::LinearGradient = 4
}
 Specifies a type of a fill Pen object uses. More...
 
enum  PixelFormat { PixelFormat::Format32bppRgb = 2498570 }
 Specifies the color data format of a pixel. More...
 
enum  PixelOffsetMode {
  PixelOffsetMode::Invalid = (int)QualityMode::Invalid, PixelOffsetMode::Default = (int)QualityMode::Default, PixelOffsetMode::HighSpeed = (int)QualityMode::Low, PixelOffsetMode::HighQuality = (int)QualityMode::High,
  PixelOffsetMode::None, PixelOffsetMode::Half
}
 Specifies how pixels are offset when being rendered. More...
 
enum  QualityMode { QualityMode::Invalid = -1, QualityMode::Default = 0, QualityMode::Low = 1, QualityMode::High = 2 }
 Specifies an overall rendering quality. More...
 
enum  SmoothingMode {
  SmoothingMode::Invalid = (int)QualityMode::Invalid, SmoothingMode::Default = (int)QualityMode::Default, SmoothingMode::HighSpeed = (int)QualityMode::Low, SmoothingMode::HighQuality = (int)QualityMode::High,
  SmoothingMode::None, SmoothingMode::AntiAlias
}
 Specifies what type of soothing (antialiasing) is applied to lines, curves and edges of filled areas. More...
 
enum  WrapMode {
  WrapMode::Tile = 0, WrapMode::TileFlipX = 1, WrapMode::TileFlipY = 2, WrapMode::TileFlipXY = 3,
  WrapMode::Clamp = 4
}
 Specifies how a texture or a gradient is tiled when it is smaller than the area being filled. More...
 

Typedef Documentation

◆ MatrixPtr

An alias for a shared pointer to an instance of Matrix class.

Enumeration Type Documentation

◆ CombineMode

Specifies how clipping regions are combined.

Enumerator
Replace 

One clipping region is replaced by another.

Intersect 

The two clipping regions are combined by taking their intersection.

Union 

The two clipping regions are combined by taking the union of both.

Xor 

The two clipping regions are combined by taking only the area enclosed by one or the other regions, but not both.

Exclude 

Two clipping regions are combined by taking the area of the first region that does not intersect with the second.

Complement 

Two clipping regions are combined by taking the area of the second region that does not intersect with the first.

◆ CompositingMode

Specifies how source colors and background colors are combined.

Enumerator
SourceOver 

The color being rendered overwrites the background color.

The color being rendered is blended with the background color according to the alpha component of the rendered color.

SourceCopy 

◆ CompositingQuality

Specifies the quality level to be used during compositing.

Enumerator
Invalid 

Invalid value.

Default 

Default value.

HighSpeed 

Low quality, high speed.

HighQuality 

High quality, low speed.

GammaCorrected 

Gamma correction is used.

AssumeLinear 

Assume linear values.

◆ CoordinateSpace

Specifies how to evaluate coordinates.

Enumerator
World 

The coordinates are in the world coordinate context.

Page 

The coordinates are in the page coordinate context.

Device 

Specifies that coordinates are in the device coordinate context.

◆ DashCap

Specifies the type of a cap used at the both ends of a dash in a dashed line.

Enumerator
Flat 

A square cap that squares off both ends of a dash.

Round 

A circular cap that rounds off both ends of a dash.

Triangle 

A triangular cap that points both ends of a dash.

◆ DashStyle

Specifies the style of a dashed line.

Enumerator
Solid 

Solid line.

Dash 

Dashed line.

Dot 

A line consisting of dots.

DashDot 

A dash-dot line.

DashDotDot 

A dash-dot-dot line.

Custom 

Custom dash style.

◆ FillMode

Specifies how to fill the interior of a closed path.

Enumerator
Alternate 

Alternate fill mode.

Winding fill mode.

Winding 

◆ FlushIntention

Specifies if commands in the graphics stack are terminated immediately or executed as soon as possible.

Enumerator
Flush 

Terminate immadiately.

Sync 

Execute as soon as possible.

◆ HatchStyle

Specifies patterns of HatchBrush brush.

Enumerator
Horizontal 

Horizontal lines.

Vertical 

Vertical lines.

ForwardDiagonal 

Lines on a diagonal from top-left to bottom-right.

BackwardDiagonal 

Lines on a diagonal from top-right to bottom-left.

Cross 

Criss-cross horizontal and vertical lines.

DiagonalCross 

Criss-cross diagonal lines.

Percent05 

A 5% hatch. The foreground-to-backgroud color ratio is 5:95.

Percent10 

A 10% hatch. The foreground-to-backgroud color ratio is 10:90.

Percent20 

A 20% hatch. The foreground-to-backgroud color ratio is 20:80.

Percent25 

A 25% hatch. The foreground-to-backgroud color ratio is 25:75.

Percent30 

A 30% hatch. The foreground-to-backgroud color ratio is 30:70.

Percent40 

A 40% hatch. The foreground-to-backgroud color ratio is 40:60.

Percent50 

A 50% hatch. The foreground-to-backgroud color ratio is 50:50.

Percent60 

A 60% hatch. The foreground-to-backgroud color ratio is 60:40.

Percent70 

A 70% hatch. The foreground-to-backgroud color ratio is 70:30.

Percent75 

A 75% hatch. The foreground-to-backgroud color ratio is 75:25.

Percent80 

A 80% hatch. The foreground-to-backgroud color ratio is 80:20.

Percent90 

A 90% hatch. The foreground-to-backgroud color ratio is 90:10.

LightDownwardDiagonal 

Diagonal lines that slant to the right from top points to bottom points and are spaced 50%, not antialiased.

LightUpwardDiagonal 

Diagonal lines that slant to the left from top points to bottom points, not antialiased.

DarkDownwardDiagonal 

Diagonal lines that slant to the right from top points to bottom points, not antialiased.

DarkUpwardDiagonal 

Diagonal lines that slant to the left from top points to bottom points, not antialiased.

WideDownwardDiagonal 

Diagonal lines that slant to the right from top points to bottom points, not antialiased.

WideUpwardDiagonal 

Diagonal lines that slant to the right from top points to bottom points, not antialiased.

LightVertical 

Vertical lines.

LightHorizontal 

Horizontal lines.

NarrowVertical 

Vertical lines.

NarrowHorizontal 

Horizontal lines.

DarkVertical 

Vertical lines.

DarkHorizontal 

Horizontal lines.

DashedDownwardDiagonal 

Dashed downward diagonal lines.

DashedUpwardDiagonal 

Dashed upward diagonal lines.

DashedHorizontal 

Dashed horizontal lines.

DashedVertical 

Dashed vertical lines.

SmallConfetti 

Small confetti.

LargeConfetti 

Large confetti.

ZigZag 

Zigzags.

Wave 

Wawed lines.

DiagonalBrick 

Diagonal brick pattern.

HorizontalBrick 

Horizontal brick pattern.

Weave 

Weave.

Plaid 

Plaid.

Divot 

Divot.

DottedGrid 

Dotted grid.

DottedDiamond 

Dotted diamond.

Shingle 

Shingle.

Trellis 

Trellis.

Sphere 

Sphere.

SmallGrid 

Small grid.

SmallCheckerBoard 

Small checker board.

LargeCheckerBoard 

Large checker board.

OutlinedDiamond 

Outline diamond.

SolidDiamond 

Solid diamond.

LargeGrid 

Large grid.

Min 

The first member of this enum.

Max 

The last member of this enum.

◆ InterpolationMode

Specifies an algorithm to use when images are rotated or scaled.

Enumerator
Invalid 

Equivalent to QualityMode::Invalid.

Default 

Default mode.

Low 

Low quality.

High 

High quality.

Bilinear 

Bilinear interpolation.

Bicubic 

Bicubic interpolation.

NearestNeighbor 

Nearest neighbor interpolation.

HighQualityBilinear 

High qulaity bilenear interpolation.

HighQualityBicubic 

High quality bicubic interpolation.

◆ LinearGradientMode

Represents a linear gradient direction.

Enumerator
Horizontal 

Left-to-right.

Vertical 

Bottom-to-top.

ForwardDiagonal 

From upper-left corner to bottom-right corner.

BackwardDiagonal 

From upper-right corner to bottom-left corner.

◆ LineCap

Indicates the available cap styles with which a Pen object can end a line.

Enumerator
Flat 

Flat line cap.

Square 

Square line cap.

Round 

Round line cap.

Triangle 

Triangular line cap.

NoAnchor 

No anchor.

SquareAnchor 

Square anchor line cap.

RoundAnchor 

Round anchor line cap.

DiamondAnchor 

Diamond anchor line cap.

ArrowAnchor 

Arrow anchor line cap.

AnchorMask 

A mask used to check if a line cap is an anchor cap.

Custom 

Custom cap.

◆ LineJoin

Specifies how consequent lines or curves are joined.

Enumerator
Miter 

Mitered join which produces a sharp or clipped corner depending on whether the length of the miter exceeds the miter limit.

Bevel 

Bevel join which produces a diagonal corner.

Round 

Round join which produces a smooth circular arc between the lines.

MiterClipped 

Mitered join which produces a sharp or beveled corner depending on whether the length of the miter exceeds the miter limit.

◆ MatrixOrder

Specifies the order of matrix transform operations.

Enumerator
Prepend 

The new operation is applied before the old operation.

Append 

The new operation is applied after the old operation.

◆ PathPointType

Specifies the type of a path point.

Enumerator
Start 

The starting point.

Line 

A line segment.

Bezier 

Bezier curve.

PathTypeMask 

A type mask point.

DashMode 

Specifies that a segment is dashed.

PathMarker 

A path marker.

CloseSubpath 

The ending point of a subpath.

Bezier3 

Cubic Bezier curve.

◆ PenAlignment

Specifies the alignment of a Pen object relative to an abstract reference 0-width line.

Enumerator
Center 

The Pen is positioned at the center of the reference line.

Inset 

The Pen is positioned on the inside of the reference line.

Outset 

The Pen is positioned on the outside of the reference line.

Left 

The Pen is positioned to the left of the reference line.

Right 

The Pen is positioned to the right of the reference line.

◆ PenType

Specifies a type of a fill Pen object uses.

Enumerator
SolidColor 

A solid fill.

HatchFill 

A hatch fill.

TextureFill 

A bitmap texture fill.

PathGradient 

A path gradient fill.

LinearGradient 

A linear gradient fill.

◆ PixelFormat

Specifies the color data format of a pixel.

Enumerator
Format32bppRgb 

Specifies that the pixel format is 32 bits per pixel with 8 bits for each of red, green, and blue components and remaining 8 bits not used.

◆ PixelOffsetMode

Specifies how pixels are offset when being rendered.

Enumerator
Invalid 

Invalid value.

Default 

The default mode.

HighSpeed 

Low quality (high performance) mode.

HighQuality 

High quality (lower performance) mode.

None 

No pixel offset.

Half 

Pixels are offset by -0.5 units both horizontally and vertically for high performance anti-aliasing.

◆ QualityMode

Specifies an overall rendering quality.

Enumerator
Invalid 

Invalid qulity mode.

Default 

Default quality mode.

Low 

Low quality, higher speed.

High 

High quality, lower speed.

◆ SmoothingMode

Specifies what type of soothing (antialiasing) is applied to lines, curves and edges of filled areas.

Enumerator
Invalid 

Invalid value.

Default 

Default mode, not antialiasing.

HighSpeed 

No antialiasing, high speed.

HighQuality 

Antialiased rendering, low speed.

None 

No antialising.

AntiAlias 

Antialiased rendering.

◆ WrapMode

Specifies how a texture or a gradient is tiled when it is smaller than the area being filled.

Enumerator
Tile 

Tiles the gradient or texture.

TileFlipX 

Reverses the texture or gradient horizontally and then tiles the texture or gradient.

TileFlipY 

Reverses the texture or gradient vertically and then tiles the texture or gradient.

TileFlipXY 

Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient.

Clamp 

Clamps the texture or gradient to the object boundary.