git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
105 lines
2.4 KiB
C++
105 lines
2.4 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: m_hline.cpp
|
|
// Purpose: wxHtml module for horizontal line (HR tag)
|
|
// Author: Vaclav Slavik
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 1999 Vaclav Slavik
|
|
// Licence: wxWindows Licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifdef __GNUG__
|
|
#pragma implementation
|
|
#endif
|
|
|
|
#include "wx/wxprec.h"
|
|
|
|
|
|
#include "wx/defs.h"
|
|
#if wxUSE_HTML
|
|
#ifdef __BORDLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#ifndef WXPRECOMP
|
|
#include "wx/wx.h"
|
|
#endif
|
|
|
|
|
|
|
|
#include "wx/html/forcelnk.h"
|
|
#include "wx/html/m_templ.h"
|
|
|
|
#include "wx/html/htmlcell.h"
|
|
|
|
FORCE_LINK_ME(m_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(), wxHTML_INDENT_VERTICAL);
|
|
c -> SetAlignHor(wxHTML_ALIGN_CENTER);
|
|
c -> SetAlign(tag);
|
|
c -> SetWidthFloat(tag);
|
|
sz = 1;
|
|
if (tag.HasParam(wxT("SIZE")) && tag.ScanParam(wxT("SIZE"), wxT("%i"), &sz) == 1) {}
|
|
c -> InsertCell(new wxHtmlLineCell((int)((double)sz * m_WParser -> GetPixelScale())));
|
|
|
|
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
|