70 lines
1.3 KiB
C++
70 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace Theme
|
|
{
|
|
namespace Ref
|
|
{
|
|
namespace Typeface
|
|
{
|
|
enum class Font
|
|
{
|
|
Plain,
|
|
Brand
|
|
};
|
|
|
|
enum class Weight
|
|
{
|
|
Weight_Regular,
|
|
Weight_Medium
|
|
};
|
|
}
|
|
|
|
};
|
|
};
|
|
|
|
namespace Theme
|
|
{
|
|
namespace Sys
|
|
{
|
|
enum class Typescale
|
|
{
|
|
Display_Large,
|
|
Display_Medium,
|
|
Display_Small,
|
|
Headline_Large,
|
|
Headline_Medium,
|
|
Headline_Small,
|
|
Title_Large,
|
|
Title_Medium,
|
|
Title_Small,
|
|
Label_Large,
|
|
Label_Medium,
|
|
Label_Small,
|
|
Body_Large,
|
|
Body_Medium,
|
|
Body_Small
|
|
};
|
|
};
|
|
};
|
|
|
|
class FontTokens
|
|
{
|
|
public:
|
|
static std::string getFont(Theme::Ref::Typeface::Font font);
|
|
|
|
static Theme::Ref::Typeface::Font getFont(Theme::Sys::Typescale typescale);
|
|
|
|
static unsigned getLineHeight(Theme::Sys::Typescale typescale);
|
|
|
|
static unsigned getSize(Theme::Sys::Typescale typescale);
|
|
|
|
static unsigned getTracking(Theme::Sys::Typescale typescale);
|
|
|
|
static unsigned getWeight(Theme::Ref::Typeface::Font font);
|
|
|
|
static Theme::Ref::Typeface::Font getWeight(Theme::Sys::Typescale typescale);
|
|
|
|
};
|
|
|