ui/core/theme.h¶
Interface for CF UI theme components. More...
Namespaces¶
| Name |
|---|
| cf |
| cf::ui |
| cf::ui::core |
Classes¶
| Name | |
|---|---|
| struct | cf::ui::core::ICFTheme Interface for CF UI theme components. |
Detailed Description¶
Interface for CF UI theme components.
Author: N/A
Version: N/A
Since: N/A
Date: N/A
Defines the ICFTheme interface which provides access to color schemes, motion specifications, radius scales, and font types for UI theming.
Source code¶
#pragma once
#include "color_scheme.h"
#include "export.h"
#include "font_type.h"
#include "motion_spec.h"
#include "radius_scale.h"
#include <memory>
namespace cf::ui::core {
struct CF_UI_EXPORT ICFTheme {
public:
friend class ThemeFactory;
virtual ~ICFTheme() = default;
ICFColorScheme& color_scheme() const { return *color_scheme_; }
IMotionSpec& motion_spec() const { return *motion_spec_; }
IRadiusScale& radius_scale() const { return *radius_scale_; }
IFontType& font_type() const { return *font_type_; }
protected:
ICFTheme() = default;
std::unique_ptr<ICFColorScheme> color_scheme_;
std::unique_ptr<IMotionSpec> motion_spec_;
std::unique_ptr<IRadiusScale> radius_scale_;
std::unique_ptr<IFontType> font_type_;
};
} // namespace cf::ui::core
Updated on 2026-03-09 at 10:14:01 +0000