neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_skinnable_item.hpp
Go to the documentation of this file.
1
// i_skinnable_item.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/core/geometrical.hpp
>
24
25
namespace
neogfx
26
{
27
class
i_widget;
28
29
enum class
skin_element
: uint32_t
30
{
31
ClickableArea
,
32
Scrollbar
,
33
ScrollbarUpArrow
,
34
ScrollbarLeftArrow
,
35
ScrollbarDownArrow
,
36
ScrollbarRightArrow
,
37
ScrollbarPageUpArea
,
38
ScrollbarPageLeftArea
,
39
ScrollbarPageDownArea
,
40
ScrollbarPageRightArea
,
41
ScrollbarThumb
,
42
ButtonFace
,
43
CheckBox
,
44
RadioButton
,
45
SliderTrack
,
46
SliderThumb
,
47
SpinnerUpArrow
,
48
SpinnerDownArrow
,
49
TabClose
,
50
TreeExpander
,
51
ProgressBar
,
52
Separator
,
53
Custom1
,
54
Custom2
,
55
Custom3
,
56
Custom4
,
57
Custom5
,
58
Custom6
,
59
Custom7
,
60
Custom8
,
61
Custom9
,
62
Custom10
63
};
64
65
class
i_skinnable_item
66
{
67
public
:
68
virtual
~i_skinnable_item
() =
default
;
69
public
:
70
virtual
bool
is_widget
()
const
= 0;
71
virtual
const
i_widget
&
as_widget
()
const
= 0;
72
public
:
73
virtual
rect
element_rect
(
skin_element
aElement)
const
= 0;
74
};
75
}
neogfx::basic_rect
Definition
geometrical.hpp:761
neogfx::i_skinnable_item
Definition
i_skinnable_item.hpp:66
neogfx::i_skinnable_item::as_widget
virtual const i_widget & as_widget() const =0
neogfx::i_skinnable_item::~i_skinnable_item
virtual ~i_skinnable_item()=default
neogfx::i_skinnable_item::element_rect
virtual rect element_rect(skin_element aElement) const =0
neogfx::i_skinnable_item::is_widget
virtual bool is_widget() const =0
neogfx::i_widget
Definition
i_widget.hpp:50
geometrical.hpp
neogfx
Definition
action.hpp:28
neogfx::skin_element
skin_element
Definition
i_skinnable_item.hpp:30
neogfx::skin_element::ProgressBar
@ ProgressBar
neogfx::skin_element::ScrollbarPageRightArea
@ ScrollbarPageRightArea
neogfx::skin_element::ScrollbarDownArrow
@ ScrollbarDownArrow
neogfx::skin_element::SpinnerDownArrow
@ SpinnerDownArrow
neogfx::skin_element::ScrollbarThumb
@ ScrollbarThumb
neogfx::skin_element::Custom9
@ Custom9
neogfx::skin_element::SliderTrack
@ SliderTrack
neogfx::skin_element::ClickableArea
@ ClickableArea
neogfx::skin_element::ScrollbarUpArrow
@ ScrollbarUpArrow
neogfx::skin_element::ScrollbarPageUpArea
@ ScrollbarPageUpArea
neogfx::skin_element::ScrollbarPageLeftArea
@ ScrollbarPageLeftArea
neogfx::skin_element::SliderThumb
@ SliderThumb
neogfx::skin_element::ScrollbarPageDownArea
@ ScrollbarPageDownArea
neogfx::skin_element::ScrollbarRightArrow
@ ScrollbarRightArrow
neogfx::skin_element::TabClose
@ TabClose
neogfx::skin_element::ScrollbarLeftArrow
@ ScrollbarLeftArrow
neogfx::skin_element::Custom10
@ Custom10
neogfx::skin_element::ButtonFace
@ ButtonFace
neogfx::skin_element::TreeExpander
@ TreeExpander
neogfx::skin_element::SpinnerUpArrow
@ SpinnerUpArrow
neogfx::standard_button::Custom6
@ Custom6
neogfx::standard_button::Custom8
@ Custom8
neogfx::standard_button::Custom5
@ Custom5
neogfx::standard_button::Custom7
@ Custom7
neogfx::object_type::Separator
@ Separator
neogfx::object_type::CheckBox
@ CheckBox
neogfx::object_type::RadioButton
@ RadioButton
neogfx::scrollbar_element::Scrollbar
@ Scrollbar
neogfx::vertex_buffer_type::Custom3
@ Custom3
neogfx::vertex_buffer_type::Custom2
@ Custom2
neogfx::vertex_buffer_type::Custom4
@ Custom4
neogfx::vertex_buffer_type::Custom1
@ Custom1
neogfx.hpp
include
neogfx
gui
widget
i_skinnable_item.hpp
Generated by
1.9.8