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 MCNAPI_C ::std::unordered_map<::HashedString, ::Editor::Settings::ThemePalette> getAllThemesMap() const;
72
73 MCNAPI ::std::optional<::Editor::Settings::ThemePalette> getThemeColors(::std::string const& id) const;
74
75 MCNAPI ::Scripting::Result_deprecated<::std::string> getThemeName(::std::string const& id) const;
76
77 MCNAPI ::Scripting::Result_deprecated<::Editor::Settings::ThemePalette>
78 getThemePalette(::std::string const& id) const;
79
80 MCNAPI ::mce::Color const& resolveColorKey(::Editor::Settings::ThemeSettingsColorKey key) const;
81
82 MCNAPI ::Scripting::Result_deprecated<void> setCurrentTheme(::std::string const& id, bool notifyUpdate);
83
84 MCNAPI ::Scripting::Result_deprecated<void> setThemeName(::std::string const& id, ::std::string const& name);
85
86 MCNAPI ::Scripting::Result_deprecated<void> updateThemeColor(
87 ::std::string const& id,
88 ::Editor::Settings::ThemeSettingsColorKey key,
89 ::mce::Color const& newColor,
90 bool notifyUpdate
91 );
92 // NOLINTEND
93
94public:
95 // static functions
96 // NOLINTBEGIN
97 MCNAPI static ::mce::Color _getDarkThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
98
99 MCNAPI static ::std::unordered_map<::HashedString, ::Editor::Settings::ThemePalette> _getDefaultThemesMap();
100
101 MCNAPI static ::mce::Color _getDefaultWorldUIColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
102
103 MCNAPI static ::std::unordered_map<::HashedString, ::mce::Color> _getEmptyColorKeyMap();
104
105 MCNAPI static ::mce::Color _getHighContrastThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
106
107 MCNAPI static ::mce::Color _getLightThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
108
109 MCNAPI static ::mce::Color _getRedstoneThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
110
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCNAPI void* $ctor(
118 ::std::function<void(::Editor::Settings::ThemeProps const&)> fullSyncCallback,
119 ::std::function<void(::std::string const&)> onCurrentThemeChangeCallback,
120 ::std::function<
121 void(::std::string const&, ::std::optional<::std::string> const&, ::std::optional<::std::string> const&)>
122 onNewThemeCreatedCallback,
123 ::std::function<void(::std::string const&, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const&)>
124 onThemeColorUpdatedCallback,
125 ::std::function<void(::std::string const&)> onThemeDeletedCallback
126 );
127 // NOLINTEND
128};
129
130} // 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 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::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