Update litehtml_viewer to build on Windows
[claws.git] / src / plugins / litehtml_viewer / litehtml / el_text.h
1 #ifndef LH_EL_TEXT_H
2 #define LH_EL_TEXT_H
3
4 #include "html_tag.h"
5
6 namespace litehtml
7 {
8         class el_text : public element
9         {
10         protected:
11                 tstring                 m_text;
12                 tstring                 m_transformed_text;
13                 size                    m_size;
14                 text_transform  m_text_transform;
15                 bool                    m_use_transformed;
16                 bool                    m_draw_spaces;
17         public:
18                 el_text(const tchar_t* text, const std::shared_ptr<litehtml::document>& doc);
19                 virtual ~el_text();
20
21                 virtual void                            get_text(tstring& text) override;
22                 virtual const tchar_t*          get_style_property(const tchar_t* name, bool inherited, const tchar_t* def = 0) override;
23                 virtual void                            parse_styles(bool is_reparse) override;
24                 virtual int                                     get_base_line() override;
25                 virtual void                            draw(uint_ptr hdc, int x, int y, const position* clip) override;
26                 virtual int                                     line_height() const override;
27                 virtual uint_ptr                        get_font(font_metrics* fm = 0) override;
28                 virtual style_display           get_display() const override;
29                 virtual white_space                     get_white_space() const override;
30                 virtual element_position        get_element_position(css_offsets* offsets = 0) const override;
31                 virtual css_offsets                     get_css_offsets() const override;
32
33         protected:
34                 virtual void                            get_content_size(size& sz, int max_width) override;
35         };
36 }
37
38 #endif  // LH_EL_TEXT_H