% % automatically generated by HelpGen from % htmprint.h at 17/Oct/99 12:48:02 % \section{\class{wxHtmlDCRenderer}}\label{wxhtmldcrenderer} 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 \helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting} or \helpref{wxHtmlPrintout}{wxhtmlprintout} is strongly recommended. \wxheading{Derived from} \helpref{wxObject}{wxobject} \latexignore{\rtfignore{\wxheading{Members}}} \membersection{wxHtmlDCRenderer::wxHtmlDCRenderer}\label{wxhtmldcrendererwxhtmldcrenderer} \func{}{wxHtmlDCRenderer}{\void} Constructor. \membersection{wxHtmlDCRenderer::SetDC}\label{wxhtmldcrenderersetdc} \func{void}{SetDC}{\param{wxDC* }{dc}, \param{double }{pixel_scale = 1.0}} Assign DC instance to the renderer. {\it 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.) \wxheading{Parameters} \docparam{maxwidth}{width of the area (on this DC) that is equivalent to screen's width, in pixels (you should set it to page width minus margins). {\bf Note:} In the current implementation the screen width is always 800 pixels: it gives best results and ensures (almost) same printed outputs across platforms and differently configured desktops.} See also \helpref{SetSize}{wxhtmldcrenderersetsize}. \membersection{wxHtmlDCRenderer::SetSize}\label{wxhtmldcrenderersetsize} \func{void}{SetSize}{\param{int }{width}, \param{int }{height}} Set size of output rectangle, in pixels. Note that you {\bf can't} change width of the rectangle between calls to \helpref{Render}{wxhtmldcrendererrender}! (You can freely change height.) \membersection{wxHtmlDCRenderer::SetHtmlText}\label{wxhtmldcrenderersethtmltext} \func{void}{SetHtmlText}{\param{const wxString\& }{html}, \param{const wxString\& }{basepath = wxEmptyString}, \param{bool }{isdir = TRUE}} Assign text to the renderer. \helpref{Render}{wxhtmldcrendererrender} then draws the text onto DC. \wxheading{Parameters} \docparam{html}{HTML text. This is {\it not} a filename.} \docparam{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.} \docparam{isdir}{FALSE if basepath is filename, TRUE if it is directory name (see \helpref{wxFileSystem}{wxfilesystem} for detailed explanation)} \membersection{wxHtmlDCRenderer::Render}\label{wxhtmldcrendererrender} \func{int}{Render}{\param{int }{x}, \param{int }{y}, \param{int }{from = 0}, \param{int }{dont\_render = FALSE}} Renders HTML text to the DC. \wxheading{Parameters} \docparam{x,y}{ position of upper-left corner of printing rectangle (see \helpref{SetSize}{wxhtmldcrenderersetsize})} \docparam{from}{y-coordinate of the very first visible cell} \docparam{dont\_render}{if TRUE then this method only returns y coordinate of the next page and does not output anything} Returned value is y coordinate of first cell than didn't fit onto page. Use this value as {\it from} in next call to Render in order to print multipages document. \wxheading{Caution!} The Following three methods {\bf must} always be called before any call to Render (preferably in this order): \begin{itemize}\itemsep=0pt \item \helpref{SetDC}{wxhtmldcrenderersetdc} \item \helpref{SetSize}{wxhtmldcrenderersetsize} \item \helpref{SetHtmlText}{wxhtmldcrenderersethtmltext} \end{itemize} {\bf Render() changes the DC's user scale and does NOT restore it.} \membersection{wxHtmlDCRenderer::GetTotalHeight}\label{wxhtmldcrenderergettotalheight} \func{int}{GetTotalHeight}{\void} Returns the height of the HTML text. This is important if area height (see \helpref{SetSize}{wxhtmldcrenderersetsize}) is smaller that total height and thus the page cannot fit into it. In that case you're supposed to call \helpref{Render}{wxhtmldcrendererrender} as long as its return value is smaller than GetTotalHeight's.