-
Notifications
You must be signed in to change notification settings - Fork 0
/
peepholed_toplevel_main_windowobj.H
68 lines (45 loc) · 1.62 KB
/
peepholed_toplevel_main_windowobj.H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
** Copyright 2017-2021 Double Precision, Inc.
** See COPYING for distribution information.
*/
#ifndef peepholed_toplevel_main_windowobj_h
#define peepholed_toplevel_main_windowobj_h
#include "peephole/peepholed_toplevel_elementfwd.H"
#include "x/w/containerobj.H"
#include "x/w/new_layoutmanagerfwd.H"
#include "x/w/types.H"
LIBCXXW_NAMESPACE_START
//! Parent clas of a \ref peepholed_toplevel_main_windowObj "top level peepholed element".
typedef peepholed_toplevel_elementObj<containerObj
> toplevel_container_superclass_t;
//! Container with the real contents of the top level display element.
//! \see peepholed_toplevel_main_window
class LIBCXX_HIDDEN peepholed_toplevel_main_windowObj
: public toplevel_container_superclass_t {
public:
class implObj;
//! "Internal" implementation object.
const ref<implObj> impl;
//! Constructor
peepholed_toplevel_main_windowObj(const ref<implObj> &impl,
const layout_impl
&container_layout_impl);
//! Destructor
~peepholed_toplevel_main_windowObj();
private:
//! Implement recalculate_metrics().
void recalculate_peepholed_metrics(ONLY IN_THREAD,
const screen &my_screen) override;
//! Implement max_width()
dim_t max_width(ONLY IN_THREAD) const override;
//! Implement max_height()
dim_t max_height(ONLY IN_THREAD) const override;
//! Implement horizontal_increment()
dim_t horizontal_increment(ONLY IN_THREAD) const override;
//! Implement vertical_increment()
dim_t vertical_increment(ONLY IN_THREAD) const override;
//! Implement peepholed_rows()
size_t peepholed_rows(ONLY IN_THREAD) const override;
};
LIBCXXW_NAMESPACE_END
#endif