Pen Functions (GDI+)
Windows GDI+ exposes a flat API that consists of about 600 functions, which are implemented in Gdiplus.dll and declared in Gdiplusflat.h. The functions in the GDI+ flat API are wrapped by a collection of about 40 C++ classes. It is recommended that you do not directly call the functions in the flat API. Whenever you make calls to GDI+, you should do so by calling the methods and functions provided by the C++ wrappers. Microsoft Product Support Services will not provide support for code that calls the flat API directly. For more information on using these wrapper methods, see GDI+ Flat API.
The following flat API functions are wrapped by the Pen C++ class.
Pen Functions and Corresponding Wrapper Methods
Flat function | Wrapper method | Remarks |
---|---|---|
GpStatus WINGDIPAPI GdipCreatePen1(ARGB color, REAL width, GpUnit unit, GpPen **pen) |
Pen::Pen(IN const Color& color, IN REAL width = 1.0f) |
Creates a Pen object that uses a specified color and width. The unit parameter of the flat function is a member of the Unit enumeration that specifies the unit of measure for the width of the pen. |
GpStatus WINGDIPAPI GdipCreatePen2(GpBrush *brush, REAL width, GpUnit unit, GpPen **pen) |
Pen::Pen(IN const Brush* brush, IN REAL width = 1.0f) |
Creates a Pen object that uses the attributes of a brush and a real number to set the width of this Pen object. The unit parameter of the flat function is a member of the Unit enumeration that specifies the unit of measure for the width of the pen. |
GpStatus WINGDIPAPI GdipClonePen(GpPen *pen, GpPen **clonepen) |
Pen* Pen::Clone() const |
Copies a Pen object. |
GpStatus WINGDIPAPI GdipDeletePen(GpPen *pen) |
Pen::~Pen() |
Releases resources used by the Pen object. |
GpStatus WINGDIPAPI GdipSetPenWidth(GpPen *pen, REAL width) |
Status Pen::SetWidth(IN REAL width) |
Sets the width for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenWidth(GpPen *pen, REAL *width) |
REAL Pen::GetWidth() const |
Gets the width currently set for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenUnit(GpPen *pen, GpUnit unit) |
Not called by wrapper methods. |
This function sets the unit of measure for the pen specified by the pen parameter to the value specified by the unit parameter. The unit parameter is a member of the Unit enumeration that specifies the unit of measure for the width of the pen. |
GpStatus WINGDIPAPI GdipGetPenUnit(GpPen *pen, GpUnit *unit) |
Not called by wrapper methods. |
This function gets the unit of measure for the pen specified by the pen parameter. The unit parameter receives a member of the Unit enumeration that indicates the unit of measure for the width of the pen. |
GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen *pen, GpLineCap startCap, GpLineCap endCap, GpDashCap dashCap) |
Status Pen::SetLineCap(IN LineCap startCap, IN LineCap endCap, IN DashCap dashCap) |
Sets the cap styles for the start, end, and dashes in a line drawn with this pen. |
GpStatus WINGDIPAPI GdipSetPenStartCap(GpPen *pen, GpLineCap startCap) |
Status Pen::SetStartCap(IN LineCap startCap) |
Sets the start cap for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen *pen, GpLineCap endCap) |
Status Pen::SetEndCap(IN LineCap endCap) |
Sets the end cap for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenDashCap197819(GpPen *pen, GpDashCap dashCap) |
Status Pen::SetDashCap(IN DashCap dashCap) |
Sets the dash cap style for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenStartCap(GpPen *pen, GpLineCap *startCap) |
LineCap Pen::GetStartCap()const |
Gets the start cap currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenEndCap(GpPen *pen, GpLineCap *endCap) |
LineCap Pen::GetEndCap()const |
Gets the end cap currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenDashCap197819(GpPen *pen, GpDashCap *dashCap) |
DashCap Pen::GetDashCap() const |
Gets the dash cap style currently set for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen *pen, GpLineJoin lineJoin) |
Status Pen::SetLineJoin(IN LineJoin lineJoin) |
Sets the line join for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenLineJoin(GpPen *pen, GpLineJoin *lineJoin) |
LineJoin Pen::GetLineJoin() const |
Gets the line join for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen *pen, GpCustomLineCap* customCap) |
Status Pen::SetCustomStartCap(IN const CustomLineCap* customCap) |
Sets the custom start cap for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenCustomStartCap(GpPen *pen, GpCustomLineCap** customCap) |
Pen::GetCustomStartCap(OUT CustomLineCap* customCap) const |
Gets the custom start cap for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen *pen, GpCustomLineCap* customCap) |
Status Pen::SetCustomEndCap(IN const CustomLineCap* customCap) |
Sets the custom end cap currently set for this Pen object |
GpStatus WINGDIPAPI GdipGetPenCustomEndCap(GpPen *pen, GpCustomLineCap** customCap) |
Status Pen::GetCustomEndCap(OUT CustomLineCap* customCap) const |
Gets the custom end cap currently set for this Pen object |
GpStatus WINGDIPAPI GdipSetPenMiterLimit(GpPen *pen, REAL miterLimit) |
Status Pen::SetMiterLimit(IN REAL miterLimit) |
Sets the miter length currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenMiterLimit(GpPen *pen, REAL *miterLimit) |
REAL Pen::GetMiterLimit() const |
Gets the miter length currently set for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenMode(GpPen *pen, GpPenAlignment penMode) |
Status Pen::SetAlignment(IN PenAlignment penAlignment) |
Sets the alignment currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenMode(GpPen *pen, GpPenAlignment *penMode) |
PenAlignment Pen::GetAlignment() const |
Sets the alignment currently set for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenTransform(GpPen *pen, GpMatrix *matrix) |
Status Pen::SetTransform(IN const Matrix* matrix) |
Sets the world transformation matrix currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenTransform(GpPen *pen, GpMatrix *matrix) |
Pen::GetTransform(OUT Matrix* matrix) const |
Gets the world transformation matrix currently set for this Pen object. |
GpStatus WINGDIPAPI GdipResetPenTransform(GpPen *pen) |
Status Pen::ResetTransform() |
Sets the world transformation matrix of this Pen object to the identity matrix. |
GpStatus WINGDIPAPI GdipMultiplyPenTransform(GpPen *pen, GDIPCONST GpMatrix *matrix, GpMatrixOrder order) |
Status Pen::MultiplyTransform(IN const Matrix* matrix, IN MatrixOrder order = MatrixOrderPrepend) |
Updates the world transformation matrix of this Pen object with the product of itself and another matrix. |
GpStatus WINGDIPAPI GdipTranslatePenTransform(GpPen *pen, REAL dx, REAL dy, GpMatrixOrder order) |
Status Pen::TranslateTransform(GpPen *pen, Real dx, REAL dy, GpMatrixOrder order) |
Updates the world transformation matrix of this Pen object with the product of itself and another matrix. |
GpStatus WINGDIPAPI GdipScalePenTransform(GpPen *pen, REAL sx, REAL sy, GpMatrixOrder order) |
Status Pen::ScaleTransform(IN REAL sx, IN REAL sy, IN MatrixOrder order = MatrixOrderPrepend) |
Sets the Pen object's world transformation matrix equal to the product of itself and a scaling matrix. |
GpStatus WINGDIPAPI GdipRotatePenTransform(GpPen *pen, REAL angle, GpMatrixOrder order) |
Status Pen::RotateTransform(IN REAL angle, IN MatrixOrder order = MatrixOrderPrepend) |
Updates the world transformation matrix of this Pen object with the product of itself and a rotation matrix. |
GpStatus WINGDIPAPI GdipSetPenColor(GpPen *pen, ARGB argb) |
Status Pen::SetColor(IN const Color& color) |
Sets the color for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenColor(GpPen *pen, ARGB *argb) |
Status Pen::GetColor(OUT Color* color) const |
Gets the color for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen *pen, GpBrush *brush) |
Status Pen::SetBrush(IN const Brush* brush) |
Sets the Brush object that a pen uses to fill a line. |
GpStatus WINGDIPAPI GdipGetPenBrushFill(GpPen *pen, GpBrush **brush) |
Brush* Pen::GetBrush() const |
Gets the Brush object that a pen uses to fill a line. |
GpStatus WINGDIPAPI GdipGetPenFillType(GpPen *pen, GpPenType* type) |
PenType Pen::GetPenType() const |
Gets the type currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenDashStyle(GpPen *pen, GpDashStyle *dashstyle) |
DashStyle Pen::GetDashStyle() const |
Gets the dash style currently set for this Pen object. |
GpStatus WINGDIPAPI GdipSetPenDashStyle(GpPen *pen, GpDashStyle dashstyle) |
Status Pen::SetDashStyle(IN DashStyle dashStyle) |
Sets the dash style currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenDashOffset(GpPen *pen, REAL *offset) |
REAL Pen::GetDashOffset() const |
Gets the distance from the start of the line to the start of the first space in a dashed line. |
GpStatus WINGDIPAPI GdipSetPenDashOffset(GpPen *pen, REAL offset) |
Status Pen::SetDashOffset(IN REAL dashOffset) |
Sets the distance from the start of the line to the start of the first space in a dashed line. |
GpStatus WINGDIPAPI GdipGetPenDashCount(GpPen *pen, INT *count) |
INT Pen::GetDashPatternCount() const |
Gets the number of elements in a dash pattern array. |
GpStatus WINGDIPAPI GdipSetPenDashArray(GpPen *pen, GDIPCONST REAL *dash, INT count) |
Status Pen::SetDashPattern(IN const REAL* dashArray, IN INT count) |
Sets an array of custom dashes and spaces currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenDashArray(GpPen *pen, REAL *dash, INT count) |
Status Pen::GetDashPattern(OUT REAL* dashArray, IN INT count) const |
Gets an array of custom dashes and spaces currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenCompoundCount(GpPen *pen, INT *count) |
INT Pen::GetCompoundArrayCount() const |
Gets the number of elements in a compound array. |
GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen *pen, GDIPCONST REAL *dash, INT count) |
Status Pen::SetCompoundArray(IN const REAL* compoundArray, IN INT count) |
Sets the compound array currently set for this Pen object. |
GpStatus WINGDIPAPI GdipGetPenCompoundArray(GpPen *pen, REAL *dash, INT count) |
Status Pen::GetCompoundArray(OUT REAL* compoundArray, IN INT count) const |
Gets the compound array currently set for this Pen object. |