]>
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
);
47 { m_Width
= w
; wxHtmlCell::Layout(w
); }
50 // Should we draw 3-D shading or not
55 void wxHtmlLineCell::Draw(wxDC
& dc
, int x
, int y
, int WXUNUSED(view_y1
), int WXUNUSED(view_y2
))
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")
76 wxHtmlContainerCell
*c
;
80 m_WParser
->CloseContainer();
81 c
= m_WParser
->OpenContainer();
83 c
->SetIndent(m_WParser
->GetCharHeight(), wxHTML_INDENT_VERTICAL
);
84 c
->SetAlignHor(wxHTML_ALIGN_CENTER
);
86 c
->SetWidthFloat(tag
);
88 tag
.GetParamAsInt(wxT("SIZE"), &sz
);
89 HasShading
= !(tag
.HasParam(wxT("NOSHADE")));
90 c
->InsertCell(new wxHtmlLineCell((int)((double)sz
* m_WParser
->GetPixelScale()), HasShading
));
92 m_WParser
->CloseContainer();
93 m_WParser
->OpenContainer();
104 TAGS_MODULE_BEGIN(HLine
)
108 TAGS_MODULE_END(HLine
)