malena
Why malena
Quick start
Tutorials
API docs
GitHub
GitHub
Tutorials
Loading...
Searching...
No Matches
Traits
Theme
MenuBarTheme.h
Go to the documentation of this file.
1
// MenuBarTheme.h
2
#ifndef MALENA_MENUBARTHEME_H
3
#define MALENA_MENUBARTHEME_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
MenuBarTheme
:
ControlTheme
11
{
12
sf::Color
barBg
=
sf::Color
(28, 28, 36);
13
sf::Color
entryHoverBg
=
sf::Color
(255, 255, 255, 20);
14
sf::Color
entryOpenBg
=
sf::Color
(255, 255, 255, 30);
15
sf::Color
dropdownBg
=
sf::Color
(35, 35, 45);
16
sf::Color
dropdownBorder
=
sf::Color
(70, 70, 90);
17
sf::Color
separatorColor
=
sf::Color
(70, 70, 90);
18
sf::Color
shortcutColor
=
sf::Color
(140, 140, 160);
19
sf::Color
checkmarkColor
=
sf::Color
(70, 130, 230);
20
sf::Color
itemHoverBg
=
sf::Color
(70, 130, 230, 60);
21
sf::Color
itemDisabledColor
=
sf::Color
(100, 100, 120);
22
23
MenuBarTheme
&
applyFrom
(
const
Theme
& t)
override
24
{
25
ControlTheme::applyFrom
(t);
26
barBg
=
sf::Color
(
27
std::max(0, t.
surface
.
r
- 8),
28
std::max(0, t.
surface
.
g
- 8),
29
std::max(0, t.
surface
.
b
- 8));
30
entryHoverBg
=
sf::Color
(t.
onSurface
.
r
, t.
onSurface
.
g
, t.
onSurface
.
b
, 20);
31
entryOpenBg
=
sf::Color
(t.
onSurface
.
r
, t.
onSurface
.
g
, t.
onSurface
.
b
, 30);
32
dropdownBg
= t.
surface
;
33
dropdownBorder
= t.
border
;
34
separatorColor
= t.
border
;
35
shortcutColor
= t.
muted
;
36
checkmarkColor
= t.
primary
;
37
itemHoverBg
=
sf::Color
(t.
primary
.
r
, t.
primary
.
g
, t.
primary
.
b
, 60);
38
itemDisabledColor
= t.
onDisabled
;
39
return
*
this
;
40
}
41
MenuBarTheme
&
operator=
(
const
ControlTheme
& c)
42
{
static_cast<
ControlTheme
&
>
(*this) = c;
return
*
this
; }
43
MenuBarTheme
&
operator=
(
const
GraphicTheme
& g)
44
{
static_cast<
ControlTheme
&
>
(*this) = g;
return
*
this
; }
45
};
46
}
// namespace ml
47
#endif
ControlTheme.h
sf::Color
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::MenuBarTheme
Definition
MenuBarTheme.h:11
ml::MenuBarTheme::entryHoverBg
sf::Color entryHoverBg
Definition
MenuBarTheme.h:13
ml::MenuBarTheme::applyFrom
MenuBarTheme & applyFrom(const Theme &t) override
Populate all fields from the global Theme token set.
Definition
MenuBarTheme.h:23
ml::MenuBarTheme::itemDisabledColor
sf::Color itemDisabledColor
Definition
MenuBarTheme.h:21
ml::MenuBarTheme::checkmarkColor
sf::Color checkmarkColor
Definition
MenuBarTheme.h:19
ml::MenuBarTheme::separatorColor
sf::Color separatorColor
Definition
MenuBarTheme.h:17
ml::MenuBarTheme::shortcutColor
sf::Color shortcutColor
Definition
MenuBarTheme.h:18
ml::MenuBarTheme::dropdownBorder
sf::Color dropdownBorder
Definition
MenuBarTheme.h:16
ml::MenuBarTheme::itemHoverBg
sf::Color itemHoverBg
Definition
MenuBarTheme.h:20
ml::MenuBarTheme::operator=
MenuBarTheme & operator=(const ControlTheme &c)
Definition
MenuBarTheme.h:41
ml::MenuBarTheme::barBg
sf::Color barBg
Definition
MenuBarTheme.h:12
ml::MenuBarTheme::operator=
MenuBarTheme & operator=(const GraphicTheme &g)
Definition
MenuBarTheme.h:43
ml::MenuBarTheme::dropdownBg
sf::Color dropdownBg
Definition
MenuBarTheme.h:15
ml::MenuBarTheme::entryOpenBg
sf::Color entryOpenBg
Definition
MenuBarTheme.h:14
ml::Theme
Universal design token set applied across all Themeable components.
Definition
Theme.h:70
ml::Theme::border
sf::Color border
Definition
Theme.h:98
ml::Theme::primary
sf::Color primary
Definition
Theme.h:74
ml::Theme::onSurface
sf::Color onSurface
Definition
Theme.h:86
ml::Theme::muted
sf::Color muted
Definition
Theme.h:95
ml::Theme::onDisabled
sf::Color onDisabled
Definition
Theme.h:113
ml::Theme::surface
sf::Color surface
Definition
Theme.h:80