+
/////////////////////////////////////////////////////////////////////////////
// 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"
m_FS -> ChangePathTo(basepath, isdir);
m_DC -> SetUserScale(1.0, 1.0);
m_Cells = (wxHtmlContainerCell*) m_Parser -> Parse(html);
- m_Cells -> SetIndent(0, HTML_INDENT_ALL, HTML_UNITS_PIXELS);
+ m_Cells -> SetIndent(0, wxHTML_INDENT_ALL, wxHTML_UNITS_PIXELS);
m_Cells -> Layout(m_Width);
}
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();
}
{
m_Renderer = new wxHtmlDCRenderer;
m_RendererHdr = new wxHtmlDCRenderer;
- m_NumPages = HTML_PRINT_MAX_PAGES;
+ m_NumPages = wxHTML_PRINT_MAX_PAGES;
m_Document = m_BasePath = wxEmptyString; m_BasePathIsDir = TRUE;
m_Headers[0] = m_Headers[1] = wxEmptyString;
m_Footers[0] = m_Footers[1] = wxEmptyString;
-bool wxHtmlPrintout::OnBeginDocument(int start, int end)
+bool wxHtmlPrintout::OnBeginDocument(int startPage, int endPage)
{
int pageWidth, pageHeight, mm_w, mm_h;
float ppmm_h, ppmm_v;
- if (!wxPrintout::OnBeginDocument(start, end)) return FALSE;
+ 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;
}
void wxHtmlPrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo)
{
*minPage = 1;
- *maxPage = HTML_PRINT_MAX_PAGES;
+ *maxPage = wxHTML_PRINT_MAX_PAGES;
*selPageFrom = 1;
- *selPageTo = 1;
+ *selPageTo = wxHTML_PRINT_MAX_PAGES;
}
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
}
else {
wxPreviewFrame *frame = new wxPreviewFrame(preview, m_Frame,
m_Name + _(" Preview"),
- wxPoint(100, 100), wxSize(500, 500));
+ wxPoint(100, 100), wxSize(650, 500));
frame -> Centre(wxBOTH);
frame -> Initialize();
frame -> Show(TRUE);
-#endif // wxUSE_PRINTING_ARCHITECTURE
+#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE