]>
git.saurik.com Git - wxWidgets.git/blob - src/html/m_hline.cpp
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxHtml module for horizontal line (HR tag)
4 // Author: Vaclav Slavik
6 // Copyright: (c) 1999 Vaclav Slavik
7 // Licence: wxWindows Licence
8 /////////////////////////////////////////////////////////////////////////////
11 #pragma implementation
14 #include "wx/wxprec.h"
18 #if wxUSE_HTML && wxUSE_STREAMS
29 #include "wx/html/forcelnk.h"
30 #include "wx/html/m_templ.h"
32 #include "wx/html/htmlcell.h"
34 FORCE_LINK_ME(m_hline
)
37 //-----------------------------------------------------------------------------
39 //-----------------------------------------------------------------------------
41 class wxHtmlLineCell
: public wxHtmlCell
44 wxHtmlLineCell(int size
, bool shading
) : wxHtmlCell() {m_Height
= size
; m_HasShading
= shading
;}
45 void Draw(wxDC
& dc
, int x
, int y
, int view_y1
, int view_y2
,
46 wxHtmlRenderingInfo
& info
);
48 { m_Width
= w
; wxHtmlCell::Layout(w
); }
51 // Should we draw 3-D shading or not
56 void wxHtmlLineCell::Draw(wxDC
& dc
, int x
, int y
,
57 int WXUNUSED(view_y1
), int WXUNUSED(view_y2
),
58 wxHtmlRenderingInfo
& WXUNUSED(info
))
60 wxBrush
mybrush(wxT("GREY"), (m_HasShading
) ? wxTRANSPARENT
: wxSOLID
);
61 wxPen
mypen(wxT("GREY"), 1, wxSOLID
);
64 dc
.DrawRectangle(x
+ m_PosX
, y
+ m_PosY
, m_Width
, m_Height
);
70 //-----------------------------------------------------------------------------
72 //-----------------------------------------------------------------------------
75 TAG_HANDLER_BEGIN(HR
, "HR")
79 wxHtmlContainerCell
*c
;
83 m_WParser
->CloseContainer();
84 c
= m_WParser
->OpenContainer();
86 c
->SetIndent(m_WParser
->GetCharHeight(), wxHTML_INDENT_VERTICAL
);
87 c
->SetAlignHor(wxHTML_ALIGN_CENTER
);
89 c
->SetWidthFloat(tag
);
91 tag
.GetParamAsInt(wxT("SIZE"), &sz
);
92 HasShading
= !(tag
.HasParam(wxT("NOSHADE")));
93 c
->InsertCell(new wxHtmlLineCell((int)((double)sz
* m_WParser
->GetPixelScale()), HasShading
));
95 m_WParser
->CloseContainer();
96 m_WParser
->OpenContainer();
107 TAGS_MODULE_BEGIN(HLine
)
111 TAGS_MODULE_END(HLine
)