GraphicsPath

GraphicsPath class

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.

class GraphicsPath : public System::Object

Methods

MethodDescription
void AddArc(float, float, float, float, float, float)Adds the specified elliptical arc to the path represented by the current object.
void AddArc(int, int, int, int, float, float)Adds the specified elliptical arc to the path represented by the current object.
void AddArc(const RectangleF&, float, float)Adds the specified elliptical arc to the path represented by the current object.
void AddArc(const Rectangle&, float, float)Adds the specified elliptical arc to the path represented by the current object.
void AddBezier(const Point&, const Point&, const Point&, const Point&)Adds the specified cubic Bezier curve to the path represented by the current object.
void AddBezier(const PointF&, const PointF&, const PointF&, const PointF&)Adds the specified cubic Bezier curve to the path represented by the current object.
void AddBezier(int, int, int, int, int, int, int, int)Adds the specified cubic Bezier curve to the path represented by the current object.
void AddBezier(float, float, float, float, float, float, float, float)Adds the specified cubic Bezier curve to the path represented by the current object.
void AddBeziers(const ArrayPtr<Point>&)Adds a sequence of connected cubic Bezier curves to the current figure.
void AddBeziers(const ArrayPtr<PointF>&)Adds a sequence of connected cubic Bezier curves to the current figure.
void AddClosedCurve(const ArrayPtr<PointF>&, float)Adds the specified closed curve to the path represented by the current object.
void AddClosedCurve(const ArrayPtr<Point>&, float)Adds the specified closed curve to the path represented by the current object.
void AddCurve(const ArrayPtr<PointF>&, float)Adds the specified curve to the path represented by the current object.
void AddCurve(const ArrayPtr<Point>&, float)Adds the specified curve to the path represented by the current object.
void AddCurve(const ArrayPtr<PointF>&, int, int, float)Adds the specified curve to the path represented by the current object.
void AddCurve(const ArrayPtr<Point>&, int, int, float)Adds the specified curve to the path represented by the current object.
void AddEllipse(float, float, float, float)Adds the specified ellipse to the path represented by the current object.
void AddEllipse(int, int, int, int)Adds the specified ellipse to the path represented by the current object.
void AddEllipse(const RectangleF&)Adds the specified ellipse to the path represented by the current object.
void AddEllipse(const Rectangle&)Adds the specified ellipse to the path represented by the current object.
void AddLine(const Point&, const Point&)Adds the specified line to the path represented by the current object.
void AddLine(const PointF&, const PointF&)Adds the specified line to the path represented by the current object.
void AddLine(int, int, int, int)Adds the specified line to the path represented by the current object.
void AddLine(float, float, float, float)Adds the specified line to the path represented by the current object.
void AddLines(const ArrayPtr<PointF>&)Adds the specified series of connected line segments to the path represented by the current object.
void AddLines(const ArrayPtr<Point>&)Adds the specified series of connected line segments to the path represented by the current object.
void AddPath(const SharedPtr<GraphicsPath>&, bool)Adds the specified path to the path represented by the current object.
void AddPie(float, float, float, float, float, float)Adds the specified outline of the pie shape to the path represented by the current object.
void AddPie(int, int, int, int, float, float)Adds the specified outline of the pie shape to the path represented by the current object.
void AddPie(const Rectangle&, float, float)Adds the specified outline of the pie shape to the path represented by the current object.
void AddPolygon(const ArrayPtr<PointF>&)Adds the specified polygon to the path represented by the current object.
void AddPolygon(const ArrayPtr<Point>&)Adds the specified polygon to the path represented by the current object.
void AddRectangle(const Rectangle&)Adds the specified rectangle to the path represented by the current object.
void AddRectangle(const RectangleF&)Adds the specified rectangle to the path represented by the current object.
void AddRectangles(const ArrayPtr<Rectangle>&)Adds the specified series of rectangles to the path represented by the current object.
void AddRectangles(const ArrayPtr<RectangleF>&)Adds the specified series of rectangles to the path represented by the current object.
void AddString(const String&, const SharedPtr<FontFamily>&, int, float, Point, const SharedPtr<StringFormat>&)Adds a string of text to the path represented by the current object.
void AddString(const String&, const SharedPtr<FontFamily>&, int, float, PointF, const SharedPtr<StringFormat>&)Adds a string of text to the path represented by the current object.
void AddString(const String&, const SharedPtr<FontFamily>&, int, float, Rectangle, const SharedPtr<StringFormat>&)Adds a string of text to the path represented by the current object.
void AddString(const String&, const SharedPtr<FontFamily>&, int, float, RectangleF, const SharedPtr<StringFormat>&)Adds a string of text to the path represented by the current object.
virtual SharedPtr<GraphicsPath> Clone()Creates a copy of the current object.
void CloseAllFigures()Closes all open figures and starts a new one.
void CloseFigure()Closes the current figure and starts a new one.
void Dispose()Releases all operating system 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.
void Flatten()Flattens each curve in the path by converting them into a series of connected lines. The flatness value of 0.25 is used.
void Flatten(const MatrixPtr&)Flattens each curve in the path by converting them into a series of connected lines. The flatness value of 0.25 is used.
void Flatten(const MatrixPtr&, float)Flattens each curve in the path by converting them into a series of connected lines.
FillMode get_FillMode()Returns the fill mode of the current object.
SharedPtr<PathData> get_PathData()Returns a PathData object containing the points that make up a path represented by the current object and their types.
ArrayPtr<PointF> get_PathPoints() constReturns an array that contains points that make up a path represented by the current object.
ArrayPtr<uint8_t> get_PathTypes() constReturns an array that contains values that indicate the types of the points that make up a path represented by the current object.
int get_PointCount() constReturns the number of points in the path represented by the current object.
RectangleF GetBounds(const MatrixPtr&, const SharedPtr<Pen>&) constReturns a RectangleF object that represents a rectangle that bounds the path represented by the current object when it is transformed with the specified matrix.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
Detail::FigureType GetFigureFlags()Returns a value which is a bitwise combination of Detail::FigureType values that indicates what types of figures are contained within the path represented by the current object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
PointF GetLastPoint() constReturns a PointF object representing the last point in the path.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
GraphicsPath(FillMode)Constructs a new instance of GraphicsPath class with the specified fill mode.
GraphicsPath(const ArrayPtr<Point>&, const ArrayPtr<uint8_t>&, FillMode)Constructs a new instance of GraphicsPath object that represents the specified path.
GraphicsPath(const ArrayPtr<PointF>&, const ArrayPtr<uint8_t>&, FillMode)Constructs a new instance of GraphicsPath object that represents the specified path.
GraphicsPath(const SkPath&)
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
bool IsOutlineVisible(const PointF&, const SharedPtr<Pen>&)Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen. NOT EMPLEMENTED.
bool IsVisible(const PointF&)Determines if the specified point is contained within the path represented by the current object.
bool IsVisible(float, float)Determines if the specified point is contained within the path represented by the current object.
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.
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.
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 Reset()Empties the path by removing all points from it.
void Reverse()Reverses the order of points in the PathPoints array of this GraphicsPath.
void set_FillMode(FillMode)Sets the fill mode of the current object.
void SetMarkers()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.
void StartFigure()Starts a new figure.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
void Transform(const MatrixPtr&)Transforms the path represented by the current object by applying the specified transform matrix to it.
void Transform(const SkMatrix&)
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.
void Widen(const SharedPtr<Pen>&)Replaces this path with an outline around the original path.
~GraphicsPath()Destructor.
virtual ~Object()Destroys object. Frees all internal data structures.

See Also