+
/////////////////////////////////////////////////////////////////////////////
// Name: htmprint.cpp
// Purpose: html printing classes
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
+#include "wx/defs.h"
+
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/wx.h"
#endif
-#if wxUSE_PRINTING_ARCHITECTURE
+#if wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
#include "wx/print.h"
#include "wx/printdlg.h"
int wxHtmlDCRenderer::Render(int x, int y, int from, int dont_render)
{
- int pbreak;
+ int pbreak, hght;
if (m_Cells == NULL || m_DC == NULL) return 0;
pbreak = (int)(from * m_Scale + m_Height);
while (m_Cells -> AdjustPagebreak(&pbreak)) {}
+ hght = pbreak - (int)(from * m_Scale);
if (!dont_render) {
int w, h;
m_DC -> SetBrush(*wxWHITE_BRUSH);
- m_DC -> SetClippingRegion(x * m_Scale, y * m_Scale, m_Width, m_Height);
+ m_DC -> SetClippingRegion(x * m_Scale, y * m_Scale, m_Width, hght);
m_Cells -> Draw(*m_DC,
x * m_Scale, (y - from) * m_Scale,
- y * m_Scale, pbreak + (y - from) * m_Scale);
+ y * m_Scale, pbreak + (y /*- from*/) * m_Scale);
m_DC -> DestroyClippingRegion();
}
-void wxHtmlPrintout::OnBeginPrinting()
+bool wxHtmlPrintout::OnBeginDocument(int startPage, int endPage)
{
int pageWidth, pageHeight, mm_w, mm_h;
float ppmm_h, ppmm_v;
- wxPrintout::OnBeginPrinting();
+ if (!wxPrintout::OnBeginDocument(startPage, endPage)) return FALSE;
GetPageSizePixels(&pageWidth, &pageHeight);
GetPageSizeMM(&mm_w, &mm_h);
);
m_Renderer -> SetHtmlText(m_Document, m_BasePath, m_BasePathIsDir);
CountPages();
+ return TRUE;
}
wxString r = instr;
wxString num;
- num.Printf("%i", page);
- r.Replace("@PAGENUM@", num);
+ num.Printf(wxT("%i"), page);
+ r.Replace(wxT("@PAGENUM@"), num);
- num.Printf("%i", m_NumPages);
- r.Replace("@PAGESCNT@", num);
+ num.Printf(wxT("%i"), m_NumPages);
+ r.Replace(wxT("@PAGESCNT@"), num);
return r;
}
m_Frame = parent_frame;
m_Name = name;
m_PrintData = new wxPrintData;
+#if (defined __WXGTK__) || (defined __WXMOTIF__)
+ (*m_PrintData) = (*wxThePrintSetupData);
+#endif
m_PageSetupData = new wxPageSetupDialogData;
m_Headers[0] = m_Headers[1] = m_Footers[0] = m_Footers[1] = wxEmptyString;
m_PageSetupData -> EnableMargins(TRUE);
m_PageSetupData -> SetMarginTopLeft(wxPoint(25, 25));
m_PageSetupData -> SetMarginBottomRight(wxPoint(25, 25));
-
-#if defined(__WXGTK__) || defined(__WXMOTIF__)
- m_PrintData -> SetPrinterCommand("lpr");
-#endif
}
-#endif // wxUSE_PRINTING_ARCHITECTURE
+#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE