Photon 1.0.0
Loading...
Searching...
No Matches
flex_line.h
Go to the documentation of this file.
1#ifndef LITEHTML_FLEX_LINE_H
2#define LITEHTML_FLEX_LINE_H
3
5
6namespace litehtml
7{
8 class flex_item;
9
11 {
12 public:
13 std::list<std::shared_ptr<flex_item>> items;
14 int cross_start; // for row direction: top. for column direction: left
15 int main_size; // sum of all items main size
16 int cross_size; // sum of all items cross size
20 int num_auto_margin_main_start; // number of items with auto margin left/top
21 int num_auto_margin_main_end; // number of items with auto margin right/bottom
26
27 flex_line(bool _reverse_main, bool _reverse_cross) :
28 cross_start(0),
29 main_size(0),
30 cross_size(0),
31 base_size(0),
32 total_grow(0),
33 total_shrink(0),
38 reverse_main(_reverse_main),
39 reverse_cross(_reverse_cross)
40 {}
41
42 void init(int container_main_size, bool fit_container, bool is_row_direction,
45 bool distribute_main_auto_margins(int free_main_size);
46 int calculate_items_position(int container_main_size,
47 flex_justify_content justify_content,
48 bool is_row_direction,
49 const containing_block_context &self_size,
50 formatting_context *fmt_ctx);
51 protected:
52 void distribute_free_space(int container_main_size);
53 };
54}
55
56#endif //LITEHTML_FLEX_LINE_H
Definition types.h:774
Definition flex_line.h:11
int cross_start
Definition flex_line.h:14
int total_shrink
Definition flex_line.h:19
int main_size
Definition flex_line.h:15
bool distribute_main_auto_margins(int free_main_size)
Definition flex_line.cpp:165
flex_line(bool _reverse_main, bool _reverse_cross)
Definition flex_line.h:27
bool reverse_cross
Definition flex_line.h:25
int base_size
Definition flex_line.h:17
std::list< std::shared_ptr< flex_item > > items
Definition flex_line.h:13
bool reverse_main
Definition flex_line.h:24
int cross_size
Definition flex_line.h:16
int num_auto_margin_main_end
Definition flex_line.h:21
void distribute_free_space(int container_main_size)
Definition flex_line.cpp:6
int calculate_items_position(int container_main_size, flex_justify_content justify_content, bool is_row_direction, const containing_block_context &self_size, formatting_context *fmt_ctx)
Definition flex_line.cpp:341
baseline first_baseline
Definition flex_line.h:22
int total_grow
Definition flex_line.h:18
int num_auto_margin_main_start
Definition flex_line.h:20
baseline last_baseline
Definition flex_line.h:23
Definition formatting_context.h:10
Definition background.h:12
flex_justify_content
Definition types.h:937