phoenix_title wx.SVGFileDC

A wx.SVGFileDC is a device context onto which graphics and text can be drawn, and the output produced as a vector file, in SVG format.

This format can be read by a range of programs, including most web browsers and the open source Inkscape program (https://inkscape.org/). Full details are given in the W3C SVG recommendation (https://www.w3.org/TR/SVG/).

The intention behind wx.SVGFileDC is that it can be used to produce a file corresponding to the screen display context, wx.SVGFileDC, by passing the wx.SVGFileDC as a parameter instead of a wx.DC. Thus the wx.SVGFileDC is a write-only class.

Starting with wxWidgets 3.3.3, wx.SVGFileDC provides integrated support for wx.GraphicsContext. By calling GetGraphicsContext, you can access a SVGGraphicsContext which supports advanced vector features such as:

  • Cubic and quadratic Bézier curves via wx.GraphicsPath.

  • Linear and radial gradient brushes.

  • Semi-transparent colors and alpha blending.

  • Arbitrary affine transformations.

As the wx.SVGFileDC is a vector format, raster operations like GetPixel are unlikely to be supported. However, the SVG specification allows for raster files to be embedded in the SVG, and so bitmaps, icons and blit operations in wx.SVGFileDC are supported. By default only PNG format bitmaps are supported and these are saved as separate files in the same folder as the SVG file, however it is possible to change this behaviour by replacing the built in bitmap handler using wx.SVGFileDC.SetBitmapHandler .

More substantial SVG libraries (for reading and writing) are available at wxArt2D and wxSVG.


class_hierarchy Class Hierarchy

Inheritance diagram of SVGFileDC


method_summary Methods Summary

__init__

Initializes a wx.SVGFileDC with the given filename, width and height at dpi resolution, and an optional title.

BeginAccessibleGroup

Opens an accessible group wrapping all subsequent drawing until the matching EndAccessibleGroup call.

BeginLayer

Opens a new layer with the given opacity.

Clear

Draws a rectangle the size of the SVG using the wx.DC.SetBackground brush.

CrossHair

Function not implemented in this DC class.

DestroyClippingRegion

Destroys the current clipping region so that none of the DC is clipped.

EndAccessibleGroup

Closes the accessible group opened by the most recent BeginAccessibleGroup call.

EndDoc

Function not implemented in this DC class.

EndLayer

Closes the layer opened by the most recent BeginLayer call.

EndPage

Function not implemented in this DC class.

FloodFill

Function not implemented in this DC class.

GetDepth

Function not implemented in this DC class.

GetGraphicsContext

Returns the graphics context associated with this DC.

GetLogicalFunction

Function not implemented in this DC class.

GetPixel

Function not implemented in this DC class.

GetSVGDocument

Returns the SVG document as a string.

Save

Saves the SVG document to the file specified in the constructor.

SetBitmapHandler

Replaces the default bitmap handler with handler.

SetLogicalFunction

Function not implemented in this DC class.

SetPalette

Function not implemented in this DC class.

SetShapeRenderingMode

Set the shape rendering mode of the generated SVG.

StartDoc

Function not implemented in this DC class.

StartPage

Function not implemented in this DC class.


property_summary Properties Summary

Depth

See GetDepth

GraphicsContext

See GetGraphicsContext

LogicalFunction

See GetLogicalFunction and SetLogicalFunction

SVGDocument

See GetSVGDocument


api Class API

class wx.SVGFileDC(DC)

Possible constructors:

SVGFileDC(filename, width=320, height=240, dpi=SVG_DEFAULT_DPI,
          title="") -> None

SVGFileDC(size, filename="", title="", dpi=SVG_DEFAULT_DPI) -> None

A SVGFileDC is a device context onto which graphics and text can be drawn, and the output produced as a vector file, in SVG format.


Methods

__init__(self, *args, **kw)

overload Overloaded Implementations:



__init__ (self, filename, width=320, height=240, dpi=SVG_DEFAULT_DPI, title=””)

Initializes a wx.SVGFileDC with the given filename, width and height at dpi resolution, and an optional title.

The title provides a readable name for the SVG document. The filename is allowed to be empty, in which case no SVG file will be written. Call GetSVGDocument to retrieve the generated content.

Parameters:
  • filename (string)

  • width (int)

  • height (int)

  • dpi (float)

  • title (string)

Return type:

None



__init__ (self, size, filename=””, title=””, dpi=SVG_DEFAULT_DPI)

Initializes a wx.SVGFileDC with the given size, an optional filename, an optional title, and an optional dpi resolution.

The title provides a readable name for the SVG document. The filename is allowed to be empty, in which case no SVG file will be written. Call GetSVGDocument to retrieve the generated content.

Parameters:
  • size (wx.Size)

  • filename (string)

  • title (string)

  • dpi (float)

Return type:

None

Added in version 4.3/wxWidgets-3.3.2.





BeginAccessibleGroup(self, attributes, title='', desc='')

Opens an accessible group wrapping all subsequent drawing until the matching EndAccessibleGroup call.

The group is emitted as an SVG <g> element carrying the given attributes, optionally followed by <title> and <desc> children supplying an accessible name and long description.

Prefer SVGAccessibleGroup for RAII-style scoping, which guarantees EndAccessibleGroup is called on scope exit.

Parameters:
Return type:

None

Added in version 4.3/wxWidgets-3.3.3.



BeginLayer(self, opacity)

Opens a new layer with the given opacity.

All drawing commands until the matching EndLayer call will be composited with this opacity. Layers can be nested.

Parameters:

opacity (float)

Return type:

None

Added in version 4.3/wxWidgets-3.3.3.



Clear(self)

Draws a rectangle the size of the SVG using the wx.DC.SetBackground brush.

Return type:

None



CrossHair(self, x, y)

Function not implemented in this DC class.

Parameters:
  • x (int)

  • y (int)

Return type:

None



DestroyClippingRegion(self)

Destroys the current clipping region so that none of the DC is clipped.

Since intersections arising from sequential calls to SetClippingRegion are represented with nested SVG group elements ( <g> ), all such groups are closed when DestroyClippingRegion is called.

Return type:

None



EndAccessibleGroup(self)

Closes the accessible group opened by the most recent BeginAccessibleGroup call.

Return type:

None

Added in version 4.3/wxWidgets-3.3.3.



EndDoc(self)

Function not implemented in this DC class.

Return type:

None



EndLayer(self)

Closes the layer opened by the most recent BeginLayer call.

Return type:

None

Added in version 4.3/wxWidgets-3.3.3.



EndPage(self)

Function not implemented in this DC class.

Return type:

None



FloodFill(self, x, y, colour, style=FLOOD_SURFACE)

Function not implemented in this DC class.

Parameters:
Return type:

bool



GetDepth(self)

Function not implemented in this DC class.

Return type:

int



GetGraphicsContext(self)

Returns the graphics context associated with this DC.

The returned object is a SVGGraphicsContext instance. While wx.SVGFileDC provides standard wx.DC drawing methods, retrieving the wx.GraphicsContext allows using more advanced drawing features that are not available in the base wx.DC API, such as:

  • Complex paths including cubic and quadratic Bézier curves.

  • Linear and radial gradient brushes.

  • Transparency and alpha blending for all drawing operations.

  • Advanced coordinate transformations (scaling, rotation, skewing) applied to groups of objects.

Note that any state changes (pen, brush, font) made to the returned context are mirrored back to the DC, and vice versa.

Return type:

wx.GraphicsContext

Added in version 4.3/wxWidgets-3.3.3.



GetLogicalFunction(self)

Function not implemented in this DC class.

Return type:

wx.RasterOperationMode



GetPixel(self, x, y, colour)

Function not implemented in this DC class.

Parameters:
Return type:

bool



GetSVGDocument(self)

Returns the SVG document as a string.

This can be used to retrieve the generated SVG content regardless of whether it was also written to a file. This can be called after all drawing commands to get the current SVG content.

Return type:

str

Added in version 4.3/wxWidgets-3.3.3.



Save(self)

Saves the SVG document to the file specified in the constructor.

This is called automatically by the destructor if a filename was provided, but calling it explicitly allows checking for errors. Does nothing if no filename was provided or if the file has already been saved.

Return type:

bool

Returns:

True if the file was written successfully, False otherwise.

Added in version 4.3/wxWidgets-3.3.3.



SetBitmapHandler(self, handler)

Replaces the default bitmap handler with handler.

By default, an object of wx.SVGBitmapFileHandler class is used as bitmap handler. You may want to replace it with an object of predefined wx.SVGBitmapEmbedHandler class to embed the bitmaps in the generated SVG instead of storing them in separate files like this:

mySVGFileDC.SetBitmapHandler(wx.SVGBitmapEmbedHandler())

or derive your own bitmap handler class and use it if you need to customize the bitmap handling further.

Parameters:

handler (wx.SVGBitmapHandler) – The new bitmap handler. If non-null, this object takes ownership of this handler and will delete it when it is not needed any more.

Return type:

None

Added in version 4.1/wxWidgets-3.1.0.



SetLogicalFunction(self, function)

Function not implemented in this DC class.

Parameters:

function (RasterOperationMode)

Return type:

None



SetPalette(self, palette)

Function not implemented in this DC class.

Parameters:

palette (wx.Palette)

Return type:

None



SetShapeRenderingMode(self, renderingMode)

Set the shape rendering mode of the generated SVG.

All subsequent drawing calls will have this rendering mode set in the SVG file.

The default mode is wx.SVG_SHAPE_RENDERING_AUTO.

Parameters:

renderingMode (SVGShapeRenderingMode)

Return type:

None

Added in version 4.1/wxWidgets-3.1.3.



StartDoc(self, message)

Function not implemented in this DC class.

Parameters:

message (string)

Return type:

bool



StartPage(self)

Function not implemented in this DC class.

Return type:

None


Properties

Depth

See GetDepth



GraphicsContext

See GetGraphicsContext



LogicalFunction

See GetLogicalFunction and SetLogicalFunction



SVGDocument

See GetSVGDocument