Pen

Pen class

Represents properties such as color, width etc. of the lines and curves being drawn. 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.

class Pen : public System::Object

Methods

MethodDescription
SharedPtr<Pen> Clone()Returns a copy of the current object.
void Dispose()Releases all operating resources acquired by the current object.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
Drawing2D::PenAlignment get_Alignment() constReturns a value that indicates the alignment of the current Pen object.
SharedPtr<Brush> get_Brush()Returns this pen’s Brush object.
Color get_Color() constReturns this pen’s color.
System::ArrayPtr<float> get_CompoundArray() constReturns an array of values that specifies a compound pen.
Drawing2D::DashCap get_DashCap() constReturns a value that indicates the cap used at the both ends of a dashed line.
float get_DashOffset() constReturns the distance from the start of a line to the beginning of a dash pattern.
System::ArrayPtr<float> get_DashPattern() constReturns an array indicating custom dash pattern in a dashed line.
Drawing2D::DashStyle get_DashStyle() constReturns a value that indicates the dash style of the current Pen object.
Drawing2D::LineCap get_EndCap() constReturns a value that indicates the ending line cap of the current Pen object.
Drawing2D::LineJoin get_LineJoin() constReturns a value that indicates how the lines drawn by this Pen object are joined.
float get_MiterLimit() constReturns the limit of the thickness of the join on a mitered corner.
Drawing2D::PenType get_PenType() constNOT IMPLEMENTED.
Drawing2D::LineCap get_StartCap() constReturns a value that indicates the starting line cap of the current Pen object.
SharedPtr<Drawing2D::Matrix> get_Transform()Returns a copy of a Matrix object that specifies the geometrical transformations for the pen represneted by the current object.
float get_Width() constReturns the width of the current Pen object.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
void MultiplyTransform(const SharedPtr<Drawing2D::Matrix>&, Drawing2D::MatrixOrder)Multiplies current object’s transform matrix by the specified matrix.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Pen(const Color&)Constructs a new Pen object representing the specified color.
Pen(const Color&, float)Constructs a new Pen object representing the specified color and width.
Pen(const SharedPtr<Brush>&)Constructs a new Pen object and initializes it with the specified Brush object.
Pen(const SharedPtr<Brush>&, float)Constructs a new Pen object and initializes it with the specified Brush object.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
void ResetTransform()Resets the current object’s transform matrix so that it becomes an identity matrix.
void RotateTransform(float, Drawing2D::MatrixOrder)Rotates the local geometric transformation by the specified angle in the specified order.
void ScaleTransform(float, float, Drawing2D::MatrixOrder)Scales the local geometric transformation by the specified factors in the specified order.
void set_Alignment(Drawing2D::PenAlignment)Sets the alignment of the current Pen object.
void set_Brush(const SharedPtr<Brush>&)Sets this pen’s Brush object.
void set_Color(const Color&)Sets this pen’s color.
void set_CompoundArray(const System::ArrayPtr<float>&)Sets an array of values that specifies a compound pen.
void set_CustomEndCap(const SharedPtr<Drawing2D::CustomLineCap>&)Sets the custom end line cap.
void set_CustomStartCap(const SharedPtr<Drawing2D::CustomLineCap>&)Sets the custom start line cap.
void set_DashCap(Drawing2D::DashCap)Sets a value that specifies the cap used at the both ends of a dashed line.
void set_DashOffset(float)Sets the distance from the start of a line to the beginning of a dash pattern.
void set_DashPattern(const System::ArrayPtr<float>&)Sets an array specifying custom dash pattern in a dashed line. The array consists of numbers that specify the lengths of alternating dashes and spaces.
void set_DashStyle(Drawing2D::DashStyle)Sets a value that specifies the dash style of the current Pen object.
void set_EndCap(Drawing2D::LineCap)Sets the ending line cap of the current Pen object.
void set_LineJoin(Drawing2D::LineJoin)Sets a value that specifies how the lines drawn by this Pen object are joined.
void set_MiterLimit(float)Sets the limit of the thickness of the join on a mitered corner.
void set_StartCap(Drawing2D::LineCap)Sets the starting line cap of the current Pen object.
void set_Transform(const SharedPtr<Drawing2D::Matrix>&)Sets a Matrix object that specifies the geometrical transformations for the pen represneted by the current object.
void set_Width(float)Sets the width of the current Pen object.
void SetLineCap(Drawing2D::LineCap, Drawing2D::LineCap, Drawing2D::DashCap)NOT IMPLEMENTED.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
void TranslateTransform(float, float, Drawing2D::MatrixOrder)Translates the local geometric transformation by the specified dimensions in the specified order.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~Object()Destroys object. Frees all internal data structures.

See Also