Euphoria
layoutcontainer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include "base/rect.h"
6 #include "base/size2.h"
7 
8 #include "gui/container.h"
9 
10 
11 
12 namespace eu::gui
13 {
14  struct Layout;
15 
16 
17  std::shared_ptr<Layout> create_table_layout
18  (
19  const std::vector<bool>& expandable_rows,
20  const std::vector<bool>& expandable_cols,
21  float combined_padding
22  );
23 
24  std::shared_ptr<Layout> create_single_row_layout(float padding);
25 
27  {
28  std::shared_ptr<gui::Layout> layout;
29 
31  virtual ~LayoutContainer();
32 
33  LayoutContainer(const LayoutContainer&) = delete;
35  void operator=(const LayoutContainer&) = delete;
36  void operator=(LayoutContainer&&) = delete;
37 
38  void lay_out(Rectf area);
39 
40  [[nodiscard]] size2f calc_minimum_area() const;
41  };
42 }
std::shared_ptr< Layout > create_single_row_layout(float padding)
std::shared_ptr< Layout > create_table_layout(const std::vector< bool > &expandable_rows, const std::vector< bool > &expandable_cols, float combined_padding)
Definition: rect.h:27
LayoutContainer(LayoutContainer &&)=delete
LayoutContainer(const LayoutContainer &)=delete
std::shared_ptr< gui::Layout > layout
void operator=(LayoutContainer &&)=delete
void operator=(const LayoutContainer &)=delete
void lay_out(Rectf area)
size2f calc_minimum_area() const