#include "wx/wfstream.h"
+// default font size of normal text (HTML font size 0) for printing, in points:
+#define DEFAULT_PRINT_FONT_SIZE 12
+
+
//--------------------------------------------------------------------------------
// wxHtmlDCRenderer
//--------------------------------------------------------------------------------
m_Parser = new wxHtmlWinParser();
m_FS = new wxFileSystem();
m_Parser->SetFS(m_FS);
+ SetStandardFonts(DEFAULT_PRINT_FONT_SIZE);
}
m_Footers[0] = m_Footers[1] = wxEmptyString;
m_HeaderHeight = m_FooterHeight = 0;
SetMargins(); // to default values
+ SetStandardFonts(DEFAULT_PRINT_FONT_SIZE);
}
wxDisplaySize(&scr_w, &scr_h);
GetDC()->GetSize(&dc_w, &dc_h);
- GetDC()->SetUserScale((double)dc_w / (double)pageWidth, (double)dc_w / (double)pageWidth);
+ GetDC()->SetUserScale((double)dc_w / (double)pageWidth,
+ (double)dc_h / (double)pageHeight);
/* prepare headers/footers renderer: */
bool wxHtmlPrintout::OnPrintPage(int page)
{
wxDC *dc = GetDC();
- if (dc)
+ if (dc && dc->IsOk())
{
if (HasPage(page))
RenderPage(dc, page);
GetPPIScreen(&ppiScreenX, &ppiScreenY);
wxUnusedVar(ppiScreenX);
- dc->SetUserScale((double)dc_w / (double)pageWidth, (double)dc_w / (double)pageWidth);
+ dc->SetUserScale((double)dc_w / (double)pageWidth,
+ (double)dc_h / (double)pageHeight);
m_Renderer->SetDC(dc, (double)ppiPrinterY / (double)ppiScreenY);
- dc->SetBackgroundMode(wxTRANSPARENT);
+ dc->SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
m_Renderer->Render((int) (ppmm_h * m_MarginLeft),
(int) (ppmm_v * (m_MarginTop + (m_HeaderHeight == 0 ? 0 : m_MarginSpace)) + m_HeaderHeight), m_PageBreaks,
m_PageSetupData->SetMarginTopLeft(wxPoint(25, 25));
m_PageSetupData->SetMarginBottomRight(wxPoint(25, 25));
- SetFonts(wxEmptyString, wxEmptyString, NULL);
+ SetStandardFonts(DEFAULT_PRINT_FONT_SIZE);
}