malena
Why malena
Quick start
Tutorials
API docs
GitHub
GitHub
Tutorials
Loading...
Searching...
No Matches
Traits
Theme
SideMenuTheme.h
Go to the documentation of this file.
1
// SideMenuTheme.h
2
#ifndef MALENA_SIDEMENUTHEME_H
3
#define MALENA_SIDEMENUTHEME_H
4
#pragma once
5
#include <
Malena/Core/malena_export.h
>
6
#include <
Malena/Traits/Theme/ControlTheme.h
>
7
8
namespace
ml
9
{
10
struct
SideMenuTheme
:
ControlTheme
11
{
12
sf::Color
panelBg
=
sf::Color
(28, 28, 36);
13
sf::Color
backdropColor
=
sf::Color
(0, 0, 0, 160);
14
sf::Color
hamburgerColor
=
sf::Color
(220, 220, 220);
15
sf::Color
hamburgerBg
=
sf::Color::Transparent
;
16
17
SideMenuTheme
&
applyFrom
(
const
Theme
& t)
override
18
{
19
ControlTheme::applyFrom
(t);
20
panelBg
=
sf::Color
(
21
std::max(0, t.
surface
.
r
- 8),
22
std::max(0, t.
surface
.
g
- 8),
23
std::max(0, t.
surface
.
b
- 8));
24
hamburgerColor
= t.
onSurface
;
25
return
*
this
;
26
}
27
SideMenuTheme
&
operator=
(
const
ControlTheme
& c)
28
{
static_cast<
ControlTheme
&
>
(*this) = c;
return
*
this
; }
29
SideMenuTheme
&
operator=
(
const
GraphicTheme
& g)
30
{
static_cast<
ControlTheme
&
>
(*this) = g;
return
*
this
; }
31
32
void
setPanelBg
(
const
sf::Color
& c) {
panelBg
= c; }
33
void
setBackdropColor
(
const
sf::Color
& c) {
backdropColor
= c; }
34
void
setHamburgerColor
(
const
sf::Color
& c) {
hamburgerColor
= c; }
35
void
setHamburgerBg
(
const
sf::Color
& c) {
hamburgerBg
= c; }
36
};
37
}
// namespace ml
38
#endif
ControlTheme.h
sf::Color
sf::Color::Transparent
static const Color Transparent
sf::Color::b
std::uint8_t b
sf::Color::g
std::uint8_t g
sf::Color::r
std::uint8_t r
malena_export.h
ml
Definition
Component.h:22
ml::ControlTheme
Theme tokens for interactive UI controls.
Definition
ControlTheme.h:29
ml::ControlTheme::applyFrom
ControlTheme & applyFrom(const Theme &t) override
Populate all fields from the global Theme token set.
Definition
ControlTheme.h:45
ml::GraphicTheme
Theme tokens for all visual components.
Definition
GraphicTheme.h:42
ml::SideMenuTheme
Definition
SideMenuTheme.h:11
ml::SideMenuTheme::backdropColor
sf::Color backdropColor
Definition
SideMenuTheme.h:13
ml::SideMenuTheme::applyFrom
SideMenuTheme & applyFrom(const Theme &t) override
Populate all fields from the global Theme token set.
Definition
SideMenuTheme.h:17
ml::SideMenuTheme::operator=
SideMenuTheme & operator=(const ControlTheme &c)
Definition
SideMenuTheme.h:27
ml::SideMenuTheme::setHamburgerBg
void setHamburgerBg(const sf::Color &c)
Definition
SideMenuTheme.h:35
ml::SideMenuTheme::operator=
SideMenuTheme & operator=(const GraphicTheme &g)
Definition
SideMenuTheme.h:29
ml::SideMenuTheme::setHamburgerColor
void setHamburgerColor(const sf::Color &c)
Definition
SideMenuTheme.h:34
ml::SideMenuTheme::hamburgerColor
sf::Color hamburgerColor
Definition
SideMenuTheme.h:14
ml::SideMenuTheme::setPanelBg
void setPanelBg(const sf::Color &c)
Definition
SideMenuTheme.h:32
ml::SideMenuTheme::panelBg
sf::Color panelBg
Definition
SideMenuTheme.h:12
ml::SideMenuTheme::setBackdropColor
void setBackdropColor(const sf::Color &c)
Definition
SideMenuTheme.h:33
ml::SideMenuTheme::hamburgerBg
sf::Color hamburgerBg
Definition
SideMenuTheme.h:15
ml::Theme
Universal design token set applied across all Themeable components.
Definition
Theme.h:70
ml::Theme::onSurface
sf::Color onSurface
Definition
Theme.h:86
ml::Theme::surface
sf::Color surface
Definition
Theme.h:80