.. 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 .. currentmodule:: wx.lib.ogl.drawn .. highlight:: python .. _wx.lib.ogl.drawn.DrawnShape: ========================================================================================================================================== |phoenix_title| **wx.lib.ogl.drawn.DrawnShape** ========================================================================================================================================== Draws a pseudo-metafile shape, which can be loaded from a simple Windows metafile. wxDrawnShape allows you to specify a different shape for each of four orientations (North, West, South and East). It also provides a set of drawing functions for programmatic drawing of a shape, so that during construction of the shape you can draw into it as if it were a device context. Derived from: RectangleShape | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class DrawnShape:
| |super_classes| Known Superclasses ================================== :class:`wx.lib.ogl.basic.RectangleShape` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.lib.ogl.drawn.DrawnShape.__init__` Default class constructor :meth:`~wx.lib.ogl.drawn.DrawnShape.CalculateSize` Calculate the wxDrawnShape size from the current metafile. :meth:`~wx.lib.ogl.drawn.DrawnShape.DestroyClippingRect` Destroy the clipping rectangle. :meth:`~wx.lib.ogl.drawn.DrawnShape.DetermineMetaFile` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawArc` Draw an arc. :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawAtAngle` Set the metafile for the given orientation, which can be one of :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawEllipse` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawEllipticArc` Draw an elliptic arc. :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawLine` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawLines` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawPoint` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawPolygon` Draw a polygon. :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawRectangle` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawRoundedRectangle` Draw a rounded rectangle. :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawSpline` :meth:`~wx.lib.ogl.drawn.DrawnShape.DrawText` :meth:`~wx.lib.ogl.drawn.DrawnShape.GetAngle` Return the current orientation, which can be one of :meth:`~wx.lib.ogl.drawn.DrawnShape.GetMetaFile` Return a reference to the internal 'pseudo-metafile'. :meth:`~wx.lib.ogl.drawn.DrawnShape.GetPerimeterPoint` Get the perimeter point. :meth:`~wx.lib.ogl.drawn.DrawnShape.GetRotation` Return the current rotation of the shape in radians. :meth:`~wx.lib.ogl.drawn.DrawnShape.LoadFromMetaFile` Load a (very simple) Windows metafile, created for example by :meth:`~wx.lib.ogl.drawn.DrawnShape.OnDraw` The draw handler. :meth:`~wx.lib.ogl.drawn.DrawnShape.OnDrawOutline` The draw outline handler. :meth:`~wx.lib.ogl.drawn.DrawnShape.Rotate` Rotate about the given axis by the given amount in radians. :meth:`~wx.lib.ogl.drawn.DrawnShape.Scale` Scale the shape by the given amount. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetClippingRect` Set the clipping rectangle. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetDrawnBackgroundColour` Set the current background colour for the current metafile. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetDrawnBackgroundMode` Set the current background mode for the current metafile. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetDrawnBrush` Set the brush for this metafile. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetDrawnFont` :meth:`~wx.lib.ogl.drawn.DrawnShape.SetDrawnPen` Set the pen for this metafile. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetDrawnTextColour` Set the current text colour for the current metafile. :meth:`~wx.lib.ogl.drawn.DrawnShape.SetSaveToFile` If save is True, the image will be saved along with the shape's :meth:`~wx.lib.ogl.drawn.DrawnShape.SetSize` Set the size. :meth:`~wx.lib.ogl.drawn.DrawnShape.Translate` Translate the shape by the given amount. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: DrawnShape(RectangleShape) Draws a pseudo-metafile shape, which can be loaded from a simple Windows metafile. wxDrawnShape allows you to specify a different shape for each of four orientations (North, West, South and East). It also provides a set of drawing functions for programmatic drawing of a shape, so that during construction of the shape you can draw into it as if it were a device context. Derived from: RectangleShape .. method:: __init__(self) Default class constructor :param float `w`: the width :param float `h`: the height .. method:: CalculateSize(self) Calculate the wxDrawnShape size from the current metafile. Call this after you have drawn into the shape. .. method:: DestroyClippingRect(self) Destroy the clipping rectangle. .. method:: DetermineMetaFile(self, rotation) .. method:: DrawArc(self, centrePt, startPt, endPt) Draw an arc. .. method:: DrawAtAngle(self, angle) Set the metafile for the given orientation, which can be one of: * DRAWN_ANGLE_0 * DRAWN_ANGLE_90 * DRAWN_ANGLE_180 * DRAWN_ANGLE_270 .. method:: DrawEllipse(self, rect) .. method:: DrawEllipticArc(self, rect, startAngle, endAngle) Draw an elliptic arc. .. method:: DrawLine(self, pt1, pt2) .. method:: DrawLines(self, pts) .. method:: DrawPoint(self, pt) .. method:: DrawPolygon(self, pts, flags = 0) Draw a polygon. flags can be one or more of: METAFLAGS_OUTLINE (use this polygon for the drag outline) and METAFLAGS_ATTACHMENTS (use the vertices of this polygon for attachments). .. method:: DrawRectangle(self, rect) .. method:: DrawRoundedRectangle(self, rect, radius) Draw a rounded rectangle. radius is the corner radius. If radius is negative, it expresses the radius as a proportion of the smallest dimension of the rectangle. .. method:: DrawSpline(self, pts) .. method:: DrawText(self, text, pt) .. method:: GetAngle(self) Return the current orientation, which can be one of: * DRAWN_ANGLE_0 * DRAWN_ANGLE_90 * DRAWN_ANGLE_180 * DRAWN_ANGLE_270 .. method:: GetMetaFile(self, which = 0) Return a reference to the internal 'pseudo-metafile'. .. method:: GetPerimeterPoint(self, x1, y1, x2, y2) Get the perimeter point. :param `x1`: ??? :param `y1`: ??? :param `x2`: ??? :param `y2`: ??? .. method:: GetRotation(self) Return the current rotation of the shape in radians. .. method:: LoadFromMetaFile(self, filename) Load a (very simple) Windows metafile, created for example by Top Draw, the Windows shareware graphics package. .. method:: OnDraw(self, dc) The draw handler. .. method:: OnDrawOutline(self, dc, x, y, w, h) The draw outline handler. .. method:: Rotate(self, x, y, theta) Rotate about the given axis by the given amount in radians. .. method:: Scale(self, sx, sy) Scale the shape by the given amount. .. method:: SetClippingRect(self, rect) Set the clipping rectangle. .. method:: SetDrawnBackgroundColour(self, colour) Set the current background colour for the current metafile. .. method:: SetDrawnBackgroundMode(self, mode) Set the current background mode for the current metafile. .. method:: SetDrawnBrush(self, brush, isFill = False) Set the brush for this metafile. If isFill is True, the brush is used as the fill brush. .. method:: SetDrawnFont(self, font) .. method:: SetDrawnPen(self, pen, isOutline = False) Set the pen for this metafile. If isOutline is True, this pen is taken to indicate the outline (and if the outline pen is changed for the whole shape, the pen will be replaced with the outline pen). .. method:: SetDrawnTextColour(self, colour) Set the current text colour for the current metafile. .. method:: SetSaveToFile(self, save) If save is True, the image will be saved along with the shape's other attributes. The reason why this might not be desirable is that if there are many shapes with the same image, it would be more efficient for the application to save one copy, and not duplicate the information for every shape. The default is True. .. method:: SetSize(self, w, h, recursive = True) Set the size. :param `x`: the width :param `y`: the height :param `recursive`: not used .. method:: Translate(self, x, y) Translate the shape by the given amount.