Luanti 5.15.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 "guiScrollBar.h"
8
9class GUIScrollContainer : public gui::IGUIElement
10{
11public:
12 GUIScrollContainer(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
13 const core::rect<s32> &rectangle, const std::string &orientation,
14 f32 scrollfactor);
15
16 virtual bool OnEvent(const SEvent &event) override;
17
18 virtual void draw() override;
19
20 inline void setContentPadding(std::optional<s32> padding)
21 {
22 m_content_padding_px = padding;
23 }
24
25 inline void onScrollEvent(gui::IGUIElement *caller)
26 {
27 if (caller == m_scrollbar)
29 }
30
31 void setScrollBar(GUIScrollBar *scrollbar);
32 void updateScrolling();
33
34private:
41
44 f32 m_scrollfactor; //< scrollbar pos * scrollfactor = scroll offset in pixels
45 std::optional<s32> m_content_padding_px; //< in pixels
46
47};
Definition guiScrollBar.h:25
Definition guiScrollContainer.h:10
GUIScrollContainer(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id, const core::rect< s32 > &rectangle, const std::string &orientation, f32 scrollfactor)
Definition guiScrollContainer.cpp:7
void setContentPadding(std::optional< s32 > padding)
Definition guiScrollContainer.h:20
void setScrollBar(GUIScrollBar *scrollbar)
Definition guiScrollContainer.cpp:55
GUIScrollBar * m_scrollbar
Definition guiScrollContainer.h:42
void updateScrolling()
Definition guiScrollContainer.cpp:97
virtual bool OnEvent(const SEvent &event) override
Definition guiScrollContainer.cpp:21
virtual void draw() override
Definition guiScrollContainer.cpp:44
void onScrollEvent(gui::IGUIElement *caller)
Definition guiScrollContainer.h:25
OrientationEnum
Definition guiScrollContainer.h:36
@ VERTICAL
Definition guiScrollContainer.h:37
@ HORIZONTAL
Definition guiScrollContainer.h:38
@ UNDEFINED
Definition guiScrollContainer.h:39
std::optional< s32 > m_content_padding_px
Definition guiScrollContainer.h:45
OrientationEnum m_orientation
Definition guiScrollContainer.h:43
f32 m_scrollfactor
Definition guiScrollContainer.h:44