1 #ifndef CPPURSES_WIDGET_LAYOUTS_HORIZONTAL_HPP 2 #define CPPURSES_WIDGET_LAYOUTS_HORIZONTAL_HPP 3 #include <cstddef> 4 #include <vector> 5 6 #include <cppurses/widget/layout.hpp> 7 8 namespace cppurses { 9 class Widget; 10 namespace layout { 11 12 class Horizontal : public Layout { 13 protected: 14 void update_geometry() override; 15 16 private: 17 std::vector<Dimensions> calculate_widget_sizes(); 18 void move_and_resize_children(const std::vector<Dimensions>& dimensions); 19 20 void distribute_space(std::vector<Dimensions_reference> widgets, 21 int width_left); 22 23 void collect_space(std::vector<Dimensions_reference> widgets, 24 int width_left); 25 // void collect_space(std::vector<Dimensions>& widgets, int width_left); 26 }; 27 28 } // namespace layout 29 } // namespace cppurses 30 #endif // CPPURSES_WIDGET_LAYOUTS_HORIZONTAL_HPP 31