ui/core/material/cfmaterial_theme.h¶
Material Design 3 Theme - Complete Theme Implementation. More...
Namespaces¶
| Name |
|---|
| cf |
| cf::ui |
| cf::ui::core |
Classes¶
| Name | |
|---|---|
| class | cf::ui::core::MaterialTheme Material Design 3 Theme Implementation. |
Detailed Description¶
Material Design 3 Theme - Complete Theme Implementation.
Author: Charliechen114514 (chengh1922@mails.jlu.edu.cn)
Version: 0.1
Date: 2026-02-27
Copyright: Copyright © 2026
Implements ICFTheme interface for Material Design 3, combining:
- MaterialColorScheme for colors
- MaterialTypography for fonts
- MaterialRadiusScale for corner radii
- MaterialMotionScheme for animations
Source code¶
#pragma once
#include "../export.h"
#include "../theme.h"
#include "cfmaterial_fonttype.h"
#include "cfmaterial_motion.h"
#include "cfmaterial_radius_scale.h"
#include "cfmaterial_scheme.h"
namespace cf::ui::core {
// Forward declaration for friend access
class MaterialFactory;
class CF_UI_EXPORT MaterialTheme : public ICFTheme {
friend class MaterialFactory;
public:
~MaterialTheme() override = default;
// Non-copyable, non-movable (due to unique_ptr members in base class)
MaterialTheme(const MaterialTheme&) = delete;
MaterialTheme& operator=(const MaterialTheme&) = delete;
MaterialTheme(MaterialTheme&&) noexcept = delete;
MaterialTheme& operator=(MaterialTheme&&) noexcept = delete;
protected:
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);
};
} // namespace cf::ui::core
Updated on 2026-03-09 at 10:14:01 +0000