]>
git.saurik.com Git - wxWidgets.git/blob - src/html/m_hline.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/html/m_hline.cpp
3 // Purpose: wxHtml module for horizontal line (HR tag)
4 // Author: Vaclav Slavik
6 // Copyright: (c) 1999 Vaclav Slavik
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 #include "wx/wxprec.h"
16 #if wxUSE_HTML && wxUSE_STREAMS
24 #include "wx/html/forcelnk.h"
25 #include "wx/html/m_templ.h"
27 #include "wx/html/htmlcell.h"
29 FORCE_LINK_ME(m_hline
)
32 //-----------------------------------------------------------------------------
34 //-----------------------------------------------------------------------------
36 class wxHtmlLineCell
: public wxHtmlCell
39 wxHtmlLineCell(int size
, bool shading
) : wxHtmlCell() {m_Height
= size
; m_HasShading
= shading
;}
40 void Draw(wxDC
& dc
, int x
, int y
, int view_y1
, int view_y2
,
41 wxHtmlRenderingInfo
& info
);
43 { m_Width
= w
; wxHtmlCell::Layout(w
); }
46 // Should we draw 3-D shading or not
49 DECLARE_NO_COPY_CLASS(wxHtmlLineCell
)
53 void wxHtmlLineCell::Draw(wxDC
& dc
, int x
, int y
,
54 int WXUNUSED(view_y1
), int WXUNUSED(view_y2
),
55 wxHtmlRenderingInfo
& WXUNUSED(info
))
57 wxBrush
mybrush(wxT("GREY"), (m_HasShading
) ? wxTRANSPARENT
: wxSOLID
);
58 wxPen
mypen(wxT("GREY"), 1, wxSOLID
);
61 dc
.DrawRectangle(x
+ m_PosX
, y
+ m_PosY
, m_Width
, m_Height
);
67 //-----------------------------------------------------------------------------
69 //-----------------------------------------------------------------------------
72 TAG_HANDLER_BEGIN(HR
, "HR")
73 TAG_HANDLER_CONSTR(HR
) { }
77 wxHtmlContainerCell
*c
;
81 m_WParser
->CloseContainer();
82 c
= m_WParser
->OpenContainer();
84 c
->SetIndent(m_WParser
->GetCharHeight(), wxHTML_INDENT_VERTICAL
);
85 c
->SetAlignHor(wxHTML_ALIGN_CENTER
);
87 c
->SetWidthFloat(tag
);
89 tag
.GetParamAsInt(wxT("SIZE"), &sz
);
90 HasShading
= !(tag
.HasParam(wxT("NOSHADE")));
91 c
->InsertCell(new wxHtmlLineCell((int)((double)sz
* m_WParser
->GetPixelScale()), HasShading
));
93 m_WParser
->CloseContainer();
94 m_WParser
->OpenContainer();
105 TAGS_MODULE_BEGIN(HLine
)
109 TAGS_MODULE_END(HLine
)