Loading...
Searching...
No Matches
ml::PillStyle Struct Reference

Complete style descriptor for PillToggle. More...

#include <Malena/Traits/Style/PillStyle.h>

Inheritance diagram for ml::PillStyle:
[legend]

Public Member Functions

void addItem (const std::string &label, const std::string &key)
PillStyleapplyFrom (const Theme &t)
 Populate all fields from the global Theme token set.
void clearItems ()
sf::Color getActiveColor () const
sf::Color getActiveTextColor () const
float getAnimSpeed () const
sf::Color getDisabledColor () const
sf::Color getDisabledTextColor () const
sf::Color getErrorColor () const
sf::Color getFillColor () const
sf::Color getFocusColor () const
const sf::FontgetFont () const
unsigned int getFontSize () const
unsigned int getFontSizeSmall () const
sf::Color getHoverColor () const
sf::Color getInactiveColor () const
const std::vector< std::pair< std::string, std::string > > & getItems () const
float getLabelOffset () const
std::string getLeftLabel () const
sf::Color getMutedColor () const
sf::Color getOutlineColor () const
float getOutlineThickness () const
float getPadding () const
sf::Color getPillLabelActiveColor () const
sf::Color getPillLabelInactiveColor () const
std::string getPillOffLabel () const
std::string getPillOnLabel () const
float getRadius () const
std::string getRightLabel () const
sf::Color getTextColor () const
sf::Color getThumbColor () const
sf::Color getThumbDisabledColor () const
float getThumbMargin () const
sf::Color getTrackOffColor () const
sf::Color getTrackOnColor () const
sf::Vector2f getTrackSize () const
PillStyleoperator= (const ControlSettings &c)
PillStyleoperator= (const ControlTheme &c)
PillStyleoperator= (const GraphicTheme &g)
PillStyleoperator= (const PillSettings &s)
PillStyleoperator= (const PillTheme &t)
PillStyleoperator= (const ToggleSettings &t)
PillStyleoperator= (const ToggleTheme &t)
void setActiveColor (const sf::Color &c)
void setActiveTextColor (const sf::Color &c)
void setAnimSpeed (float s)
void setDisabledColor (const sf::Color &c)
void setDisabledTextColor (const sf::Color &c)
void setErrorColor (const sf::Color &c)
void setFillColor (const sf::Color &c)
void setFocusColor (const sf::Color &c)
void setFont (const sf::Font &&)=delete
void setFont (const sf::Font &f)
void setFontSize (unsigned int s)
void setFontSizeSmall (unsigned int s)
void setHoverColor (const sf::Color &c)
void setInactiveColor (const sf::Color &c)
void setItems (std::vector< std::pair< std::string, std::string > > i)
void setLabelOffset (float o)
void setLeftLabel (const std::string &s)
void setMutedColor (const sf::Color &c)
void setOutlineColor (const sf::Color &c)
void setOutlineThickness (float t)
void setPadding (float p)
void setPillLabelActiveColor (const sf::Color &c)
void setPillLabelInactiveColor (const sf::Color &c)
void setPillLabels (const std::string &off, const std::string &on)
void setPillOffLabel (const std::string &s)
void setPillOnLabel (const std::string &s)
void setRadius (float r)
void setRightLabel (const std::string &s)
void setTextColor (const sf::Color &c)
void setThumbColor (const sf::Color &c)
void setThumbDisabledColor (const sf::Color &c)
void setThumbMargin (float m)
void setTrackOffColor (const sf::Color &c)
void setTrackOnColor (const sf::Color &c)
void setTrackSize (const sf::Vector2f &s)

Public Attributes

sf::Color activeColor = sf::Color(100, 60, 200)
sf::Color activeTextColor = sf::Color::White
float animSpeed = 10.f
sf::Color disabledColor = sf::Color(60, 60, 60)
sf::Color disabledTextColor = sf::Color(120, 120, 120)
sf::Color errorColor = sf::Color(220, 70, 70)
sf::Color fillColor = sf::Color(40, 40, 40)
sf::Color focusColor = sf::Color(100, 60, 200)
const sf::Fontfont = &FontManager<>::getDefault()
unsigned int fontSize = 14
unsigned int fontSizeSmall = 11
sf::Color hoverColor = sf::Color(70, 130, 230)
sf::Color inactiveColor = sf::Color(40, 40, 40)
std::vector< std::pair< std::string, std::string > > items
float labelOffset = 8.f
std::string leftLabel
sf::Color mutedColor = sf::Color(120, 120, 120)
sf::Color outlineColor = sf::Color(100, 100, 100)
float outlineThickness = 1.5f
float padding = 8.f
sf::Color pillLabelActiveColor = sf::Color::White
sf::Color pillLabelInactiveColor = sf::Color(200, 200, 200, 180)
std::string pillOffLabel
std::string pillOnLabel
float radius = 8.f
std::string rightLabel
sf::Color textColor = sf::Color::White
sf::Color thumbColor = sf::Color::White
sf::Color thumbDisabledColor = sf::Color(220, 220, 220)
float thumbMargin = 2.f
sf::Color trackOffColor = sf::Color(120, 120, 120)
sf::Color trackOnColor = sf::Color(100, 60, 200)
sf::Vector2f trackSize = {44.f, 24.f}

Detailed Description

Complete style descriptor for PillToggle.

Combines PillSettings (layout/behaviour) and PillTheme (colors) into one struct. Use when you want to describe a toggle's full appearance in one place — in a manifest, a factory, or a design system.

The Settings/Theme split is preserved: ThemeManager only ever touches the PillTheme layer. Geometry and label fields are unaffected by theme changes.

Usage — manifest

set(Styles::MainToggle, ml::PillStyle{
.trackOnColor = sf::Color(70, 200, 100), // PillTheme
.trackSize = {56.f, 28.f}, // PillSettings
});
pill.applyStyle(Resources::resource(Styles::MainToggle));
Complete style descriptor for PillToggle.
Definition PillStyle.h:59

Usage — inline struct

struct GreenPill : ml::PillStyle {
GreenPill() {
trackOnColor = sf::Color(70, 200, 100);
setTrackSize({56.f, 28.f});
setPillLabels("OFF", "ON");
}
};
pill.applyStyle(GreenPill{});
void setTrackSize(const sf::Vector2f &s)
void setPillLabels(const std::string &off, const std::string &on)
sf::Color trackOnColor
Definition PillTheme.h:49

Usage — assign individual layers

style = myPillTheme; // theme layer only
style = myPillSettings; // settings layer only
See also
PillSettings, PillTheme, PillToggle

Definition at line 58 of file PillStyle.h.

Member Function Documentation

◆ addItem()

void ml::ToggleSettings::addItem ( const std::string & label,
const std::string & key )
inlineinherited

Definition at line 57 of file ToggleSettings.h.

◆ applyFrom()

PillStyle & ml::PillStyle::applyFrom ( const Theme & t)
inlinevirtual

Populate all fields from the global Theme token set.

Subclasses call GraphicTheme::applyFrom(t) first, then apply their own token mappings.

Reimplemented from ml::ControlTheme.

Definition at line 85 of file PillStyle.h.

◆ clearItems()

void ml::ToggleSettings::clearItems ( )
inlineinherited

Definition at line 60 of file ToggleSettings.h.

◆ getActiveColor()

sf::Color ml::ToggleTheme::getActiveColor ( ) const
inlinenodiscardinherited

Definition at line 63 of file ToggleTheme.h.

◆ getActiveTextColor()

sf::Color ml::ToggleTheme::getActiveTextColor ( ) const
inlinenodiscardinherited

Definition at line 65 of file ToggleTheme.h.

◆ getAnimSpeed()

float ml::ToggleSettings::getAnimSpeed ( ) const
inlinenodiscardinherited

Definition at line 48 of file ToggleSettings.h.

◆ getDisabledColor()

sf::Color ml::ControlTheme::getDisabledColor ( ) const
inlinenodiscardinherited

Definition at line 75 of file ControlTheme.h.

◆ getDisabledTextColor()

sf::Color ml::ControlTheme::getDisabledTextColor ( ) const
inlinenodiscardinherited

Definition at line 76 of file ControlTheme.h.

◆ getErrorColor()

sf::Color ml::ControlTheme::getErrorColor ( ) const
inlinenodiscardinherited

Definition at line 74 of file ControlTheme.h.

◆ getFillColor()

sf::Color ml::GraphicTheme::getFillColor ( ) const
inlinenodiscardinherited

Definition at line 67 of file GraphicTheme.h.

◆ getFocusColor()

sf::Color ml::ControlTheme::getFocusColor ( ) const
inlinenodiscardinherited

Definition at line 73 of file ControlTheme.h.

◆ getFont()

const sf::Font * ml::ControlTheme::getFont ( ) const
inlinenodiscardinherited

Definition at line 80 of file ControlTheme.h.

◆ getFontSize()

unsigned int ml::ControlTheme::getFontSize ( ) const
inlinenodiscardinherited

Definition at line 81 of file ControlTheme.h.

◆ getFontSizeSmall()

unsigned int ml::ControlTheme::getFontSizeSmall ( ) const
inlinenodiscardinherited

Definition at line 82 of file ControlTheme.h.

◆ getHoverColor()

sf::Color ml::ControlTheme::getHoverColor ( ) const
inlinenodiscardinherited

Definition at line 72 of file ControlTheme.h.

◆ getInactiveColor()

sf::Color ml::ToggleTheme::getInactiveColor ( ) const
inlinenodiscardinherited

Definition at line 64 of file ToggleTheme.h.

◆ getItems()

const std::vector< std::pair< std::string, std::string > > & ml::ToggleSettings::getItems ( ) const
inlinenodiscardinherited

Definition at line 52 of file ToggleSettings.h.

◆ getLabelOffset()

float ml::PillSettings::getLabelOffset ( ) const
inlinenodiscardinherited

Definition at line 64 of file PillSettings.h.

◆ getLeftLabel()

std::string ml::PillSettings::getLeftLabel ( ) const
inlinenodiscardinherited

Definition at line 67 of file PillSettings.h.

◆ getMutedColor()

sf::Color ml::ControlTheme::getMutedColor ( ) const
inlinenodiscardinherited

Definition at line 78 of file ControlTheme.h.

◆ getOutlineColor()

sf::Color ml::GraphicTheme::getOutlineColor ( ) const
inlinenodiscardinherited

Definition at line 68 of file GraphicTheme.h.

◆ getOutlineThickness()

float ml::GraphicTheme::getOutlineThickness ( ) const
inlinenodiscardinherited

Definition at line 69 of file GraphicTheme.h.

◆ getPadding()

float ml::ControlTheme::getPadding ( ) const
inlinenodiscardinherited

Definition at line 79 of file ControlTheme.h.

◆ getPillLabelActiveColor()

sf::Color ml::PillTheme::getPillLabelActiveColor ( ) const
inlinenodiscardinherited

Definition at line 97 of file PillTheme.h.

◆ getPillLabelInactiveColor()

sf::Color ml::PillTheme::getPillLabelInactiveColor ( ) const
inlinenodiscardinherited

Definition at line 98 of file PillTheme.h.

◆ getPillOffLabel()

std::string ml::PillSettings::getPillOffLabel ( ) const
inlinenodiscardinherited

Definition at line 65 of file PillSettings.h.

◆ getPillOnLabel()

std::string ml::PillSettings::getPillOnLabel ( ) const
inlinenodiscardinherited

Definition at line 66 of file PillSettings.h.

◆ getRadius()

float ml::GraphicTheme::getRadius ( ) const
inlinenodiscardinherited

Definition at line 70 of file GraphicTheme.h.

◆ getRightLabel()

std::string ml::PillSettings::getRightLabel ( ) const
inlinenodiscardinherited

Definition at line 68 of file PillSettings.h.

◆ getTextColor()

sf::Color ml::ControlTheme::getTextColor ( ) const
inlinenodiscardinherited

Definition at line 77 of file ControlTheme.h.

◆ getThumbColor()

sf::Color ml::PillTheme::getThumbColor ( ) const
inlinenodiscardinherited

Definition at line 95 of file PillTheme.h.

◆ getThumbDisabledColor()

sf::Color ml::PillTheme::getThumbDisabledColor ( ) const
inlinenodiscardinherited

Definition at line 96 of file PillTheme.h.

◆ getThumbMargin()

float ml::PillSettings::getThumbMargin ( ) const
inlinenodiscardinherited

Definition at line 63 of file PillSettings.h.

◆ getTrackOffColor()

sf::Color ml::PillTheme::getTrackOffColor ( ) const
inlinenodiscardinherited

Definition at line 94 of file PillTheme.h.

◆ getTrackOnColor()

sf::Color ml::PillTheme::getTrackOnColor ( ) const
inlinenodiscardinherited

Definition at line 93 of file PillTheme.h.

◆ getTrackSize()

sf::Vector2f ml::PillSettings::getTrackSize ( ) const
inlinenodiscardinherited

Definition at line 62 of file PillSettings.h.

◆ operator=() [1/7]

PillStyle & ml::PillStyle::operator= ( const ControlSettings & c)
inline

Definition at line 80 of file PillStyle.h.

◆ operator=() [2/7]

PillStyle & ml::PillStyle::operator= ( const ControlTheme & c)
inline

Definition at line 71 of file PillStyle.h.

◆ operator=() [3/7]

PillStyle & ml::PillStyle::operator= ( const GraphicTheme & g)
inline

Definition at line 74 of file PillStyle.h.

◆ operator=() [4/7]

PillStyle & ml::PillStyle::operator= ( const PillSettings & s)
inline

Definition at line 62 of file PillStyle.h.

◆ operator=() [5/7]

PillStyle & ml::PillStyle::operator= ( const PillTheme & t)
inline

Definition at line 65 of file PillStyle.h.

◆ operator=() [6/7]

PillStyle & ml::PillStyle::operator= ( const ToggleSettings & t)
inline

Definition at line 77 of file PillStyle.h.

◆ operator=() [7/7]

PillStyle & ml::PillStyle::operator= ( const ToggleTheme & t)
inline

Definition at line 68 of file PillStyle.h.

◆ setActiveColor()

void ml::ToggleTheme::setActiveColor ( const sf::Color & c)
inlineinherited

Definition at line 67 of file ToggleTheme.h.

◆ setActiveTextColor()

void ml::ToggleTheme::setActiveTextColor ( const sf::Color & c)
inlineinherited

Definition at line 69 of file ToggleTheme.h.

◆ setAnimSpeed()

void ml::ToggleSettings::setAnimSpeed ( float s)
inlineinherited

Definition at line 49 of file ToggleSettings.h.

◆ setDisabledColor()

void ml::ControlTheme::setDisabledColor ( const sf::Color & c)
inlineinherited

Definition at line 87 of file ControlTheme.h.

◆ setDisabledTextColor()

void ml::ControlTheme::setDisabledTextColor ( const sf::Color & c)
inlineinherited

Definition at line 88 of file ControlTheme.h.

◆ setErrorColor()

void ml::ControlTheme::setErrorColor ( const sf::Color & c)
inlineinherited

Definition at line 86 of file ControlTheme.h.

◆ setFillColor()

void ml::GraphicTheme::setFillColor ( const sf::Color & c)
inlineinherited

Definition at line 72 of file GraphicTheme.h.

◆ setFocusColor()

void ml::ControlTheme::setFocusColor ( const sf::Color & c)
inlineinherited

Definition at line 85 of file ControlTheme.h.

◆ setFont() [1/2]

void ml::ControlTheme::setFont ( const sf::Font && )
deleteinherited

◆ setFont() [2/2]

void ml::ControlTheme::setFont ( const sf::Font & f)
inlineinherited

Definition at line 92 of file ControlTheme.h.

◆ setFontSize()

void ml::ControlTheme::setFontSize ( unsigned int s)
inlineinherited

Definition at line 94 of file ControlTheme.h.

◆ setFontSizeSmall()

void ml::ControlTheme::setFontSizeSmall ( unsigned int s)
inlineinherited

Definition at line 95 of file ControlTheme.h.

◆ setHoverColor()

void ml::ControlTheme::setHoverColor ( const sf::Color & c)
inlineinherited

Definition at line 84 of file ControlTheme.h.

◆ setInactiveColor()

void ml::ToggleTheme::setInactiveColor ( const sf::Color & c)
inlineinherited

Definition at line 68 of file ToggleTheme.h.

◆ setItems()

void ml::ToggleSettings::setItems ( std::vector< std::pair< std::string, std::string > > i)
inlineinherited

Definition at line 54 of file ToggleSettings.h.

◆ setLabelOffset()

void ml::PillSettings::setLabelOffset ( float o)
inlineinherited

Definition at line 72 of file PillSettings.h.

◆ setLeftLabel()

void ml::PillSettings::setLeftLabel ( const std::string & s)
inlineinherited

Definition at line 77 of file PillSettings.h.

◆ setMutedColor()

void ml::ControlTheme::setMutedColor ( const sf::Color & c)
inlineinherited

Definition at line 90 of file ControlTheme.h.

◆ setOutlineColor()

void ml::GraphicTheme::setOutlineColor ( const sf::Color & c)
inlineinherited

Definition at line 73 of file GraphicTheme.h.

◆ setOutlineThickness()

void ml::GraphicTheme::setOutlineThickness ( float t)
inlineinherited

Definition at line 74 of file GraphicTheme.h.

◆ setPadding()

void ml::ControlTheme::setPadding ( float p)
inlineinherited

Definition at line 91 of file ControlTheme.h.

◆ setPillLabelActiveColor()

void ml::PillTheme::setPillLabelActiveColor ( const sf::Color & c)
inlineinherited

Definition at line 104 of file PillTheme.h.

◆ setPillLabelInactiveColor()

void ml::PillTheme::setPillLabelInactiveColor ( const sf::Color & c)
inlineinherited

Definition at line 105 of file PillTheme.h.

◆ setPillLabels()

void ml::PillSettings::setPillLabels ( const std::string & off,
const std::string & on )
inlineinherited

Definition at line 75 of file PillSettings.h.

◆ setPillOffLabel()

void ml::PillSettings::setPillOffLabel ( const std::string & s)
inlineinherited

Definition at line 73 of file PillSettings.h.

◆ setPillOnLabel()

void ml::PillSettings::setPillOnLabel ( const std::string & s)
inlineinherited

Definition at line 74 of file PillSettings.h.

◆ setRadius()

void ml::GraphicTheme::setRadius ( float r)
inlineinherited

Definition at line 75 of file GraphicTheme.h.

◆ setRightLabel()

void ml::PillSettings::setRightLabel ( const std::string & s)
inlineinherited

Definition at line 78 of file PillSettings.h.

◆ setTextColor()

void ml::ControlTheme::setTextColor ( const sf::Color & c)
inlineinherited

Definition at line 89 of file ControlTheme.h.

◆ setThumbColor()

void ml::PillTheme::setThumbColor ( const sf::Color & c)
inlineinherited

Definition at line 102 of file PillTheme.h.

◆ setThumbDisabledColor()

void ml::PillTheme::setThumbDisabledColor ( const sf::Color & c)
inlineinherited

Definition at line 103 of file PillTheme.h.

◆ setThumbMargin()

void ml::PillSettings::setThumbMargin ( float m)
inlineinherited

Definition at line 71 of file PillSettings.h.

◆ setTrackOffColor()

void ml::PillTheme::setTrackOffColor ( const sf::Color & c)
inlineinherited

Definition at line 101 of file PillTheme.h.

◆ setTrackOnColor()

void ml::PillTheme::setTrackOnColor ( const sf::Color & c)
inlineinherited

Definition at line 100 of file PillTheme.h.

◆ setTrackSize()

void ml::PillSettings::setTrackSize ( const sf::Vector2f & s)
inlineinherited

Definition at line 70 of file PillSettings.h.

Member Data Documentation

◆ activeColor

sf::Color ml::ToggleTheme::activeColor = sf::Color(100, 60, 200)
inherited

Definition at line 32 of file ToggleTheme.h.

◆ activeTextColor

sf::Color ml::ToggleTheme::activeTextColor = sf::Color::White
inherited

Definition at line 34 of file ToggleTheme.h.

◆ animSpeed

float ml::ToggleSettings::animSpeed = 10.f
inherited

Definition at line 29 of file ToggleSettings.h.

◆ disabledColor

sf::Color ml::ControlTheme::disabledColor = sf::Color(60, 60, 60)
inherited

Definition at line 33 of file ControlTheme.h.

◆ disabledTextColor

sf::Color ml::ControlTheme::disabledTextColor = sf::Color(120, 120, 120)
inherited

Definition at line 34 of file ControlTheme.h.

◆ errorColor

sf::Color ml::ControlTheme::errorColor = sf::Color(220, 70, 70)
inherited

Definition at line 32 of file ControlTheme.h.

◆ fillColor

sf::Color ml::GraphicTheme::fillColor = sf::Color(40, 40, 40)
inherited

Definition at line 43 of file GraphicTheme.h.

◆ focusColor

sf::Color ml::ControlTheme::focusColor = sf::Color(100, 60, 200)
inherited

Definition at line 31 of file ControlTheme.h.

◆ font

const sf::Font* ml::ControlTheme::font = &FontManager<>::getDefault()
inherited

Definition at line 39 of file ControlTheme.h.

◆ fontSize

unsigned int ml::ControlTheme::fontSize = 14
inherited

Definition at line 40 of file ControlTheme.h.

◆ fontSizeSmall

unsigned int ml::ControlTheme::fontSizeSmall = 11
inherited

Definition at line 41 of file ControlTheme.h.

◆ hoverColor

sf::Color ml::ControlTheme::hoverColor = sf::Color(70, 130, 230)
inherited

Definition at line 30 of file ControlTheme.h.

◆ inactiveColor

sf::Color ml::ToggleTheme::inactiveColor = sf::Color(40, 40, 40)
inherited

Definition at line 33 of file ToggleTheme.h.

◆ items

std::vector<std::pair<std::string, std::string> > ml::ToggleSettings::items
inherited

Definition at line 30 of file ToggleSettings.h.

◆ labelOffset

float ml::PillSettings::labelOffset = 8.f
inherited

Definition at line 32 of file PillSettings.h.

◆ leftLabel

std::string ml::PillSettings::leftLabel
inherited

Definition at line 37 of file PillSettings.h.

◆ mutedColor

sf::Color ml::ControlTheme::mutedColor = sf::Color(120, 120, 120)
inherited

Definition at line 36 of file ControlTheme.h.

◆ outlineColor

sf::Color ml::GraphicTheme::outlineColor = sf::Color(100, 100, 100)
inherited

Definition at line 44 of file GraphicTheme.h.

◆ outlineThickness

float ml::GraphicTheme::outlineThickness = 1.5f
inherited

Definition at line 45 of file GraphicTheme.h.

◆ padding

float ml::ControlTheme::padding = 8.f
inherited

Definition at line 37 of file ControlTheme.h.

◆ pillLabelActiveColor

sf::Color ml::PillTheme::pillLabelActiveColor = sf::Color::White
inherited

Definition at line 53 of file PillTheme.h.

◆ pillLabelInactiveColor

sf::Color ml::PillTheme::pillLabelInactiveColor = sf::Color(200, 200, 200, 180)
inherited

Definition at line 54 of file PillTheme.h.

◆ pillOffLabel

std::string ml::PillSettings::pillOffLabel
inherited

Definition at line 35 of file PillSettings.h.

◆ pillOnLabel

std::string ml::PillSettings::pillOnLabel
inherited

Definition at line 36 of file PillSettings.h.

◆ radius

float ml::GraphicTheme::radius = 8.f
inherited

Definition at line 46 of file GraphicTheme.h.

◆ rightLabel

std::string ml::PillSettings::rightLabel
inherited

Definition at line 38 of file PillSettings.h.

◆ textColor

sf::Color ml::ControlTheme::textColor = sf::Color::White
inherited

Definition at line 35 of file ControlTheme.h.

◆ thumbColor

sf::Color ml::PillTheme::thumbColor = sf::Color::White
inherited

Definition at line 51 of file PillTheme.h.

◆ thumbDisabledColor

sf::Color ml::PillTheme::thumbDisabledColor = sf::Color(220, 220, 220)
inherited

Definition at line 52 of file PillTheme.h.

◆ thumbMargin

float ml::PillSettings::thumbMargin = 2.f
inherited

Definition at line 31 of file PillSettings.h.

◆ trackOffColor

sf::Color ml::PillTheme::trackOffColor = sf::Color(120, 120, 120)
inherited

Definition at line 50 of file PillTheme.h.

◆ trackOnColor

sf::Color ml::PillTheme::trackOnColor = sf::Color(100, 60, 200)
inherited

Definition at line 49 of file PillTheme.h.

◆ trackSize

sf::Vector2f ml::PillSettings::trackSize = {44.f, 24.f}
inherited

Definition at line 30 of file PillSettings.h.


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