]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_layout.cpp
pywrap should be treated as a gui script
[wxWidgets.git] / src / html / m_layout.cpp
index 0bc14503f754b3c70c4ed522d31a531bc6061373..07b483b7d063fd325b6da18bd33968f9e08be773 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        m_layout.cpp
+// Name:        src/html/m_layout.cpp
 // Purpose:     wxHtml module for basic paragraphs/layout handling
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Purpose:     wxHtml module for basic paragraphs/layout handling
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
@@ -9,19 +9,16 @@
 
 #include "wx/wxprec.h"
 
 
 #include "wx/wxprec.h"
 
-#include "wx/defs.h"
-
-#if wxUSE_HTML && wxUSE_STREAMS
-
 #ifdef __BORLANDC__
     #pragma hdrstop
 #endif
 
 #ifdef __BORLANDC__
     #pragma hdrstop
 #endif
 
+#if wxUSE_HTML && wxUSE_STREAMS
+
 #ifndef WXPRECOMP
 #ifndef WXPRECOMP
+    #include "wx/image.h"
 #endif
 
 #endif
 
-#include "wx/image.h"
-
 #include "wx/html/forcelnk.h"
 #include "wx/html/m_templ.h"
 
 #include "wx/html/forcelnk.h"
 #include "wx/html/m_templ.h"
 
@@ -74,8 +71,8 @@ public:
     wxHtmlPageBreakCell() {}
 
     bool AdjustPagebreak(int* pagebreak,
     wxHtmlPageBreakCell() {}
 
     bool AdjustPagebreak(int* pagebreak,
-                         int* known_pagebreaks = NULL,
-                         int number_of_pages = 0) const;
+                         wxArrayInt& known_pagebreaks) const;
+
     void Draw(wxDC& WXUNUSED(dc),
               int WXUNUSED(x), int WXUNUSED(y),
               int WXUNUSED(view_y1), int WXUNUSED(view_y2),
     void Draw(wxDC& WXUNUSED(dc),
               int WXUNUSED(x), int WXUNUSED(y),
               int WXUNUSED(view_y1), int WXUNUSED(view_y2),
@@ -91,7 +88,7 @@ extern "C" int wxCMPFUNC_CONV wxInteger_compare(void const* i0, void const* i1)
     return *(int*)i0 - *(int*)i1;
 }
 
     return *(int*)i0 - *(int*)i1;
 }
 
-bool wxHtmlPageBreakCell::AdjustPagebreak(int* pagebreak, int* known_pagebreaks, int number_of_pages) const
+bool wxHtmlPageBreakCell::AdjustPagebreak(int* pagebreak, wxArrayInt& known_pagebreaks) const
 {
     // When we are counting pages, 'known_pagebreaks' is non-NULL.
     // That's the only time we change 'pagebreak'. Otherwise, pages
 {
     // When we are counting pages, 'known_pagebreaks' is non-NULL.
     // That's the only time we change 'pagebreak'. Otherwise, pages
@@ -103,10 +100,10 @@ bool wxHtmlPageBreakCell::AdjustPagebreak(int* pagebreak, int* known_pagebreaks,
     // vertical position. Otherwise we'd be setting a pagebreak above
     // the current cell, which is incorrect, or duplicating a
     // pagebreak that has already been set.
     // vertical position. Otherwise we'd be setting a pagebreak above
     // the current cell, which is incorrect, or duplicating a
     // pagebreak that has already been set.
-    if(NULL == known_pagebreaks || *pagebreak <= m_PosY)
-        {
+    if( known_pagebreaks.Count() == 0 || *pagebreak <= m_PosY)
+    {
         return false;
         return false;
-        }
+    }
 
     // m_PosY is only the vertical offset from the parent. The pagebreak
     // required here is the total page offset, so m_PosY must be added
 
     // m_PosY is only the vertical offset from the parent. The pagebreak
     // required here is the total page offset, so m_PosY must be added
@@ -119,21 +116,21 @@ bool wxHtmlPageBreakCell::AdjustPagebreak(int* pagebreak, int* known_pagebreaks,
     // is known to be sorted in strictly increasing order. '1 + number_of_pages'
     // is used as a bsearch() argument because the array contains a leading
     // zero plus one element for each page.
     // is known to be sorted in strictly increasing order. '1 + number_of_pages'
     // is used as a bsearch() argument because the array contains a leading
     // zero plus one element for each page.
-    int* where = (int*) bsearch(&total_height, known_pagebreaks,
-                                1 + number_of_pages, sizeof(int),
-                                wxInteger_compare);
+    int where = known_pagebreaks.Index( total_height);
     // Add a pagebreak only if there isn't one already set here.
     // Add a pagebreak only if there isn't one already set here.
-    if(NULL != where)
-        {
+    if( wxNOT_FOUND != where)
+    {
         return false;
         return false;
-        }
+    }
     else
     else
-        {
+    {
         *pagebreak = m_PosY;
         return true;
         *pagebreak = m_PosY;
         return true;
-        }
+    }
 }
 
 }
 
+
+
 TAG_HANDLER_BEGIN(P, "P")
     TAG_HANDLER_CONSTR(P) { }
 
 TAG_HANDLER_BEGIN(P, "P")
     TAG_HANDLER_CONSTR(P) { }