X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fae05df5a988883e9c6683ccded766dfb7b84b1b..5526e819eca4465ed5520d49bccfebc6a28045e0:/src/html/mod_hline.cpp diff --git a/src/html/mod_hline.cpp b/src/html/mod_hline.cpp new file mode 100644 index 0000000000..c79c3ad13e --- /dev/null +++ b/src/html/mod_hline.cpp @@ -0,0 +1,88 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: mod_hline.cpp +// Purpose: wxHtml module for horizontal line (HR tag) +// Author: Vaclav Slavik +// Copyright: (c) 1999 Vaclav Slavik +// Licence: wxWindows Licence +///////////////////////////////////////////////////////////////////////////// + + +#include "wx/defs.h" +#if wxUSE_HTML + +#include +#include + +#include + +FORCE_LINK_ME(mod_hline) + + +//----------------------------------------------------------------------------- +// wxHtmlLineCell +//----------------------------------------------------------------------------- + +class wxHtmlLineCell : public wxHtmlCell +{ + public: + wxHtmlLineCell(int size) : wxHtmlCell() {m_Height = size;} + void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2); + void Layout(int w) {m_Width = w; if (m_Next) m_Next -> Layout(w);} +}; + + +void wxHtmlLineCell::Draw(wxDC& dc, int x, int y, int view_y1, int view_y2) +{ + wxBrush mybrush("BLACK", wxSOLID); + wxPen mypen("BLACK", 1, wxSOLID); + dc.SetBrush(mybrush); + dc.SetPen(mypen); + dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height); + wxHtmlCell::Draw(dc, x, y, view_y1, view_y2); +} + + + + +//----------------------------------------------------------------------------- +// The list handler: +//----------------------------------------------------------------------------- + + +TAG_HANDLER_BEGIN(HR, "HR") + + TAG_HANDLER_PROC(tag) + { + wxHtmlContainerCell *c; + int sz; + + m_WParser -> CloseContainer(); + c = m_WParser -> OpenContainer(); + + c -> SetIndent(m_WParser -> GetCharHeight(), HTML_INDENT_VERTICAL); + c -> SetAlignHor(HTML_ALIGN_CENTER); + c -> SetAlign(tag); + c -> SetWidthFloat(tag); + if (tag.HasParam("SIZE")) tag.ScanParam("SIZE", "%i", &sz); + else sz = 1; + c -> InsertCell(new wxHtmlLineCell(sz)); + + m_WParser -> CloseContainer(); + m_WParser -> OpenContainer(); + + return FALSE; + } + +TAG_HANDLER_END(HR) + + + + + +TAGS_MODULE_BEGIN(HLine) + + TAGS_MODULE_ADD(HR) + +TAGS_MODULE_END(HLine) + +#endif