// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation
#endif
FORCE_LINK_ME(m_layout)
-
-#include <stdlib.h> // bsearch()
+#ifdef __WXWINCE__
+ #include "wx/msw/wince/missing.h" // for bsearch()
+#else
+ #include <stdlib.h> // bsearch()
+#endif
//-----------------------------------------------------------------------------
// wxHtmlPageBreakCell
// array wxHtmlPrintout::m_PageBreaks of pagebreaks already set, and
// set a new one only if it's not in that array.
-class WXDLLEXPORT wxHtmlPageBreakCell : public wxHtmlCell
+class wxHtmlPageBreakCell : public wxHtmlCell
{
- public:
+public:
wxHtmlPageBreakCell() {}
- bool AdjustPagebreak(int* pagebreak, int* known_pagebreaks = NULL, int number_of_pages = 0) const;
+ bool AdjustPagebreak(int* pagebreak,
+ int* known_pagebreaks = NULL,
+ int number_of_pages = 0) const;
+ void Draw(wxDC& WXUNUSED(dc),
+ int WXUNUSED(x), int WXUNUSED(y),
+ int WXUNUSED(view_y1), int WXUNUSED(view_y2),
+ wxHtmlRenderingInfo& WXUNUSED(info)) {}
- private:
+private:
DECLARE_NO_COPY_CLASS(wxHtmlPageBreakCell)
};
// Comparison routine for bsearch into an int* array of pagebreaks.
-static int integer_compare(void const* i0, void const* i1)
+extern "C" int wxCMPFUNC_CONV wxInteger_compare(void const* i0, void const* i1)
{
return *(int*)i0 - *(int*)i1;
}
// zero plus one element for each page.
int* where = (int*) bsearch(&total_height, known_pagebreaks,
1 + number_of_pages, sizeof(int),
- integer_compare);
+ wxInteger_compare);
// Add a pagebreak only if there isn't one already set here.
if(NULL != where)
{
}
TAG_HANDLER_BEGIN(P, "P")
+ TAG_HANDLER_CONSTR(P) { }
TAG_HANDLER_PROC(tag)
{
- if (m_WParser->GetContainer()->GetFirstCell() != NULL)
+ if (m_WParser->GetContainer()->GetFirstChild() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
TAG_HANDLER_BEGIN(BR, "BR")
+ TAG_HANDLER_CONSTR(BR) { }
TAG_HANDLER_PROC(tag)
{
TAG_HANDLER_BEGIN(CENTER, "CENTER")
+ TAG_HANDLER_CONSTR(CENTER) { }
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c = m_WParser->GetContainer();
m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
- if (c->GetFirstCell() != NULL)
+ if (c->GetFirstChild() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
ParseInner(tag);
m_WParser->SetAlign(old);
- if (c->GetFirstCell() != NULL)
+ if (c->GetFirstChild() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
TAG_HANDLER_BEGIN(DIV, "DIV")
+ TAG_HANDLER_CONSTR(DIV) { }
TAG_HANDLER_PROC(tag)
{
- if(tag.HasParam("STYLE"))
+ if(tag.HasParam(wxT("STYLE")))
{
- if(tag.GetParam("STYLE").IsSameAs(wxString("PAGE-BREAK-BEFORE:ALWAYS"), FALSE))
+ if(tag.GetParam(wxT("STYLE")).IsSameAs(wxT("PAGE-BREAK-BEFORE:ALWAYS"), FALSE))
{
m_WParser->CloseContainer();
m_WParser->OpenContainer()->InsertCell(new wxHtmlPageBreakCell);
return FALSE;
}
}
- else if(tag.HasParam("ALIGN"))
+ else if(tag.HasParam(wxT("ALIGN")))
{
int old = m_WParser->GetAlign();
wxHtmlContainerCell *c = m_WParser->GetContainer();
- if (c->GetFirstCell() != NULL)
+ if (c->GetFirstChild() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
ParseInner(tag);
m_WParser->SetAlign(old);
- if (c->GetFirstCell() != NULL)
+ if (c->GetFirstChild() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
else
c->SetAlignHor(old);
- return TRUE;
+ return true;
}
else
{
- return FALSE;
+ // Same as BR
+ int al = m_WParser->GetContainer()->GetAlignHor();
+ wxHtmlContainerCell *c;
+
+ m_WParser->CloseContainer();
+ c = m_WParser->OpenContainer();
+ c->SetAlignHor(al);
+ c->SetAlign(tag);
+ c->SetMinHeight(m_WParser->GetCharHeight());
+ return false;
}
}
TAG_HANDLER_BEGIN(TITLE, "TITLE")
+ TAG_HANDLER_CONSTR(TITLE) { }
TAG_HANDLER_PROC(tag)
{
TAG_HANDLER_BEGIN(BODY, "BODY")
+ TAG_HANDLER_CONSTR(BODY) { }
TAG_HANDLER_PROC(tag)
{
TAG_HANDLER_BEGIN(BLOCKQUOTE, "BLOCKQUOTE")
+ TAG_HANDLER_CONSTR(BLOCKQUOTE) { }
TAG_HANDLER_PROC(tag)
{
// Tag handler for tags that we have to ignore, otherwise non-text data
// would show up as text:
TAG_HANDLER_BEGIN(DoNothing, "SCRIPT")
- TAG_HANDLER_PROC(tag)
+ TAG_HANDLER_CONSTR(DoNothing) { }
+
+ TAG_HANDLER_PROC(WXUNUSED(tag))
{
return true;
}