X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e0a12c958fb6e26fedc61f66166b480cee13a5d..f239a20092359e3c914adb79bd39f3f5d2b2e06f:/src/html/m_hline.cpp diff --git a/src/html/m_hline.cpp b/src/html/m_hline.cpp index fa2dba264c..c83704ad4c 100644 --- a/src/html/m_hline.cpp +++ b/src/html/m_hline.cpp @@ -1,26 +1,21 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: m_hline.cpp +// Name: src/html/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 +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation -#endif - #include "wx/wxprec.h" +#ifdef __BORLANDC__ + #pragma hdrstop +#endif -#include "wx/defs.h" #if wxUSE_HTML && wxUSE_STREAMS -#ifdef __BORDLANDC__ -#pragma hdrstop -#endif -#ifndef WXPRECOMP +#ifndef WX_PRECOMP #include "wx/brush.h" #include "wx/pen.h" #include "wx/dc.h" @@ -41,17 +36,26 @@ FORCE_LINK_ME(m_hline) 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); + 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, + wxHtmlRenderingInfo& info); void Layout(int w) { m_Width = w; wxHtmlCell::Layout(w); } + + private: + // Should we draw 3-D shading or not + bool m_HasShading; + + wxDECLARE_NO_COPY_CLASS(wxHtmlLineCell); }; -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), + wxHtmlRenderingInfo& WXUNUSED(info)) { - wxBrush mybrush(wxT("BLACK"), wxSOLID); - wxPen mypen(wxT("BLACK"), 1, wxSOLID); + wxBrush mybrush(wxT("GREY"), (m_HasShading) ? wxBRUSHSTYLE_TRANSPARENT : wxBRUSHSTYLE_SOLID); + wxPen mypen(wxT("GREY"), 1, wxPENSTYLE_SOLID); dc.SetBrush(mybrush); dc.SetPen(mypen); dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height); @@ -66,11 +70,13 @@ void wxHtmlLineCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXU TAG_HANDLER_BEGIN(HR, "HR") + TAG_HANDLER_CONSTR(HR) { } TAG_HANDLER_PROC(tag) { wxHtmlContainerCell *c; int sz; + bool HasShading; m_WParser->CloseContainer(); c = m_WParser->OpenContainer(); @@ -81,12 +87,13 @@ TAG_HANDLER_BEGIN(HR, "HR") c->SetWidthFloat(tag); sz = 1; 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->OpenContainer(); - return FALSE; + return false; } TAG_HANDLER_END(HR)