better <HR> tag handling in wxHTML
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -41,17 +41,21 @@ FORCE_LINK_ME(m_hline)
|
|||||||
class wxHtmlLineCell : public wxHtmlCell
|
class wxHtmlLineCell : public wxHtmlCell
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxHtmlLineCell(int size) : wxHtmlCell() {m_Height = size;}
|
wxHtmlLineCell(int size, bool shading) : wxHtmlCell() {m_Height = size; m_HasShading = shading;}
|
||||||
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
|
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
|
||||||
void Layout(int w)
|
void Layout(int w)
|
||||||
{ m_Width = w; wxHtmlCell::Layout(w); }
|
{ m_Width = w; wxHtmlCell::Layout(w); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Should we draw 3-D shading or not
|
||||||
|
bool m_HasShading;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void wxHtmlLineCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
|
void wxHtmlLineCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
|
||||||
{
|
{
|
||||||
wxBrush mybrush(wxT("BLACK"), wxSOLID);
|
wxBrush mybrush(wxT("GREY"), (m_HasShading) ? wxTRANSPARENT : wxSOLID);
|
||||||
wxPen mypen(wxT("BLACK"), 1, wxSOLID);
|
wxPen mypen(wxT("GREY"), 1, wxSOLID);
|
||||||
dc.SetBrush(mybrush);
|
dc.SetBrush(mybrush);
|
||||||
dc.SetPen(mypen);
|
dc.SetPen(mypen);
|
||||||
dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height);
|
dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height);
|
||||||
@@ -71,6 +75,7 @@ TAG_HANDLER_BEGIN(HR, "HR")
|
|||||||
{
|
{
|
||||||
wxHtmlContainerCell *c;
|
wxHtmlContainerCell *c;
|
||||||
int sz;
|
int sz;
|
||||||
|
bool HasShading;
|
||||||
|
|
||||||
m_WParser->CloseContainer();
|
m_WParser->CloseContainer();
|
||||||
c = m_WParser->OpenContainer();
|
c = m_WParser->OpenContainer();
|
||||||
@@ -81,7 +86,8 @@ TAG_HANDLER_BEGIN(HR, "HR")
|
|||||||
c->SetWidthFloat(tag);
|
c->SetWidthFloat(tag);
|
||||||
sz = 1;
|
sz = 1;
|
||||||
tag.GetParamAsInt(wxT("SIZE"), &sz);
|
tag.GetParamAsInt(wxT("SIZE"), &sz);
|
||||||
c->InsertCell(new wxHtmlLineCell((int)((double)sz * m_WParser->GetPixelScale())));
|
HasShading = !(tag.HasParam(wxT("NOSHADE")));
|
||||||
|
c->InsertCell(new wxHtmlLineCell((int)((double)sz * m_WParser->GetPixelScale()), HasShading));
|
||||||
|
|
||||||
m_WParser->CloseContainer();
|
m_WParser->CloseContainer();
|
||||||
m_WParser->OpenContainer();
|
m_WParser->OpenContainer();
|
||||||
|
Reference in New Issue
Block a user