neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_layout_item_cache.hpp
Go to the documentation of this file.
1
// i_layout_item_cache.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
struct
layout_item_cache_subject_destroyed
: std::logic_error {
layout_item_cache_subject_destroyed
() : std::logic_error{
"neogfx::layout_item_cache_subject_destroyed"
} {} };
38
39
class
i_layout_item_cache
:
public
i_layout_item
40
{
41
friend
class
layout
;
42
public
:
43
typedef
i_layout_item_cache
abstract_type
;
44
public
:
45
virtual
i_layout_item
&
subject
()
const
= 0;
46
virtual
bool
subject_destroyed
()
const
= 0;
47
public
:
48
virtual
layout_item_disposition
&
cached_disposition
()
const
= 0;
49
};
50
}
neogfx::i_layout_item_cache
Definition
i_layout_item_cache.hpp:40
neogfx::i_layout_item_cache::subject_destroyed
virtual bool subject_destroyed() const =0
neogfx::i_layout_item_cache::cached_disposition
virtual layout_item_disposition & cached_disposition() const =0
neogfx::i_layout_item_cache::subject
virtual i_layout_item & subject() const =0
neogfx::i_layout_item_cache::abstract_type
i_layout_item_cache abstract_type
Definition
i_layout_item_cache.hpp:43
neogfx::i_layout_item
Definition
i_layout_item.hpp:56
neogfx::layout
Definition
layout.hpp:40
i_geometry.hpp
i_layout_item.hpp
neogfx
Definition
action.hpp:28
neogfx::audio_stream_format::Unknown
@ Unknown
neogfx::layout_item_disposition
layout_item_disposition
Definition
i_layout_item_cache.hpp:29
neogfx::layout_item_disposition::Weighted
@ Weighted
neogfx::layout_item_disposition::FixedSize
@ FixedSize
neogfx::layout_item_disposition::Unweighted
@ Unweighted
neogfx::layout_item_disposition::TooSmall
@ TooSmall
neogfx.hpp
neogfx::layout_item_cache_subject_destroyed
Definition
i_layout_item_cache.hpp:37
neogfx::layout_item_cache_subject_destroyed::layout_item_cache_subject_destroyed
layout_item_cache_subject_destroyed()
Definition
i_layout_item_cache.hpp:37
include
neogfx
gui
layout
i_layout_item_cache.hpp
Generated by
1.9.8