malena
Why malena
Quick start
Tutorials
API docs
GitHub
GitHub
Tutorials
Loading...
Searching...
No Matches
Traits
Settings
SideMenuSettings.h
Go to the documentation of this file.
1
// SideMenuSettings.h
2
#ifndef MALENA_SIDEMENUSETTINGS_H
3
#define MALENA_SIDEMENUSETTINGS_H
4
#pragma once
5
#include <
Malena/Core/malena_export.h
>
6
#include <
Malena/Traits/Settings/ControlSettings.h
>
7
8
namespace
ml
9
{
10
struct
SideMenuSettings
:
ControlSettings
11
{
12
enum class
Mode
{
OVERLAY
,
PUSH
};
13
enum class
Anchor
{
LEFT
,
RIGHT
};
14
15
Mode
mode
=
Mode::OVERLAY
;
16
Anchor
anchor
=
Anchor::LEFT
;
17
float
panelWidth
= 280.f;
18
float
panelHeight
= 0.f;
19
float
animDuration
= 0.25f;
20
float
hamburgerSize
= 48.f;
21
22
SideMenuSettings
&
operator=
(
const
ControlSettings
& c)
23
{
static_cast<
ControlSettings
&
>
(*this) = c;
return
*
this
; }
24
SideMenuSettings
&
operator=
(
const
GraphicSettings
& g)
25
{
static_cast<
ControlSettings
&
>
(*this) = g;
return
*
this
; }
26
27
void
setMode
(
Mode
m) {
mode
= m; }
28
void
setAnchor
(
Anchor
a) {
anchor
= a; }
29
void
setPanelWidth
(
float
w) {
panelWidth
= w; }
30
void
setPanelHeight
(
float
h) {
panelHeight
= h; }
31
void
setAnimDuration
(
float
d) {
animDuration
= d; }
32
void
setHamburgerSize
(
float
s) {
hamburgerSize
= s; }
33
};
34
}
// namespace ml
35
#endif
ControlSettings.h
malena_export.h
ml
Definition
Component.h:22
ml::ControlSettings
Settings trait for interactive UI controls — layout only.
Definition
ControlSettings.h:24
ml::GraphicSettings
Base settings trait for all visual components — geometry only.
Definition
GraphicSettings.h:35
ml::SideMenuSettings
Definition
SideMenuSettings.h:11
ml::SideMenuSettings::mode
Mode mode
Definition
SideMenuSettings.h:15
ml::SideMenuSettings::setAnchor
void setAnchor(Anchor a)
Definition
SideMenuSettings.h:28
ml::SideMenuSettings::anchor
Anchor anchor
Definition
SideMenuSettings.h:16
ml::SideMenuSettings::setPanelWidth
void setPanelWidth(float w)
Definition
SideMenuSettings.h:29
ml::SideMenuSettings::operator=
SideMenuSettings & operator=(const GraphicSettings &g)
Definition
SideMenuSettings.h:24
ml::SideMenuSettings::Anchor
Anchor
Definition
SideMenuSettings.h:13
ml::SideMenuSettings::Anchor::RIGHT
@ RIGHT
Definition
SideMenuSettings.h:13
ml::SideMenuSettings::Anchor::LEFT
@ LEFT
Definition
SideMenuSettings.h:13
ml::SideMenuSettings::Mode
Mode
Definition
SideMenuSettings.h:12
ml::SideMenuSettings::Mode::OVERLAY
@ OVERLAY
Definition
SideMenuSettings.h:12
ml::SideMenuSettings::Mode::PUSH
@ PUSH
Definition
SideMenuSettings.h:12
ml::SideMenuSettings::setAnimDuration
void setAnimDuration(float d)
Definition
SideMenuSettings.h:31
ml::SideMenuSettings::setMode
void setMode(Mode m)
Definition
SideMenuSettings.h:27
ml::SideMenuSettings::operator=
SideMenuSettings & operator=(const ControlSettings &c)
Definition
SideMenuSettings.h:22
ml::SideMenuSettings::hamburgerSize
float hamburgerSize
hit-area square
Definition
SideMenuSettings.h:20
ml::SideMenuSettings::animDuration
float animDuration
seconds
Definition
SideMenuSettings.h:19
ml::SideMenuSettings::setHamburgerSize
void setHamburgerSize(float s)
Definition
SideMenuSettings.h:32
ml::SideMenuSettings::panelHeight
float panelHeight
0 = use window height
Definition
SideMenuSettings.h:18
ml::SideMenuSettings::panelWidth
float panelWidth
Definition
SideMenuSettings.h:17
ml::SideMenuSettings::setPanelHeight
void setPanelHeight(float h)
Definition
SideMenuSettings.h:30