跳转至

cf::ui::core::MaterialTheme

Material Design 3 Theme Implementation. More...

#include <cfmaterial_theme.h>

Inherits from cf::ui::core::ICFTheme

Public Functions

Name
~MaterialTheme() override =default
MaterialTheme(constMaterialTheme & ) =delete
MaterialTheme & operator=(constMaterialTheme & ) =delete
MaterialTheme(MaterialTheme && ) =delete
MaterialTheme & operator=(MaterialTheme && ) =delete

Protected Functions

Name
MaterialTheme(std::unique_ptr< MaterialColorScheme > color_scheme, std::unique_ptr< MaterialTypography > font_type, std::unique_ptr< MaterialRadiusScale > radius_scale, std::unique_ptr< MaterialMotionScheme > motion_spec)
Construct MaterialTheme with all components.

Friends

Name
class MaterialFactory(MaterialFactory )

Additional inherited members

Public Functions inherited from cf::ui::core::ICFTheme

Name
virtual ~ICFTheme() =default
Virtual destructor.
ICFColorScheme & color_scheme() const
Gets the color scheme component.
IMotionSpec & motion_spec() const
Gets the motion specification component.
IRadiusScale & radius_scale() const
Gets the radius scale component.
IFontType & font_type() const
Gets the font type component.

Protected Functions inherited from cf::ui::core::ICFTheme

Name
ICFTheme() =default
Default constructor: protected for factory-only creation.

Protected Attributes inherited from cf::ui::core::ICFTheme

Name
std::unique_ptr< ICFColorScheme > color_scheme_
Color scheme component. Ownership: owner.
std::unique_ptr< IMotionSpec > motion_spec_
Motion specification component. Ownership: owner.
std::unique_ptr< IRadiusScale > radius_scale_
Radius scale component. Ownership: owner.
std::unique_ptr< IFontType > font_type_
Font type component. Ownership: owner.

Friends inherited from cf::ui::core::ICFTheme

Name
class ThemeFactory(ThemeFactory )
ThemeFactory has exclusive creation access.

Detailed Description

class cf::ui::core::MaterialTheme;

Material Design 3 Theme Implementation.

Exceptions:

  • None.

Since: 0.1

Note: None.

Warning: None.

Complete theme implementation combining all Material Design 3 components: color scheme, typography, radius scale, and motion specs.

Only MaterialFactory can create instances (friend class).

// Created via MaterialFactory
MaterialFactory factory;
auto theme = factory.fromName("theme.material.light");

// Access theme components
auto& colors = theme->color_scheme();
auto& fonts = theme->font_type();
auto& radius = theme->radius_scale();
auto& motion = theme->motion_spec();

Public Functions Documentation

function ~MaterialTheme

~MaterialTheme() override =default

function MaterialTheme

MaterialTheme(
    constMaterialTheme & 
) =delete

function operator=

MaterialTheme & operator=(
    constMaterialTheme & 
) =delete

function MaterialTheme

MaterialTheme(
    MaterialTheme && 
) =delete

function operator=

MaterialTheme & operator=(
    MaterialTheme && 
) =delete

Protected Functions Documentation

function MaterialTheme

MaterialTheme(
    std::unique_ptr< MaterialColorScheme > color_scheme,
    std::unique_ptr< MaterialTypography > font_type,
    std::unique_ptr< MaterialRadiusScale > radius_scale,
    std::unique_ptr< MaterialMotionScheme > motion_spec
)

Construct MaterialTheme with all components.

Parameters:

  • color_scheme Color scheme (light or dark).
  • font_type Typography scale.
  • radius_scale Corner radius scale.
  • motion_spec Motion/animation specifications.

Since: 0.1

Friends

friend MaterialFactory

friend class MaterialFactory(
    MaterialFactory 
);

Updated on 2026-03-09 at 10:14:00 +0000