


## Classes

| Class | Description |
| --- | --- |
| [AdjustableArrowCap](./adjustablearrowcap/) | Represents an adjustable arrow-shaped line cap. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [Blend](./blend/) | Represents a blend pattern for a [LinearGradientBrush](./lineargradientbrush/) object. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [ColorBlend](./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()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [CustomLineCap](./customlinecap/) | Represents a user-defined line cap. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [GraphicsContainer](./graphicscontainer/) | Contains the internal data of a graphics container. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [GraphicsPath](./graphicspath/) | Represents a set of connected lines and curves. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [GraphicsState](./graphicsstate/) | Represents a [Graphics](../system.drawing/graphics/) object's state. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [HatchBrush](./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()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [LinearGradientBrush](./lineargradientbrush/) | Represents a linear gradient brush. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [Matrix](./matrix/) | Represents a 3x3 matrix that defines transform operations. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PathData](./pathdata/) | Contains the graphical data that represents a path. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [PathGradientBrush](./pathgradientbrush/) | Represents a brush that fills the interior of a [GraphicsPath](./graphicspath/) object with a gradient. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
| [RegionData](./regiondata/) | Contains data that defines a region. Objects of this class should only be allocated using [System::MakeObject()](../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](../system/smartptr/) pointer and use this pointer to pass it to functions as argument. |
## Enums

| Enum | Description |
| --- | --- |
| [CombineMode](./combinemode/) | Specifies how clipping regions are combined. |
| [CompositingMode](./compositingmode/) | Specifies how source colors and background colors are combined. |
| [CompositingQuality](./compositingquality/) | Specifies the quality level to be used during compositing. |
| [CoordinateSpace](./coordinatespace/) | Specifies how to evaluate coordinates. |
| [DashCap](./dashcap/) | Specifies the type of a cap used at the both ends of a dash in a dashed line. |
| [DashStyle](./dashstyle/) | Specifies the style of a dashed line. |
| [FillMode](./fillmode/) | Specifies how to fill the interior of a closed path. |
| [FlushIntention](./flushintention/) | Specifies if commands in the graphics stack are terminated immediately or executed as soon as possible. |
| [HatchStyle](./hatchstyle/) | Specifies patterns of [HatchBrush](./hatchbrush/) brush. |
| [InterpolationMode](./interpolationmode/) | Specifies an algorithm to use when images are rotated or scaled. |
| [LinearGradientMode](./lineargradientmode/) | Represents a linear gradient direction. |
| [LineCap](./linecap/) | Indicates the available cap styles with which a [Pen](../system.drawing/pen/) object can end a line. |
| [LineJoin](./linejoin/) | Specifies how consequent lines or curves are joined. |
| [MatrixOrder](./matrixorder/) | Specifies the order of matrix transform operations. |
| [PathPointType](./pathpointtype/) | Specifies the type of a path point. |
| [PenAlignment](./penalignment/) | Specifies the alignment of a [Pen](../system.drawing/pen/) object relative to an abstract reference 0-width line. |
| [PenType](./pentype/) | Specifies a type of a fill [Pen](../system.drawing/pen/) object uses. |
| [PixelFormat](./pixelformat/) | Specifies the color data format of a pixel. |
| [PixelOffsetMode](./pixeloffsetmode/) | Specifies how pixels are offset when being rendered. |
| [QualityMode](./qualitymode/) | Specifies an overall rendering quality. |
| [SmoothingMode](./smoothingmode/) | Specifies what type of soothing (antialiasing) is applied to lines, curves and edges of filled areas. |
| [WrapMode](./wrapmode/) | Specifies how a texture or a gradient is tiled when it is smaller than the area being filled. |
## Typedefs

| Typedef | Description |
| --- | --- |
| [MatrixPtr](./matrixptr/) | An alias for a shared pointer to an instance of [Matrix](./matrix/) class. |
