.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.GraphicsPath: ========================================================================================================================================== |phoenix_title| **wx.GraphicsPath** ========================================================================================================================================== A :ref:`wx.GraphicsPath` is a native representation of a geometric path. The contents are specific and private to the respective renderer. Instances are reference counted and can therefore be assigned as usual. The only way to get a valid instance is by using :meth:`wx.GraphicsContext.CreatePath` or :meth:`wx.GraphicsRenderer.CreatePath` . | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class GraphicsPath:
| |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.GraphicsPath.AddArc` Adds an arc of a circle. :meth:`~wx.GraphicsPath.AddArcToPoint` Adds an arc (of a circle with radius `r`) that is tangent to the line connecting current point and (`x1`, `y1`) and to the line connecting (`x1`, `y1`) and (`x2`, `y2`). :meth:`~wx.GraphicsPath.AddCircle` Appends a circle around (`x`,`y`) with radius `r` as a new closed subpath. :meth:`~wx.GraphicsPath.AddCurveToPoint` Adds a cubic bezier curve from the current point, using two control points and an end point. :meth:`~wx.GraphicsPath.AddEllipse` Appends an ellipse fitting into the passed in rectangle as a new closed subpath. :meth:`~wx.GraphicsPath.AddLineToPoint` Adds a straight line from the current point to (`x`,`y`). :meth:`~wx.GraphicsPath.AddPath` Adds another path onto the current path. :meth:`~wx.GraphicsPath.AddQuadCurveToPoint` Adds a quadratic bezier curve from the current point, using a control point and an end point. :meth:`~wx.GraphicsPath.AddRectangle` Appends a rectangle as a new closed subpath. :meth:`~wx.GraphicsPath.AddRoundedRectangle` Appends a rounded rectangle as a new closed subpath. :meth:`~wx.GraphicsPath.CloseSubpath` Closes the current sub-path. :meth:`~wx.GraphicsPath.Contains` :meth:`~wx.GraphicsPath.GetBox` Gets the bounding box enclosing all points (possibly including control points). :meth:`~wx.GraphicsPath.GetCurrentPoint` Gets the last point of the current path, (0,0) if not yet set. :meth:`~wx.GraphicsPath.GetNativePath` Returns the native path (CGPathRef for Core Graphics, Path pointer for GDIPlus and a cairo_path_t pointer for cairo). :meth:`~wx.GraphicsPath.MoveToPoint` Begins a new subpath at (`x`,`y`). :meth:`~wx.GraphicsPath.Transform` Transforms each point of this path by the matrix. :meth:`~wx.GraphicsPath.UnGetNativePath` Gives back the native path returned by :meth:`~GraphicsPath.GetNativePath` because there might be some deallocations necessary (e.g. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.GraphicsPath.Box` See :meth:`~wx.GraphicsPath.GetBox` :attr:`~wx.GraphicsPath.CurrentPoint` See :meth:`~wx.GraphicsPath.GetCurrentPoint` :attr:`~wx.GraphicsPath.NativePath` See :meth:`~wx.GraphicsPath.GetNativePath` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.GraphicsPath(GraphicsObject) A GraphicsPath is a native representation of a geometric path. .. method:: AddArc(self, *args, **kw) Adds an arc of a circle. The circle is defined by the coordinates of its centre (`x`, `y`) or `c` and its radius `r`. The arc goes from the starting angle `startAngle` to `endAngle` either clockwise or counter-clockwise depending on the value of `clockwise` argument. The angles are measured in radians but, contrary to the usual mathematical convention, are always `clockwise` from the horizontal axis. If for clockwise arc `endAngle` is less than `startAngle` it will be progressively increased by 2pi until it is greater than `startAngle`. If for counter-clockwise arc `endAngle` is greater than `startAngle` it will be progressively decreased by 2pi until it is less than `startAngle`. If there is a current point set, an initial line segment will be added to the path to connect the current point to the beginning of the arc. |overload| Overloaded Implementations: :html:`

` **AddArc** `(self, x, y, r, startAngle, endAngle, clockwise)` :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :param `r`: :type `r`: wx.Double :param `startAngle`: :type `startAngle`: wx.Double :param `endAngle`: :type `endAngle`: wx.Double :param `clockwise`: :type `clockwise`: bool :html:`

` **AddArc** `(self, c, r, startAngle, endAngle, clockwise)` :param `c`: :type `c`: wx.Point2D :param `r`: :type `r`: wx.Double :param `startAngle`: :type `startAngle`: wx.Double :param `endAngle`: :type `endAngle`: wx.Double :param `clockwise`: :type `clockwise`: bool :html:`

` .. method:: AddArcToPoint(self, x1, y1, x2, y2, r) Adds an arc (of a circle with radius `r`) that is tangent to the line connecting current point and (`x1`, `y1`) and to the line connecting (`x1`, `y1`) and (`x2`, `y2`). If the current point and the starting point of the arc are different, a straight line connecting these points is also appended. If there is no current point before the call to :meth:`AddArcToPoint` this function will behave as if preceded by a call to MoveToPoint(0, 0). After this call the current point will be at the ending point of the arc. .. figure:: _static\images\overviews\drawing-addarctopoint.png :align: center | :param `x1`: :type `x1`: wx.Double :param `y1`: :type `y1`: wx.Double :param `x2`: :type `x2`: wx.Double :param `y2`: :type `y2`: wx.Double :param `r`: :type `r`: wx.Double .. method:: AddCircle(self, x, y, r) Appends a circle around (`x`,`y`) with radius `r` as a new closed subpath. After this call the current point will be at ( `x+` `r` `,` `y`). :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :param `r`: :type `r`: wx.Double .. method:: AddCurveToPoint(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **AddCurveToPoint** `(self, cx1, cy1, cx2, cy2, x, y)` Adds a cubic bezier curve from the current point, using two control points and an end point. If there is no current point before the call to :meth:`AddCurveToPoint` this function will behave as if preceded by a call to MoveToPoint(`cx1`, `cy1`). :param `cx1`: :type `cx1`: wx.Double :param `cy1`: :type `cy1`: wx.Double :param `cx2`: :type `cx2`: wx.Double :param `cy2`: :type `cy2`: wx.Double :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :html:`

` **AddCurveToPoint** `(self, c1, c2, e)` Adds a cubic bezier curve from the current point, using two control points and an end point. If there is no current point before the call to :meth:`AddCurveToPoint` this function will behave as if preceded by a call to MoveToPoint(`c1`). :param `c1`: :type `c1`: wx.Point2D :param `c2`: :type `c2`: wx.Point2D :param `e`: :type `e`: wx.Point2D :html:`

` .. method:: AddEllipse(self, x, y, w, h) Appends an ellipse fitting into the passed in rectangle as a new closed subpath. After this call the current point will be at ( `x+` `w` `,` `y+` `h/2` `)` . :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :param `w`: :type `w`: wx.Double :param `h`: :type `h`: wx.Double .. method:: AddLineToPoint(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **AddLineToPoint** `(self, x, y)` Adds a straight line from the current point to (`x`,`y`). If current point is not yet set before the call to :meth:`AddLineToPoint` this function will behave as :meth:`MoveToPoint` . :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :html:`

` **AddLineToPoint** `(self, p)` Adds a straight line from the current point to `p`. If current point is not yet set before the call to :meth:`AddLineToPoint` this function will behave as :meth:`MoveToPoint` . :param `p`: :type `p`: wx.Point2D :html:`

` .. method:: AddPath(self, path) Adds another path onto the current path. After this call the current point will be at the added path's current point. For Direct2D the path being appended shouldn't contain a started non-empty subpath when this function is called. :param `path`: :type `path`: wx.GraphicsPath .. method:: AddQuadCurveToPoint(self, cx, cy, x, y) Adds a quadratic bezier curve from the current point, using a control point and an end point. If there is no current point before the call to :meth:`AddQuadCurveToPoint` this function will behave as if preceded by a call to MoveToPoint(`cx`, `cy`). :param `cx`: :type `cx`: wx.Double :param `cy`: :type `cy`: wx.Double :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double .. method:: AddRectangle(self, x, y, w, h) Appends a rectangle as a new closed subpath. After this call the current point will be at (`x`, `y`). :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :param `w`: :type `w`: wx.Double :param `h`: :type `h`: wx.Double .. method:: AddRoundedRectangle(self, x, y, w, h, radius) Appends a rounded rectangle as a new closed subpath. If `radius` equals 0 this function will behave as :meth:`AddRectangle` , otherwise after this call the current point will be at ( `x+` `w` `,` `y+` `h/2` `)` . :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :param `w`: :type `w`: wx.Double :param `h`: :type `h`: wx.Double :param `radius`: :type `radius`: wx.Double .. method:: CloseSubpath(self) Closes the current sub-path. After this call the current point will be at the joined endpoint of the sub-path. .. method:: Contains(self, *args, **kw) :returns: ``True`` if the point is within the path. |overload| Overloaded Implementations: :html:`

` **Contains** `(self, c, fillStyle=ODDEVEN_RULE)` :param `c`: :type `c`: wx.Point2D :param `fillStyle`: :type `fillStyle`: wx.PolygonFillMode :rtype: `bool` :html:`

` **Contains** `(self, x, y, fillStyle=ODDEVEN_RULE)` :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :param `fillStyle`: :type `fillStyle`: wx.PolygonFillMode :rtype: `bool` :html:`

` .. method:: GetBox(self) Gets the bounding box enclosing all points (possibly including control points). :rtype: :ref:`wx.Rect2D` .. method:: GetCurrentPoint(self) Gets the last point of the current path, (0,0) if not yet set. :rtype: :ref:`wx.Point2D` .. method:: GetNativePath(self) Returns the native path (CGPathRef for Core Graphics, Path pointer for GDIPlus and a cairo_path_t pointer for cairo). .. method:: MoveToPoint(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **MoveToPoint** `(self, x, y)` Begins a new subpath at (`x`,`y`). :param `x`: :type `x`: wx.Double :param `y`: :type `y`: wx.Double :html:`

` **MoveToPoint** `(self, p)` Begins a new subpath at `p`. :param `p`: :type `p`: wx.Point2D :html:`

` .. method:: Transform(self, matrix) Transforms each point of this path by the matrix. For Direct2D the current path shouldn't contain a started non-empty subpath when this function is called. :param `matrix`: :type `matrix`: wx.GraphicsMatrix .. method:: UnGetNativePath(self, p) Gives back the native path returned by :meth:`GetNativePath` because there might be some deallocations necessary (e.g. on cairo the native path returned by :meth:`GetNativePath` is newly allocated each time). :param `p`: .. attribute:: Box See :meth:`~wx.GraphicsPath.GetBox` .. attribute:: CurrentPoint See :meth:`~wx.GraphicsPath.GetCurrentPoint` .. attribute:: NativePath See :meth:`~wx.GraphicsPath.GetNativePath`