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

Inheritance diagram for class DrawnShape:

method_summary Methods Summary

__init__

Default class constructor

CalculateSize

Calculate the wxDrawnShape size from the current metafile.

DestroyClippingRect

Destroy the clipping rectangle.

DetermineMetaFile

DrawArc

Draw an arc.

DrawAtAngle

Set the metafile for the given orientation, which can be one of

DrawEllipse

DrawEllipticArc

Draw an elliptic arc.

DrawLine

DrawLines

DrawPoint

DrawPolygon

Draw a polygon.

DrawRectangle

DrawRoundedRectangle

Draw a rounded rectangle.

DrawSpline

DrawText

GetAngle

Return the current orientation, which can be one of

GetMetaFile

Return a reference to the internal ‘pseudo-metafile’.

GetPerimeterPoint

Get the perimeter point.

GetRotation

Return the current rotation of the shape in radians.

LoadFromMetaFile

Load a (very simple) Windows metafile, created for example by

OnDraw

The draw handler.

OnDrawOutline

The draw outline handler.

Rotate

Rotate about the given axis by the given amount in radians.

Scale

Scale the shape by the given amount.

SetClippingRect

Set the clipping rectangle.

SetDrawnBackgroundColour

Set the current background colour for the current metafile.

SetDrawnBackgroundMode

Set the current background mode for the current metafile.

SetDrawnBrush

Set the brush for this metafile.

SetDrawnFont

SetDrawnPen

Set the pen for this metafile.

SetDrawnTextColour

Set the current text colour for the current metafile.

SetSaveToFile

If save is True, the image will be saved along with the shape’s

SetSize

Set the size.

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


Methods

__init__(self)

Default class constructor

Parameters
  • w (float) – the width

  • h (float) – the height



CalculateSize(self)

Calculate the wxDrawnShape size from the current metafile.

Call this after you have drawn into the shape.



DestroyClippingRect(self)

Destroy the clipping rectangle.



DetermineMetaFile(self, rotation)


DrawArc(self, centrePt, startPt, endPt)

Draw an arc.



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



DrawEllipse(self, rect)


DrawEllipticArc(self, rect, startAngle, endAngle)

Draw an elliptic arc.



DrawLine(self, pt1, pt2)


DrawLines(self, pts)


DrawPoint(self, pt)


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).



DrawRectangle(self, rect)


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.



DrawSpline(self, pts)


DrawText(self, text, pt)


GetAngle(self)

Return the current orientation, which can be one of:

  • DRAWN_ANGLE_0

  • DRAWN_ANGLE_90

  • DRAWN_ANGLE_180

  • DRAWN_ANGLE_270



GetMetaFile(self, which = 0)

Return a reference to the internal ‘pseudo-metafile’.



GetPerimeterPoint(self, x1, y1, x2, y2)

Get the perimeter point.

Parameters
  • x1 – ???

  • y1 – ???

  • x2 – ???

  • y2 – ???



GetRotation(self)

Return the current rotation of the shape in radians.



LoadFromMetaFile(self, filename)

Load a (very simple) Windows metafile, created for example by Top Draw, the Windows shareware graphics package.



OnDraw(self, dc)

The draw handler.



OnDrawOutline(self, dc, x, y, w, h)

The draw outline handler.



Rotate(self, x, y, theta)

Rotate about the given axis by the given amount in radians.



Scale(self, sx, sy)

Scale the shape by the given amount.



SetClippingRect(self, rect)

Set the clipping rectangle.



SetDrawnBackgroundColour(self, colour)

Set the current background colour for the current metafile.



SetDrawnBackgroundMode(self, mode)

Set the current background mode for the current metafile.



SetDrawnBrush(self, brush, isFill = False)

Set the brush for this metafile.

If isFill is True, the brush is used as the fill brush.



SetDrawnFont(self, font)


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).



SetDrawnTextColour(self, colour)

Set the current text colour for the current metafile.



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.



SetSize(self, w, h, recursive = True)

Set the size.

Parameters
  • x – the width

  • y – the height

  • recursive – not used



Translate(self, x, y)

Translate the shape by the given amount.