Photon 1.0.0
Loading...
Searching...
No Matches
formatting_context.h
Go to the documentation of this file.
1#ifndef LITEHTML_FLOATS_HOLDER_H
2#define LITEHTML_FLOATS_HOLDER_H
3
4#include <list>
5#include "types.h"
6
7namespace litehtml
8{
10 {
11 private:
12 std::list<floated_box> m_floats_left;
13 std::list<floated_box> m_floats_right;
18
19 public:
21
22 void push_position(int x, int y)
23 {
24 m_current_left += x;
25 m_current_top += y;
26 }
27 void pop_position(int x, int y)
28 {
29 m_current_left -= x;
30 m_current_top -= y;
31 }
32
33 void add_float(const std::shared_ptr<render_item> &el, int min_width, int context);
34 void clear_floats(int context);
35 int find_next_line_top( int top, int width, int def_right );
36 int get_floats_height(element_float el_float = float_none) const;
37 int get_left_floats_height() const;
38 int get_right_floats_height() const;
39 int get_line_left( int y );
40 void get_line_left_right( int y, int def_right, int& ln_left, int& ln_right )
41 {
42 ln_left = get_line_left(y);
43 ln_right = get_line_right(y, def_right);
44 }
45 int get_line_right( int y, int def_right );
46 int get_cleared_top(const std::shared_ptr<render_item> &el, int line_top) const;
47 void update_floats(int dy, const std::shared_ptr<render_item> &parent);
48 void apply_relative_shift(const containing_block_context &containing_block_size);
49 int find_min_left(int y, int context_idx);
50 int find_min_right(int y, int right, int context_idx);
51 };
52}
53
54#endif //LITEHTML_FLOATS_HOLDER_H
Definition formatting_context.h:10
int get_right_floats_height() const
Definition formatting_context.cpp:154
void get_line_left_right(int y, int def_right, int &ln_left, int &ln_right)
Definition formatting_context.h:40
void clear_floats(int context)
Definition formatting_context.cpp:236
int find_min_left(int y, int context_idx)
Definition formatting_context.cpp:413
int get_line_right(int y, int def_right)
Definition formatting_context.cpp:198
int get_floats_height(element_float el_float=float_none) const
Definition formatting_context.cpp:67
void add_float(const std::shared_ptr< render_item > &el, int min_width, int context)
Definition formatting_context.cpp:5
int find_min_right(int y, int right, int context_idx)
Definition formatting_context.cpp:428
int m_current_left
Definition formatting_context.h:17
int get_left_floats_height() const
Definition formatting_context.cpp:141
int_int_cache m_cache_line_left
Definition formatting_context.h:14
std::list< floated_box > m_floats_right
Definition formatting_context.h:13
void push_position(int x, int y)
Definition formatting_context.h:22
std::list< floated_box > m_floats_left
Definition formatting_context.h:12
void update_floats(int dy, const std::shared_ptr< render_item > &parent)
Definition formatting_context.cpp:375
int get_cleared_top(const std::shared_ptr< render_item > &el, int line_top) const
Definition formatting_context.cpp:265
formatting_context()
Definition formatting_context.h:20
int m_current_top
Definition formatting_context.h:16
void apply_relative_shift(const containing_block_context &containing_block_size)
Definition formatting_context.cpp:405
int_int_cache m_cache_line_right
Definition formatting_context.h:15
int find_next_line_top(int top, int width, int def_right)
Definition formatting_context.cpp:310
int get_line_left(int y)
Definition formatting_context.cpp:167
void pop_position(int x, int y)
Definition formatting_context.h:27
Definition background.h:12
element_float
Definition types.h:481
@ float_none
Definition types.h:482
Definition types.h:695