]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/scout-gfx/include/layout
d854e32984cd3d5d726893ba9b5943c7d3daa063
[l4.git] / l4 / pkg / scout-gfx / include / layout
1 // vi:ft=cpp
2
3 #pragma once
4
5 #include <l4/scout-gfx/layout_item>
6
7 namespace Scout_gfx {
8
9 class Layout : public Layout_item
10 {
11 private:
12   int _margin;
13   int _spacing;
14
15 public:
16   Layout() : _margin(0), _spacing(0) {}
17   virtual ~Layout() {}
18
19   int margin() const { return _margin; }
20   void set_margin(int m) { _margin = m; }
21
22   int spacing() const { return _spacing; }
23   void set_spacing(int s) { _spacing = s; }
24
25
26   Rect aligned_rect(Rect const &);
27
28   virtual void add_item(Layout_item *) = 0;
29   void remove_item(Layout_item *);
30   virtual Layout_item *remove_item(int idx) = 0;
31   virtual Layout_item *item(int idx) const = 0;
32   virtual Area max_size() const = 0;
33   void child_invalidate() { invalidate(); }
34
35 };
36
37 }