.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 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="This class can render HTML document into a specified area of a DC." alt="" coords="5,83,199,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="58,5,146,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.html.HtmlDCRenderer.__init__`                                         Constructor.
: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.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:: GetTotalHeight(self)

      Returns the height of the HTML text in pixels.                  

      This is important if area height (see :meth:`wx.html.HtmlDCRenderer.SetSize` ) is smaller that total height and thus the page cannot fit into it. In that case you're supposed to call :meth:`Render`   as long as its return value is smaller than :meth:`GetTotalHeight` 's. 

                

      :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, known_pagebreaks, from_=0, dont_render=False, to_=INT_MAX)

      Renders HTML text to the DC.                  




      :param `x`: 
      :type `x`: int
      :param `y`: position of upper-left corner of printing rectangle (see :meth:`SetSize` ).   
      :type `y`: int
      :param `known_pagebreaks`: 
      :type `known_pagebreaks`: list of integers
      :param `from_`: 
      :type `from_`: int
      :param `dont_render`: 
      :type `dont_render`: int
      :param `to_`: 
      :type `to_`: int








      Returned value is y coordinate of first cell than didn't fit onto page. Use this value as from in next call to :meth:`Render`   in order to print multipages document. 

                 



      .. note:: 

         The following three methods **must**  always be called before any call to :meth:`Render` , in this order:

         - :meth:`SetDC`  
         - :meth:`SetSize`  
         - :meth:`SetHtmlText`  










      .. note:: 

         :meth:`Render`   changes the DC's user scale and does NOT restore it.   







      .. todo:: docme 


      :param `x`: 
      :type `x`: int
      :param `y`: 
      :type `y`: int
      :param `known_pagebreaks`: 
      :type `known_pagebreaks`: list of integers
      :param `from_`: 
      :type `from_`: int
      :param `dont_render`: if ``True`` then this method only returns y coordinate of the next page and does not output anything.   
      :type `dont_render`: int
      :param `to_`: 
      :type `to_`: int




      y-coordinate of the very first visible cell.  





      y-coordinate of the last visible cell. 



      :rtype: `int`












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


      :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:: SetHtmlText(self, html, basepath="", 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="", fixed_face="")

      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`