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¶
Methods Summary¶
Initializes a wx.SVGFileDC with the given filename, width and height at dpi resolution, and an optional title. |
|
Opens an accessible group wrapping all subsequent drawing until the matching |
|
Opens a new layer with the given opacity. |
|
Draws a rectangle the size of the |
|
Function not implemented in this DC class. |
|
Destroys the current clipping region so that none of the DC is clipped. |
|
Closes the accessible group opened by the most recent |
|
Function not implemented in this DC class. |
|
Closes the layer opened by the most recent |
|
Function not implemented in this DC class. |
|
Function not implemented in this DC class. |
|
Function not implemented in this DC class. |
|
Returns the graphics context associated with this DC. |
|
Function not implemented in this DC class. |
|
Function not implemented in this DC class. |
|
Returns the |
|
Saves the |
|
Replaces the default bitmap handler with handler. |
|
Function not implemented in this DC class. |
|
Function not implemented in this DC class. |
|
Set the shape rendering mode of the generated |
|
Function not implemented in this DC class. |
|
Function not implemented in this DC class. |
Properties Summary¶
See |
|
See |
|
See |
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
SVGformat.
Methods¶
- __init__(self, *args, **kw)¶
-
__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
SVGdocument. The filename is allowed to be empty, in which case noSVGfile will be written. CallGetSVGDocumentto 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
SVGdocument. The filename is allowed to be empty, in which case noSVGfile will be written. CallGetSVGDocumentto 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
EndAccessibleGroupcall.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
EndAccessibleGroupis called on scope exit.- Parameters:
attributes (wx.SVGAttributes)
title (string)
desc (string)
- 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
EndLayercall 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
SVGusing thewx.DC.SetBackgroundbrush.- 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
SVGgroup elements (<g>), all such groups are closed whenDestroyClippingRegionis called.- Return type:
None
- EndAccessibleGroup(self)¶
Closes the accessible group opened by the most recent
BeginAccessibleGroupcall.- 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
BeginLayercall.- 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:
x (int)
y (int)
colour (wx.Colour)
style (FloodFillStyle)
- 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:
Added in version 4.3/wxWidgets-3.3.3.
- GetLogicalFunction(self)¶
Function not implemented in this DC class.
- Return type:
- GetPixel(self, x, y, colour)¶
Function not implemented in this DC class.
- Parameters:
x (int)
y (int)
colour (wx.Colour)
- Return type:
bool
- GetSVGDocument(self)¶
Returns the
SVGdocument as a string.This can be used to retrieve the generated
SVGcontent regardless of whether it was also written to a file. This can be called after all drawing commands to get the currentSVGcontent.- Return type:
str
Added in version 4.3/wxWidgets-3.3.3.
- Save(self)¶
Saves the
SVGdocument 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:
Trueif the file was written successfully,Falseotherwise.
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
SVGinstead 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
SVGfile.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¶
- GraphicsContext¶
- LogicalFunction¶
See
GetLogicalFunctionandSetLogicalFunction
- SVGDocument¶
See
GetSVGDocument
