Extract common struct Dimensions from Terminal (#171)

- Convert Dimension to namespace to allow defining Fit method from dom.
- Use Dimensions extracted from Terminal as replacement struct.
- Convert Terminal to namespace as it only defines static members.
- Remove dom references from screen library (circular dependency).
This commit is contained in:
Tushar Maheshwari
2021-08-03 02:49:29 +05:30
committed by GitHub
parent 34d955e9ac
commit 49e8cc57d3
6 changed files with 45 additions and 49 deletions

View File

@@ -59,6 +59,16 @@ Element operator|(Element element, Decorator decorator) {
return decorator(std::move(element));
}
/// The minimal dimension that will fit the given element.
/// @see Fixed
/// @see Full
Dimensions Dimension::Fit(Element& e) {
e->ComputeRequirement();
Dimensions size = Dimension::Full();
return {std::min(e->requirement().min_x, size.dimx),
std::min(e->requirement().min_y, size.dimy)};
}
} // namespace ftxui
// Copyright 2020 Arthur Sonzogni. All rights reserved.