Minetest 5.9.0-dev
 
Loading...
Searching...
No Matches
guiScrollContainer.h
Go to the documentation of this file.
1/*
2Minetest
3Copyright (C) 2020 DS
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation; either version 2.1 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License along
16with this program; if not, write to the Free Software Foundation, Inc.,
1751 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#pragma once
21
23#include "util/string.h"
24#include "guiScrollBar.h"
25
26class GUIScrollContainer : public gui::IGUIElement
27{
28public:
29 GUIScrollContainer(gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id,
30 const core::rect<s32> &rectangle, const std::string &orientation,
31 f32 scrollfactor);
32
33 virtual bool OnEvent(const SEvent &event) override;
34
35 virtual void draw() override;
36
37 inline void onScrollEvent(gui::IGUIElement *caller)
38 {
39 if (caller == m_scrollbar)
41 }
42
43 inline void setScrollBar(GUIScrollBar *scrollbar)
44 {
45 m_scrollbar = scrollbar;
47 }
48
49private:
51 {
55 };
56
60
61 void updateScrolling();
62};
Definition: guiScrollBar.h:24
Definition: guiScrollContainer.h:27
void setScrollBar(GUIScrollBar *scrollbar)
Definition: guiScrollContainer.h:43
GUIScrollBar * m_scrollbar
Definition: guiScrollContainer.h:57
void updateScrolling()
Definition: guiScrollContainer.cpp:70
virtual bool OnEvent(const SEvent &event) override
Definition: guiScrollContainer.cpp:36
virtual void draw() override
Definition: guiScrollContainer.cpp:59
void onScrollEvent(gui::IGUIElement *caller)
Definition: guiScrollContainer.h:37
OrientationEnum
Definition: guiScrollContainer.h:51
@ VERTICAL
Definition: guiScrollContainer.h:52
@ HORIZONTAL
Definition: guiScrollContainer.h:53
@ UNDEFINED
Definition: guiScrollContainer.h:54
OrientationEnum m_orientation
Definition: guiScrollContainer.h:58
f32 m_scrollfactor
Definition: guiScrollContainer.h:59