5#ifndef MALENA_SIDEMENU_H
6#define MALENA_SIDEMENU_H
30 enum class State { CLOSED, OPEN, ANIMATING };
92 float _currentX = 0.f;
94 bool _animating =
false;
97 std::function<void()> _onOpenCb;
98 std::function<void()> _onCloseCb;
101 float closedX()
const;
103 float resolvedHeight()
const;
104 void updatePanelTransform();
122 static_assert(std::is_base_of_v<SideMenuSettings, S>,
123 "applySettings() requires a type derived from SideMenuSettings");
125 updatePanelTransform();
131 static_assert(std::is_base_of_v<SideMenuTheme, T>,
132 "applyTheme() requires a type derived from SideMenuTheme");
138 template<
typename St>
141 static_assert(std::is_base_of_v<SideMenuSettings, St> &&
142 std::is_base_of_v<SideMenuTheme, St>,
143 "applyStyle() requires SideMenuSettings and SideMenuTheme");
148 updatePanelTransform();
194 template<
typename MANIFEST>
Virtual base class for all Malena framework objects.
static const sf::Font & getDefault()
Return the built-in Arial font.
A vertically stacked list of rows with optional dividers and background.
Base class for all Malena manifests.
Component< M, Traits... > ComponentWith
Alias for Component<M, Traits...>.
Vector2< float > Vector2f
void setFillColor(const sf::Color &c)
Universal design token set applied across all Themeable components.