1 #ifndef LITEHTML_RENDER_TABLE_H
2 #define LITEHTML_RENDER_TABLE_H
4 #include "render_item.h"
8 class render_item_table
: public render_item
11 // data for table rendering
12 std::unique_ptr
<table_grid
> m_grid
;
13 int m_border_spacing_x
;
14 int m_border_spacing_y
;
16 int _render(int x
, int y
, const containing_block_context
&containing_block_size
, formatting_context
* fmt_ctx
, bool second_pass
) override
;
19 explicit render_item_table(std::shared_ptr
<element
> src_el
);
21 std::shared_ptr
<render_item
> clone() override
23 return std::make_shared
<render_item_table
>(src_el());
25 void draw_children(uint_ptr hdc
, int x
, int y
, const position
* clip
, draw_flag flag
, int zindex
) override
;
26 int get_draw_vertical_offset() override
;
27 std::shared_ptr
<render_item
> init() override
;
30 class render_item_table_part
: public render_item
33 explicit render_item_table_part(std::shared_ptr
<element
> src_el
) : render_item(std::move(src_el
))
36 std::shared_ptr
<render_item
> clone() override
38 return std::make_shared
<render_item_table_part
>(src_el());
42 class render_item_table_row
: public render_item
45 explicit render_item_table_row(std::shared_ptr
<element
> src_el
) : render_item(std::move(src_el
))
48 std::shared_ptr
<render_item
> clone() override
50 return std::make_shared
<render_item_table_row
>(src_el());
52 void get_inline_boxes( position::vector
& boxes
) const override
;
56 #endif //LITEHTML_RENDER_TABLE_H