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

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>HtmlDCRenderer</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.html.HtmlDCRenderer_inheritance.png" alt="Inheritance diagram of HtmlDCRenderer" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.html.HtmlDCRenderer.html" title="wx.html.HtmlDCRenderer" alt="" coords="5,83,193,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="wx.Object" alt="" coords="56,5,143,35"/> </map> 
   </p>
   </div>

|


|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()
       
   
   This class can render HTML document into a specified area of a DC.



   .. method:: __init__(self)

      Constructor.                   





   .. method:: FindNextPageBreak(self, pos)

      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, y, from_=0, to_=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. 

                  



      .. 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, pixel_scale=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







   .. method:: SetFonts(self, normal_face, fixed_face, sizes)

      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 ( <TT>..</TT> )   
      :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 ( <FONT SIZE=-2> to <FONT SIZE=+4> ). Default sizes are used if sizes is ``None``.  
      :type `sizes`: list of integers










                 



      .. seealso:: :meth:`SetSize`     








   .. method:: SetHtmlCell(self, cell)

      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






      .. versionadded:: 4.1/wxWidgets-3.1.2  
     








   .. method:: SetHtmlText(self, html, basepath=EmptyString, isdir=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








                  





   .. method:: SetSize(self, width, height)

      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







   .. method:: SetStandardFonts(self, size=-1, normal_face=EmptyString, fixed_face=EmptyString)

      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 ( <TT>..</TT> )  
      :type `fixed_face`: string








                  



      .. seealso:: :meth:`SetSize`     








   .. attribute:: TotalHeight

      See :meth:`~wx.html.HtmlDCRenderer.GetTotalHeight`


   .. attribute:: TotalWidth

      See :meth:`~wx.html.HtmlDCRenderer.GetTotalWidth`

