TermOx
line.hpp
1 #ifndef TERMOX_WIDGET_WIDGETS_LINE_HPP
2 #define TERMOX_WIDGET_WIDGETS_LINE_HPP
3 #include <memory>
4 
5 #include <termox/widget/layouts/horizontal.hpp>
6 #include <termox/widget/layouts/vertical.hpp>
7 #include <termox/widget/widget.hpp>
8 
9 namespace ox {
10 
12 template <template <typename> typename Layout_t>
13 class Line : public Widget {
14  public:
15  Line();
16 
17  private:
18  static auto constexpr is_vertical = layout::is_vertical_v<Layout_t<Widget>>;
19 };
20 
22 template <template <typename> typename Layout_t>
23 [[nodiscard]] auto line() -> std::unique_ptr<Line<Layout_t>>;
24 
26 
28 [[nodiscard]] auto vline() -> std::unique_ptr<VLine>;
29 
31 
33 [[nodiscard]] auto hline() -> std::unique_ptr<HLine>;
34 
35 } // namespace ox
36 #endif // TERMOX_WIDGET_WIDGETS_LINE_HPP
A Vertical or Horizontal single width/height line divider.
Definition: line.hpp:13
Definition: widget.hpp:31