FTXUI
6.1.9
C++ functional terminal UI.
载入中...
搜索中...
未找到
flexbox_helper.hpp
浏览该文件的文档.
1
// Copyright 2020 Arthur Sonzogni. All rights reserved.
2
// 本源代码的使用受可在 LICENSE 文件中找到的 MIT 许可协议的约束。
3
#ifndef FTXUI_DOM_FLEXBOX_HELPER_HPP
4
#define FTXUI_DOM_FLEXBOX_HELPER_HPP
5
6
#include <vector>
7
#include "
ftxui/dom/flexbox_config.hpp
"
8
9
namespace
ftxui::flexbox_helper
{
10
11
// 块是flexbox中的一个矩形。
12
struct
Block
{
13
// 输入:
14
int
min_size_x
= 0;
15
int
min_size_y
= 0;
16
int
flex_grow_x
= 0;
17
int
flex_grow_y
= 0;
18
int
flex_shrink_x
= 0;
19
int
flex_shrink_y
= 0;
20
21
// 输出:
22
int
line
{};
23
int
line_position
{};
24
int
x
= 0;
25
int
y
= 0;
26
int
dim_x
= 0;
27
int
dim_y
= 0;
28
bool
overflow
=
false
;
29
};
30
31
// 行是块的行。
32
struct
Line
{
33
std::vector<Block*>
blocks
;
34
int
x
= 0;
35
int
y
= 0;
36
int
dim_x
= 0;
37
int
dim_y
= 0;
38
};
39
40
struct
Global
{
41
std::vector<Block>
blocks
;
42
std::vector<Line>
lines
;
43
FlexboxConfig
config
;
44
int
size_x
;
45
int
size_y
;
46
};
47
48
void
Compute
(
Global
& global);
49
50
}
// namespace ftxui::flexbox_helper
51
52
#endif
/* include guard 结束: FTXUI_DOM_FLEXBOX_HELPER_HPP*/
flexbox_config.hpp
ftxui::FlexboxConfig
FlexboxConfig 是一个配置结构体,定义了弹性盒子容器的布局属性。
定义
flexbox_config.hpp:26
ftxui::flexbox_helper
定义
flexbox_helper.cpp:13
ftxui::flexbox_helper::Compute
void Compute(Global &global)
定义
flexbox_helper.cpp:368
ftxui::flexbox_helper::Block
定义
flexbox_helper.hpp:12
ftxui::flexbox_helper::Block::y
int y
定义
flexbox_helper.hpp:25
ftxui::flexbox_helper::Block::flex_grow_y
int flex_grow_y
定义
flexbox_helper.hpp:17
ftxui::flexbox_helper::Block::min_size_y
int min_size_y
定义
flexbox_helper.hpp:15
ftxui::flexbox_helper::Block::line
int line
定义
flexbox_helper.hpp:22
ftxui::flexbox_helper::Block::overflow
bool overflow
定义
flexbox_helper.hpp:28
ftxui::flexbox_helper::Block::x
int x
定义
flexbox_helper.hpp:24
ftxui::flexbox_helper::Block::dim_x
int dim_x
定义
flexbox_helper.hpp:26
ftxui::flexbox_helper::Block::flex_grow_x
int flex_grow_x
定义
flexbox_helper.hpp:16
ftxui::flexbox_helper::Block::line_position
int line_position
定义
flexbox_helper.hpp:23
ftxui::flexbox_helper::Block::flex_shrink_y
int flex_shrink_y
定义
flexbox_helper.hpp:19
ftxui::flexbox_helper::Block::min_size_x
int min_size_x
定义
flexbox_helper.hpp:14
ftxui::flexbox_helper::Block::dim_y
int dim_y
定义
flexbox_helper.hpp:27
ftxui::flexbox_helper::Block::flex_shrink_x
int flex_shrink_x
定义
flexbox_helper.hpp:18
ftxui::flexbox_helper::Global
定义
flexbox_helper.hpp:40
ftxui::flexbox_helper::Global::size_y
int size_y
定义
flexbox_helper.hpp:45
ftxui::flexbox_helper::Global::lines
std::vector< Line > lines
定义
flexbox_helper.hpp:42
ftxui::flexbox_helper::Global::blocks
std::vector< Block > blocks
定义
flexbox_helper.hpp:41
ftxui::flexbox_helper::Global::config
FlexboxConfig config
定义
flexbox_helper.hpp:43
ftxui::flexbox_helper::Global::size_x
int size_x
定义
flexbox_helper.hpp:44
ftxui::flexbox_helper::Line
定义
flexbox_helper.hpp:32
ftxui::flexbox_helper::Line::y
int y
定义
flexbox_helper.hpp:35
ftxui::flexbox_helper::Line::x
int x
定义
flexbox_helper.hpp:34
ftxui::flexbox_helper::Line::dim_x
int dim_x
定义
flexbox_helper.hpp:36
ftxui::flexbox_helper::Line::blocks
std::vector< Block * > blocks
定义
flexbox_helper.hpp:33
ftxui::flexbox_helper::Line::dim_y
int dim_y
定义
flexbox_helper.hpp:37