Implement image handling
[claws.git] / src / plugins / litehtml_viewer / litehtml / el_tr.cpp
1 #include "html.h"\r
2 #include "el_tr.h"\r
3 \r
4 \r
5 litehtml::el_tr::el_tr(const std::shared_ptr<litehtml::document>& doc) : html_tag(doc)\r
6 {\r
7 \r
8 }\r
9 \r
10 litehtml::el_tr::~el_tr()\r
11 {\r
12 \r
13 }\r
14 \r
15 void litehtml::el_tr::parse_attributes()\r
16 {\r
17         const tchar_t* str = get_attr(_t("align"));\r
18         if(str)\r
19         {\r
20                 m_style.add_property(_t("text-align"), str, 0, false);\r
21         }\r
22         str = get_attr(_t("valign"));\r
23         if(str)\r
24         {\r
25                 m_style.add_property(_t("vertical-align"), str, 0, false);\r
26         }\r
27         str = get_attr(_t("bgcolor"));\r
28         if (str)\r
29         {\r
30                 m_style.add_property(_t("background-color"), str, 0, false);\r
31         }\r
32         html_tag::parse_attributes();\r
33 }\r
34 \r
35 void litehtml::el_tr::get_inline_boxes( position::vector& boxes )\r
36 {\r
37         position pos;\r
38         for(auto& el : m_children)\r
39         {\r
40                 if(el->get_display() == display_table_cell)\r
41                 {\r
42                         pos.x           = el->left() + el->margin_left();\r
43                         pos.y           = el->top() - m_padding.top - m_borders.top;\r
44 \r
45                         pos.width       = el->right() - pos.x - el->margin_right() - el->margin_left();\r
46                         pos.height      = el->height() + m_padding.top + m_padding.bottom + m_borders.top + m_borders.bottom;\r
47 \r
48                         boxes.push_back(pos);\r
49                 }\r
50         }\r
51 }\r