Loading...
Searching...
No Matches
ml::ScrollPaneManifest Class Reference

#include <Malena/Graphics/Controls/ScrollPaneManifest.h>

Inheritance diagram for ml::ScrollPaneManifest:
[legend]

Public Types

enum class  Flag { VERTICAL , HORIZONTAL , DIRTY }
enum class  State { IDLE , SCROLLING }

Static Public Member Functions

template<typename ConfigType, typename ValueType>
static const ValueType & getConfig (ConfigType config)
template<typename Asset>
static const std::string & getFilepath (const Asset &asset)
template<typename EnumType>
static const ThemeTaggetTheme (EnumType key)
 Retrieve a theme stored via set(key, ThemeDerived{}).

Static Protected Member Functions

template<typename E, typename V, typename... Args>
static void set (E key, V &&value, Args &&... args)
 Register multiple key-value pairs in one call.
template<typename EnumType>
static void set (EnumType key, const char *filepath)
 Register an asset file path.
template<typename EnumType>
static void set (EnumType key, std::string value)
 Register a string configuration value.
template<typename EnumType, typename T>
static std::enable_if_t< std::is_base_of_v< ThemeTag, std::decay_t< T > > > set (EnumType key, T &&value)
 Register a Theme-derived value.
template<typename EnumType, typename ValueType>
static std::enable_if_t< !std::is_same_v< std::decay_t< ValueType >, const char * > &&!std::is_same_v< std::decay_t< ValueType >, std::string > &&!std::is_base_of_v< ThemeTag, std::decay_t< ValueType > > > set (EnumType key, ValueType &&value)
 Register a typed configuration value (int, float, struct, etc.).

Detailed Description

Definition at line 9 of file ScrollPaneManifest.h.

Member Enumeration Documentation

◆ Flag

enum class ml::ScrollPaneManifest::Flag
strong
Enumerator
VERTICAL 
HORIZONTAL 
DIRTY 

Definition at line 13 of file ScrollPaneManifest.h.

◆ State

enum class ml::ScrollPaneManifest::State
strong
Enumerator
IDLE 
SCROLLING 

Definition at line 12 of file ScrollPaneManifest.h.

Member Function Documentation

◆ getConfig()

template<typename ConfigType, typename ValueType>
const ValueType & ml::Manifest::getConfig ( ConfigType config)
staticinherited

◆ getFilepath()

template<typename Asset>
const std::string & ml::Manifest::getFilepath ( const Asset & asset)
staticinherited

◆ getTheme()

template<typename EnumType>
const ThemeTag & ml::Manifest::getTheme ( EnumType key)
staticinherited

Retrieve a theme stored via set(key, ThemeDerived{}).

Called internally by ThemeManager::apply(). Returns a reference to the stored theme cast to ThemeTagThemeManager casts to Theme& from there.

◆ set() [1/5]

template<typename E, typename V, typename... Args>
void ml::Manifest::set ( E key,
V && value,
Args &&... args )
staticprotectedinherited

Register multiple key-value pairs in one call.

◆ set() [2/5]

template<typename EnumType>
void ml::Manifest::set ( EnumType key,
const char * filepath )
staticprotectedinherited

Register an asset file path.

◆ set() [3/5]

template<typename EnumType>
void ml::Manifest::set ( EnumType key,
std::string value )
staticprotectedinherited

Register a string configuration value.

◆ set() [4/5]

template<typename EnumType, typename T>
std::enable_if_t< std::is_base_of_v< ThemeTag, std::decay_t< T > > > ml::Manifest::set ( EnumType key,
T && value )
staticprotectedinherited

Register a Theme-derived value.

Stored as shared_ptr<ThemeTag> so Theme.h is not needed in Manifest.tpp. ThemeManager::apply() casts back to Theme&.

◆ set() [5/5]

template<typename EnumType, typename ValueType>
std::enable_if_t< !std::is_same_v< std::decay_t< ValueType >, const char * > &&!std::is_same_v< std::decay_t< ValueType >, std::string > &&!std::is_base_of_v< ThemeTag, std::decay_t< ValueType > > > ml::Manifest::set ( EnumType key,
ValueType && value )
staticprotectedinherited

Register a typed configuration value (int, float, struct, etc.).

Excludes const char*, std::string, and ThemeTag-derived types — those are handled by their own overloads.


The documentation for this class was generated from the following file: