LeviLamina
Loading...
Searching...
No Matches
Theme.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/ThemeSettingsColorKey.h"
7#include "mc/deps/scripting/runtime/Result_deprecated.h"
8
9// auto generated forward declare list
10// clang-format off
11class HashedString;
12namespace Editor::Settings { struct ThemePalette; }
13namespace Editor::Settings { struct ThemeProps; }
14namespace Scripting { struct Error; }
15namespace cereal { struct ReflectionCtx; }
16namespace mce { class Color; }
17// clang-format on
18
19namespace Editor::Settings {
20
21class Theme {
22public:
23 // member variables
24 // NOLINTBEGIN
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 Theme& operator=(Theme const&);
36 Theme(Theme const&);
37 Theme();
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCNAPI Theme(
43 ::std::function<void(::Editor::Settings::ThemeProps const&)> fullSyncCallback,
44 ::std::function<void(::std::string const&)> onCurrentThemeChangeCallback,
45 ::std::function<
46 void(::std::string const&, ::std::optional<::std::string> const&, ::std::optional<::std::string> const&)>
47 onNewThemeCreatedCallback,
48 ::std::function<void(::std::string const&, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const&)>
49 onThemeColorUpdatedCallback,
50 ::std::function<void(::std::string const&)> onThemeDeletedCallback
51 );
52
53 MCNAPI ::std::unordered_map<::HashedString, ::mce::Color>
54 _cloneThemeColorProps(::std::unordered_map<::HashedString, ::mce::Color> colorProps);
55
56 MCNAPI ::Scripting::Error _getAttemptingToModifyBuiltInThemeError(::std::string const& themeId) const;
57
58 MCNAPI ::Scripting::Error _getThemeDoesNotExistError(::std::string const& themeId, bool isCustom) const;
59
60 MCNAPI ::Scripting::Result_deprecated<void> addNewTheme(
61 ::std::string const& id,
62 ::std::optional<::std::string> const& name,
63 ::std::optional<::std::string> const& sourceThemeId,
64 bool notifyUpdate
65 );
66
67 MCNAPI bool canThemeBeModified(::std::string const& id) const;
68
69 MCNAPI ::Scripting::Result_deprecated<void> deleteTheme(::std::string const& id, bool notifyUpdate);
70
71#ifdef LL_PLAT_C
72 MCNAPI ::std::unordered_map<::HashedString, ::Editor::Settings::ThemePalette> getAllThemesMap() const;
73#endif
74
75 MCNAPI ::std::string const& getCurrentTheme() const;
76
77#ifdef LL_PLAT_C
78 MCNAPI ::Editor::Settings::ThemeProps const& getProperties() const;
79#endif
80
81 MCNAPI ::std::optional<::Editor::Settings::ThemePalette> getThemeColors(::std::string const& id) const;
82
83 MCNAPI ::std::vector<::std::string> getThemeIdList() const;
84
85 MCNAPI ::Scripting::Result_deprecated<::std::string> getThemeName(::std::string const& id) const;
86
87 MCNAPI ::Scripting::Result_deprecated<::Editor::Settings::ThemePalette>
88 getThemePalette(::std::string const& id) const;
89
90 MCNAPI ::mce::Color const& resolveColorKey(::Editor::Settings::ThemeSettingsColorKey key) const;
91
92 MCNAPI ::Scripting::Result_deprecated<void> setCurrentTheme(::std::string const& id, bool notifyUpdate);
93
94 MCNAPI ::Scripting::Result_deprecated<void> setThemeName(::std::string const& id, ::std::string const& name);
95
96 MCNAPI void updateSettings(::Editor::Settings::ThemeProps const& props, bool notifyUpdate);
97
98 MCNAPI ::Scripting::Result_deprecated<void> updateThemeColor(
99 ::std::string const& id,
100 ::Editor::Settings::ThemeSettingsColorKey key,
101 ::mce::Color const& newColor,
102 bool notifyUpdate
103 );
104
105 MCNAPI ~Theme();
106 // NOLINTEND
107
108public:
109 // static functions
110 // NOLINTBEGIN
111 MCNAPI static ::mce::Color _getDarkThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
112
113 MCNAPI static ::std::unordered_map<::HashedString, ::Editor::Settings::ThemePalette> _getDefaultThemesMap();
114
115 MCNAPI static ::mce::Color _getDefaultWorldUIColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
116
117 MCNAPI static ::std::unordered_map<::HashedString, ::mce::Color> _getEmptyColorKeyMap();
118
119 MCNAPI static ::mce::Color _getHighContrastThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
120
121 MCNAPI static ::mce::Color _getLightThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
122
123 MCNAPI static ::mce::Color _getRedstoneThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
124
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
131 MCNAPI void* $ctor(
132 ::std::function<void(::Editor::Settings::ThemeProps const&)> fullSyncCallback,
133 ::std::function<void(::std::string const&)> onCurrentThemeChangeCallback,
134 ::std::function<
135 void(::std::string const&, ::std::optional<::std::string> const&, ::std::optional<::std::string> const&)>
136 onNewThemeCreatedCallback,
137 ::std::function<void(::std::string const&, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const&)>
138 onThemeColorUpdatedCallback,
139 ::std::function<void(::std::string const&)> onThemeDeletedCallback
140 );
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCNAPI void $dtor();
147 // NOLINTEND
148};
149
150} // namespace Editor::Settings
static MCAPI ::mce::Color _getLightThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey)
MCAPI ::Scripting::Result_deprecated< void > setThemeName(::std::string const &id, ::std::string const &name)
MCAPI ::Scripting::Result_deprecated<::Editor::Settings::ThemePalette > getThemePalette(::std::string const &id) const
static MCAPI ::std::unordered_map<::HashedString, ::Editor::Settings::ThemePalette > _getDefaultThemesMap()
static MCAPI ::mce::Color _getDarkThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey)
static MCAPI ::mce::Color _getDefaultWorldUIColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey)
MCAPI ::Scripting::Result_deprecated< void > updateThemeColor(::std::string const &id, ::Editor::Settings::ThemeSettingsColorKey key, ::mce::Color const &newColor, bool notifyUpdate)
MCAPI ::Scripting::Result_deprecated< void > addNewTheme(::std::string const &id, ::std::optional<::std::string > const &name, ::std::optional<::std::string > const &sourceThemeId, bool notifyUpdate)
MCAPI ::Scripting::Result_deprecated<::std::string > getThemeName(::std::string const &id) const
MCAPI::Scripting::Error _getThemeDoesNotExistError(::std::string const &themeId, bool isCustom) const
MCAPI ::std::unordered_map<::HashedString, ::mce::Color > _cloneThemeColorProps(::std::unordered_map<::HashedString, ::mce::Color > colorProps)
MCAPI::std::string const & getCurrentTheme() const
MCAPI ::std::vector<::std::string > getThemeIdList() const
MCAPI void * $ctor(::std::function< void(::Editor::Settings::ThemeProps const &)> fullSyncCallback, ::std::function< void(::std::string const &)> onCurrentThemeChangeCallback, ::std::function< void(::std::string const &, ::std::optional<::std::string > const &, ::std::optional<::std::string > const &)> onNewThemeCreatedCallback, ::std::function< void(::std::string const &, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const &)> onThemeColorUpdatedCallback, ::std::function< void(::std::string const &)> onThemeDeletedCallback)
MCAPI ::Scripting::Result_deprecated< void > setCurrentTheme(::std::string const &id, bool notifyUpdate)
MCAPI::Scripting::Error _getAttemptingToModifyBuiltInThemeError(::std::string const &themeId) const
MCAPI bool canThemeBeModified(::std::string const &id) const
static MCAPI ::mce::Color _getRedstoneThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey)
MCAPI ::std::optional<::Editor::Settings::ThemePalette > getThemeColors(::std::string const &id) const
MCAPI ::Scripting::Result_deprecated< void > deleteTheme(::std::string const &id, bool notifyUpdate)
MCAPI void updateSettings(::Editor::Settings::ThemeProps const &props, bool notifyUpdate)
MCAPI::mce::Color const & resolveColorKey(::Editor::Settings::ThemeSettingsColorKey key) const
static MCAPI void bindType(::cereal::ReflectionCtx &ctx)
static MCAPI ::std::unordered_map<::HashedString, ::mce::Color > _getEmptyColorKeyMap()
MCAPI Theme(::std::function< void(::Editor::Settings::ThemeProps const &)> fullSyncCallback, ::std::function< void(::std::string const &)> onCurrentThemeChangeCallback, ::std::function< void(::std::string const &, ::std::optional<::std::string > const &, ::std::optional<::std::string > const &)> onNewThemeCreatedCallback, ::std::function< void(::std::string const &, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const &)> onThemeColorUpdatedCallback, ::std::function< void(::std::string const &)> onThemeDeletedCallback)
static MCAPI ::mce::Color _getHighContrastThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey)
Definition HashedString.h:5
Definition Color.h:13
Definition ThemePalette.h:13
Definition ThemeProps.h:13
Definition Error.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14