Luanti
5.10.0-dev
Loading...
Searching...
No Matches
guiScrollContainer.h
Go to the documentation of this file.
1
// Luanti
2
// SPDX-License-Identifier: LGPL-2.1-or-later
3
// Copyright (C) 2020 DS
4
5
#pragma once
6
7
#include "
irrlichttypes_extrabloated.h
"
8
#include "
util/string.h
"
9
#include "
guiScrollBar.h
"
10
11
class
GUIScrollContainer
:
public
gui::IGUIElement
12
{
13
public
:
14
GUIScrollContainer
(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32
id
,
15
const
core::rect<s32> &rectangle,
const
std::string &orientation,
16
f32 scrollfactor);
17
18
virtual
bool
OnEvent
(
const
SEvent &event)
override
;
19
20
virtual
void
draw
()
override
;
21
22
inline
void
setContentPadding
(std::optional<s32> padding)
23
{
24
m_content_padding_px
= padding;
25
}
26
27
inline
void
onScrollEvent
(gui::IGUIElement *caller)
28
{
29
if
(caller ==
m_scrollbar
)
30
updateScrolling
();
31
}
32
33
void
setScrollBar
(
GUIScrollBar
*scrollbar);
34
35
private
:
36
enum
OrientationEnum
37
{
38
VERTICAL
,
39
HORIZONTAL
,
40
UNDEFINED
41
};
42
43
GUIScrollBar
*
m_scrollbar
;
44
OrientationEnum
m_orientation
;
45
f32
m_scrollfactor
;
//< scrollbar pos * scrollfactor = scroll offset in pixels
46
std::optional<s32>
m_content_padding_px
;
//< in pixels
47
48
void
updateScrolling
();
49
};
GUIScrollBar
Definition
guiScrollBar.h:24
GUIScrollContainer
Definition
guiScrollContainer.h:12
GUIScrollContainer::GUIScrollContainer
GUIScrollContainer(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id, const core::rect< s32 > &rectangle, const std::string &orientation, f32 scrollfactor)
Definition
guiScrollContainer.cpp:7
GUIScrollContainer::setContentPadding
void setContentPadding(std::optional< s32 > padding)
Definition
guiScrollContainer.h:22
GUIScrollContainer::setScrollBar
void setScrollBar(GUIScrollBar *scrollbar)
Definition
guiScrollContainer.cpp:55
GUIScrollContainer::m_scrollbar
GUIScrollBar * m_scrollbar
Definition
guiScrollContainer.h:43
GUIScrollContainer::updateScrolling
void updateScrolling()
Definition
guiScrollContainer.cpp:99
GUIScrollContainer::OnEvent
virtual bool OnEvent(const SEvent &event) override
Definition
guiScrollContainer.cpp:21
GUIScrollContainer::draw
virtual void draw() override
Definition
guiScrollContainer.cpp:44
GUIScrollContainer::onScrollEvent
void onScrollEvent(gui::IGUIElement *caller)
Definition
guiScrollContainer.h:27
GUIScrollContainer::OrientationEnum
OrientationEnum
Definition
guiScrollContainer.h:37
GUIScrollContainer::VERTICAL
@ VERTICAL
Definition
guiScrollContainer.h:38
GUIScrollContainer::HORIZONTAL
@ HORIZONTAL
Definition
guiScrollContainer.h:39
GUIScrollContainer::UNDEFINED
@ UNDEFINED
Definition
guiScrollContainer.h:40
GUIScrollContainer::m_content_padding_px
std::optional< s32 > m_content_padding_px
Definition
guiScrollContainer.h:46
GUIScrollContainer::m_orientation
OrientationEnum m_orientation
Definition
guiScrollContainer.h:44
GUIScrollContainer::m_scrollfactor
f32 m_scrollfactor
Definition
guiScrollContainer.h:45
guiScrollBar.h
irrlichttypes_extrabloated.h
string.h
gui
guiScrollContainer.h
Generated on Fri Nov 1 2024 10:48:59 for Luanti by
1.11.0