]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/htmprint.cpp
simplify code to return from the end of the function
[wxWidgets.git] / src / html / htmprint.cpp
index 2bd1e572ca5e61b2007559eb0e1d547dd6bfb932..96d32d97c390fb97df558f917d8d41203c21ee53 100644 (file)
@@ -24,6 +24,7 @@
     #include "wx/settings.h"
     #include "wx/msgdlg.h"
     #include "wx/module.h"
+    #include "wx/sizer.h"
 #endif
 
 #include "wx/print.h"
@@ -150,7 +151,7 @@ int wxHtmlDCRenderer::Render(int x, int y,
     int pbreak, hght;
 
     pbreak = (int)(from + m_Height);
-    while (m_Cells->AdjustPagebreak(&pbreak, known_pagebreaks)) {}
+    while (m_Cells->AdjustPagebreak(&pbreak, known_pagebreaks, m_Height)) {}
     hght = pbreak - from;
     if(to < hght)
         hght = to;
@@ -195,7 +196,7 @@ wxHtmlPrintout::wxHtmlPrintout(const wxString& title) : wxPrintout(title)
 {
     m_Renderer = new wxHtmlDCRenderer;
     m_RendererHdr = new wxHtmlDCRenderer;
-    m_NumPages = wxHTML_PRINT_MAX_PAGES;
+    m_NumPages = INT_MAX;
     m_Document = m_BasePath = wxEmptyString; m_BasePathIsDir = true;
     m_Headers[0] = m_Headers[1] = wxEmptyString;
     m_Footers[0] = m_Footers[1] = wxEmptyString;
@@ -491,7 +492,6 @@ void wxHtmlPrintout::CountPages()
 
     int pos = 0;
     m_NumPages = 0;
-    // m_PageBreaks[0] = 0;
 
     m_PageBreaks.Clear();
     m_PageBreaks.Add( 0);
@@ -502,12 +502,6 @@ void wxHtmlPrintout::CountPages()
                                  m_PageBreaks,
                                  pos, true, INT_MAX);
         m_PageBreaks.Add( pos);
-        if( m_PageBreaks.GetCount() > wxHTML_PRINT_MAX_PAGES)
-        {
-            wxMessageBox( _("HTML pagination algorithm generated more than the allowed maximum number of pages and it can't continue any longer!"),
-            _("Warning"), wxCANCEL | wxICON_ERROR );
-            break;
-        }
     } while (pos < m_Renderer->GetTotalHeight());
 }
 
@@ -540,7 +534,7 @@ void wxHtmlPrintout::RenderPage(wxDC *dc, int page)
                       (double)ppiPrinterY / TYPICAL_SCREEN_DPI,
                       (double)ppiPrinterY / (double)ppiScreenY);
 
-    dc->SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
+    dc->SetBackgroundMode(wxTRANSPARENT);
 
     m_Renderer->Render((int) (ppmm_h * m_MarginLeft),
                          (int) (ppmm_v * (m_MarginTop + (m_HeaderHeight == 0 ? 0 : m_MarginSpace)) + m_HeaderHeight), m_PageBreaks,
@@ -701,7 +695,7 @@ bool wxHtmlEasyPrinting::DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *pr
     // Pass two printout objects: for preview, and possible printing.
     wxPrintDialogData printDialogData(*GetPrintData());
     wxPrintPreview *preview = new wxPrintPreview(printout1, printout2, &printDialogData);
-    if (!preview->Ok())
+    if (!preview->IsOk())
     {
         delete preview;
         return false;
@@ -737,7 +731,7 @@ bool wxHtmlEasyPrinting::DoPrint(wxHtmlPrintout *printout)
 
 void wxHtmlEasyPrinting::PageSetup()
 {
-    if (!GetPrintData()->Ok())
+    if (!GetPrintData()->IsOk())
     {
         wxLogError(_("There was a problem during page setup: you may need to set a default printer."));
         return;