libwtk-sdl2  0.0.1
padding.hpp
1 #ifndef LIBWTK_SDL2_PADDING_HPP
2 #define LIBWTK_SDL2_PADDING_HPP
3 
4 #include "bin.hpp"
5 
6 struct padding : bin
7 {
8  padding(int pad, widget_ptr child);
9  padding(int pad_x, int pad_y, widget_ptr child);
10  padding(int pad_left, int pad_right, int pad_top, int pad_bottom, widget_ptr child);
11 
12  ~padding() override;
13 
14  void on_box_allocated() override;
15 
16  size_hint get_size_hint(int width, int height) const override;
17 
23  void set_pad_left(int pad_left);
24  void set_pad_right(int pad_right);
25  void set_pad_top(int pad_top);
26  void set_pad_bottom(int pad_bottom);
27 
28  int get_pad_left() const;
29  int get_pad_right() const;
30  int get_pad_top() const;
31  int get_pad_bottom() const;
32 
35  private:
36 
37  int _pad_left;
38  int _pad_right;
39  int _pad_top;
40  int _pad_bottom;
41 };
42 
43 
44 std::shared_ptr<padding> pad(int pad_x, int pad_y, widget_ptr wptr);
45 std::shared_ptr<padding> pad(int pad, widget_ptr wptr);
46 
47 std::shared_ptr<padding> pad_left(int pad, widget_ptr wptr);
48 std::shared_ptr<padding> pad_right(int pad, widget_ptr wptr);
49 std::shared_ptr<padding> pad_top(int pad, widget_ptr wptr);
50 std::shared_ptr<padding> pad_bottom(int pad, widget_ptr wptr);
51 
52 // overloads to just modify, works because widgets are passed by reference
53 std::shared_ptr<padding> pad_left(int pad, std::shared_ptr<padding> wptr);
54 std::shared_ptr<padding> pad_right(int pad, std::shared_ptr<padding> wptr);
55 std::shared_ptr<padding> pad_top(int pad, std::shared_ptr<padding> wptr);
56 std::shared_ptr<padding> pad_bottom(int pad, std::shared_ptr<padding> wptr);
57 
58 #endif
59 
size_hint get_size_hint(int width, int height) const override
Definition: bin.hpp:7
Definition: padding.hpp:6
void on_box_allocated() override
Definition: widget.hpp:35