1 #ifndef CHESSBOARD_BORDERS_HPP 2 #define CHESSBOARD_BORDERS_HPP 3 #include <cppurses/widget/layouts/horizontal.hpp> 4 #include <cppurses/widget/layouts/vertical.hpp> 5 #include <cppurses/widget/widgets/text_display.hpp> 6 7 #include "chessboard_widget.hpp" 8 9 class Row_listing : public cppurses::Text_display { 10 public: 11 Row_listing(); 12 }; 13 14 class Column_listing : public cppurses::Text_display { 15 public: 16 Column_listing(); 17 }; 18 19 struct Chessboard_with_borders : public cppurses::layout::Vertical { 20 Chessboard_with_borders(); 21 22 Column_listing& top_column{this->make_child<Column_listing>()}; 23 cppurses::layout::Horizontal& middle_layout{ 24 this->make_child<cppurses::layout::Horizontal>()}; 25 Row_listing& left_row{middle_layout.make_child<Row_listing>()}; 26 Chessboard_widget& chessboard{ 27 middle_layout.make_child<Chessboard_widget>()}; 28 Row_listing& right_row{middle_layout.make_child<Row_listing>()}; 29 Column_listing& bottom_column{this->make_child<Column_listing>()}; 30 }; 31 #endif // CHESSBOARD_BORDERS_HPP 32