neoGFX
Cross-platform C++ app/game engine
i_layout_item_proxy.hpp
Go to the documentation of this file.
1
// i_layout_item_proxy.hpp
2
/*
3
neogfx C++ App/Game Engine
4
Copyright (c) 2018, 2020 Leigh Johnston. All Rights Reserved.
5
6
This program is free software: you can redistribute it and / or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include <
neogfx/neogfx.hpp
>
23
#include <
neogfx/gui/layout/i_geometry.hpp
>
24
#include <
neogfx/gui/layout/i_layout_item.hpp
>
25
26
namespace
neogfx
27
{
28
enum class
layout_item_disposition
29
{
30
Unknown
,
31
Weighted,
32
Unweighted,
33
TooSmall,
34
FixedSize
35
};
36
37
class
i_layout_item_proxy
:
public
i_layout_item
38
{
39
friend
class
layout
;
40
public
:
41
virtual
const
i_layout_item
&
subject
()
const
= 0;
42
virtual
i_layout_item
&
subject
() = 0;
43
virtual
i_ref_ptr<i_layout_item>
&
subject_ptr
() = 0;
44
public
:
45
virtual
layout_item_disposition
&
cached_disposition
()
const
= 0;
46
};
47
}
neogfx::i_layout_item_proxy
Definition:
i_layout_item_proxy.hpp:38
i_layout_item.hpp
neolib::i_ref_ptr
Definition:
i_reference_counted.hpp:78
neogfx::layout_item_disposition
layout_item_disposition
Definition:
i_layout_item_proxy.hpp:29
neogfx::i_layout_item_proxy::subject
virtual i_layout_item & subject()=0
neogfx::i_layout_item_proxy::subject_ptr
virtual i_ref_ptr< i_layout_item > & subject_ptr()=0
neogfx
Definition:
action.hpp:28
neogfx::layout_item_disposition::Unknown
@ Unknown
neogfx::i_layout_item_proxy::subject
virtual const i_layout_item & subject() const =0
i_geometry.hpp
neogfx::i_layout_item
Definition:
i_layout_item.hpp:43
neogfx.hpp
neogfx::i_layout_item_proxy::cached_disposition
virtual layout_item_disposition & cached_disposition() const =0
neogfx::layout
Definition:
layout.hpp:40
include
neogfx
gui
layout
i_layout_item_proxy.hpp
Generated by
1.8.20