.. 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.html.HtmlDCRenderer:
==========================================================================================================================================
|phoenix_title| **wx.html.HtmlDCRenderer**
==========================================================================================================================================
This class can render HTML document into a specified area of a DC.
You can use it in your own printing code, although use of :ref:`wx.html.HtmlEasyPrinting` or :ref:`wx.html.HtmlPrintout` is strongly recommended.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html

Inheritance diagram for class
HtmlDCRenderer:
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.html.HtmlDCRenderer.__init__` Constructor.
:meth:`~wx.html.HtmlDCRenderer.FindNextPageBreak` Finds the next page break after the specified (vertical) position.
:meth:`~wx.html.HtmlDCRenderer.GetTotalHeight` Returns the height of the HTML text in pixels.
:meth:`~wx.html.HtmlDCRenderer.GetTotalWidth` Returns the width of the HTML text in pixels.
:meth:`~wx.html.HtmlDCRenderer.Render` Renders HTML text to the DC.
:meth:`~wx.html.HtmlDCRenderer.SetDC` Assign DC instance to the renderer.
:meth:`~wx.html.HtmlDCRenderer.SetFonts` This function sets font sizes and faces.
:meth:`~wx.html.HtmlDCRenderer.SetHtmlCell` Associate the given HTML contents to the renderer.
:meth:`~wx.html.HtmlDCRenderer.SetHtmlText` Assign text to the renderer.
:meth:`~wx.html.HtmlDCRenderer.SetSize` Set size of output rectangle, in pixels.
:meth:`~wx.html.HtmlDCRenderer.SetStandardFonts` Sets font sizes to be relative to the given size or the system default size; use either specified or default font.
================================================================================ ================================================================================
|
|property_summary| Properties Summary
=====================================
================================================================================ ================================================================================
:attr:`~wx.html.HtmlDCRenderer.TotalHeight` See :meth:`~wx.html.HtmlDCRenderer.GetTotalHeight`
:attr:`~wx.html.HtmlDCRenderer.TotalWidth` See :meth:`~wx.html.HtmlDCRenderer.GetTotalWidth`
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: wx.html.HtmlDCRenderer(Object)
**Possible constructors**::
HtmlDCRenderer() -> None
This class can render HTML document into a specified area of a DC.
.. method:: __init__(self)
Constructor.
:rtype: `None`
.. method:: FindNextPageBreak(self, pos : int)
Finds the next page break after the specified (vertical) position.
An example of using this method:
::
pages = []
while pos != wx.NOT_FOUND:
pos = renderer.FindNextPageBreak(pos)
pages.append(pos)
# "pages" now contains all page break positions and, in
# particular, its size is the number of pages
:param `pos`: Absolute position of the last page break. For the initial call of this function, it should be 0 and for the subsequent ones it should be the previous return value.
:type `pos`: int
:rtype: `int`
:returns:
Position of the next page break or ``NOT_FOUND`` if there are no more of them.
.. versionadded:: 4.1/wxWidgets-3.1.2
.. method:: GetTotalHeight(self)
Returns the height of the HTML text in pixels.
If the height of the area used with this renderer (see :meth:`wx.html.HtmlDCRenderer.SetSize` ) is smaller that total height, the renderer will produce more than one page of output.
:rtype: `int`
.. seealso:: :meth:`GetTotalWidth`
.. method:: GetTotalWidth(self)
Returns the width of the HTML text in pixels.
This can be compared with the width parameter of :meth:`SetSize` to check if the document being printed fits into the page boundary.
:rtype: `int`
.. versionadded:: 2.9.0
.. seealso:: :meth:`GetTotalHeight`
.. method:: Render(self, x : int, y : int, from_: int=0, to_: int=INT_MAX)
Renders HTML text to the DC.
When using multi-page documents, :meth:`FindNextPageBreak` can be used to find the values for `from` and `to`, which should be the consecutive page breaks returned by that function.
:param `x`:
:type `x`: int
:param `y`: position of upper-left corner of printing rectangle (see :meth:`SetSize` ).
:type `y`: int
:param `from_`:
:type `from_`: int
:param `to_`:
:type `to_`: int
y-coordinate of the very first visible cell.
y-coordinate of the last visible cell or ``INT_MAX`` to use the full page height.
:rtype: `None`
.. note::
The following three methods **must** always be called before any call to :meth:`Render` , in this order:
- :meth:`SetDC`
- :meth:`SetSize`
- :meth:`SetHtmlText`
.. method:: SetDC(self, dc : DC, pixel_scale: float=1.0)
Assign DC instance to the renderer.
`pixel_scale` can be used when rendering to high-resolution DCs (e.g. printer) to adjust size of pixel metrics. (Many dimensions in HTML are given in pixels – e.g. image sizes. 300x300 image would be only one inch wide on typical printer. With pixel_scale = 3.0 it would be 3 inches.)
:param `dc`:
:type `dc`: wx.DC
:param `pixel_scale`:
:type `pixel_scale`: float
:rtype: `None`
.. method:: SetFonts(self, normal_face : str, fixed_face : str, sizes : List[int])
This function sets font sizes and faces.
:param `normal_face`: This is face name for normal (i.e. non-fixed) font. It can be either empty string (then the default face is chosen) or platform-specific face name. Examples are "helvetica" under Unix or "Times New Roman" under Windows.
:type `normal_face`: string
:param `fixed_face`: The same thing for fixed face ( .. )
:type `fixed_face`: string
:param `sizes`: This is an array of 7 items of int type. The values represent size of font with HTML size from -2 to +4 ( to ). Default sizes are used if sizes is ``None``.
:type `sizes`: list of integers
:rtype: `None`
.. seealso:: :meth:`SetSize`
.. method:: SetHtmlCell(self, cell : HtmlContainerCell)
Associate the given HTML contents to the renderer.
This is similar to :meth:`SetHtmlText` , but is more efficient as the text can be parsed only once, using :meth:`wx.html.HtmlParser.Parse` , and then passed to :ref:`wx.html.HtmlDCRenderer` multiple times or already reused for other purposes.
Note that `cell` will be modified (e.g. laid out) by this function.
:param `cell`:
:type `cell`: wx.html.HtmlContainerCell
:rtype: `None`
.. versionadded:: 4.1/wxWidgets-3.1.2
.. method:: SetHtmlText(self, html : str, basepath: str='', isdir: bool=True)
Assign text to the renderer.
:meth:`Render` then draws the text onto DC.
:param `html`: HTML text. This is not a filename.
:type `html`: string
:param `basepath`: base directory (html string would be stored there if it was in file). It is used to determine path for loading images, for example.
:type `basepath`: string
:param `isdir`: ``False`` if basepath is filename, ``True`` if it is directory name (see :ref:`wx.FileSystem` for detailed explanation).
:type `isdir`: bool
:rtype: `None`
.. method:: SetSize(self, width : int, height : int)
Set size of output rectangle, in pixels.
Note that you **can't** change width of the rectangle between calls to :meth:`Render` ! (You can freely change height.)
:param `width`:
:type `width`: int
:param `height`:
:type `height`: int
:rtype: `None`
.. method:: SetStandardFonts(self, size: int=-1, normal_face: str='', fixed_face: str='')
Sets font sizes to be relative to the given size or the system default size; use either specified or default font.
:param `size`: Point size of the default HTML text
:type `size`: int
:param `normal_face`: This is face name for normal (i.e. non-fixed) font. It can be either empty string (then the default face is chosen) or platform-specific face name. Examples are "helvetica" under Unix or "Times New Roman" under Windows.
:type `normal_face`: string
:param `fixed_face`: The same thing for fixed face ( .. )
:type `fixed_face`: string
:rtype: `None`
.. seealso:: :meth:`SetSize`
.. attribute:: TotalHeight
See :meth:`~wx.html.HtmlDCRenderer.GetTotalHeight`
.. attribute:: TotalWidth
See :meth:`~wx.html.HtmlDCRenderer.GetTotalWidth`