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.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 MCAPI 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 MCAPI ::std::unordered_map<::HashedString, ::mce::Color>
54 _cloneThemeColorProps(::std::unordered_map<::HashedString, ::mce::Color> colorProps);
55
56 MCAPI ::Scripting::Error _getThemeDoesNotExistError(::std::string const& themeId, bool isCustom) const;
57
58 MCAPI ::Scripting::Result<void, ::Scripting::Error> addNewTheme(
59 ::std::string const& id,
60 ::std::optional<::std::string> const& name,
61 ::std::optional<::std::string> const& sourceThemeId,
62 bool notifyUpdate
63 );
64
65 MCAPI bool canThemeBeModified(::std::string const& id) const;
66
67 MCAPI ::Scripting::Result<void, ::Scripting::Error> deleteTheme(::std::string const& id, bool notifyUpdate);
68
69 MCAPI ::std::optional<::Editor::Settings::ThemePalette> getThemeColors(::std::string const& id) const;
70
71 MCAPI ::Scripting::Result<::Editor::Settings::ThemePalette, ::Scripting::Error>
72 getThemePalette(::std::string const& id) const;
73
74 MCAPI ::mce::Color const& resolveColorKey(::Editor::Settings::ThemeSettingsColorKey key) const;
75
76 MCAPI ::Scripting::Result<void, ::Scripting::Error> setCurrentTheme(::std::string const& id, bool notifyUpdate);
77
78 MCAPI ::Scripting::Result<void, ::Scripting::Error>
79 setThemeName(::std::string const& id, ::std::string const& name);
80
81 MCAPI ::Scripting::Result<void, ::Scripting::Error> updateThemeColor(
82 ::std::string const& id,
83 ::Editor::Settings::ThemeSettingsColorKey key,
84 ::mce::Color const& newColor,
85 bool notifyUpdate
86 );
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static ::mce::Color _getDarkThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
93
94 MCAPI static ::std::unordered_map<::HashedString, ::Editor::Settings::ThemePalette> _getDefaultThemesMap();
95
96 MCAPI static ::mce::Color _getDefaultWorldUIColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
97
98 MCAPI static ::std::unordered_map<::HashedString, ::mce::Color> _getEmptyColorKeyMap();
99
100 MCAPI static ::mce::Color _getHighContrastThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
101
102 MCAPI static ::mce::Color _getLightThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
103
104 MCAPI static ::mce::Color _getRedstoneThemeColorByKey(::Editor::Settings::ThemeSettingsColorKey colorKey);
105
106 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
107 // NOLINTEND
108
109public:
110 // constructor thunks
111 // NOLINTBEGIN
112 MCAPI void* $ctor(
113 ::std::function<void(::Editor::Settings::ThemeProps const&)> fullSyncCallback,
114 ::std::function<void(::std::string const&)> onCurrentThemeChangeCallback,
115 ::std::function<
116 void(::std::string const&, ::std::optional<::std::string> const&, ::std::optional<::std::string> const&)>
117 onNewThemeCreatedCallback,
118 ::std::function<void(::std::string const&, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const&)>
119 onThemeColorUpdatedCallback,
120 ::std::function<void(::std::string const&)> onThemeDeletedCallback
121 );
122 // NOLINTEND
123};
124
125} // namespace Editor::Settings
Definition Theme.h:21
Definition HashedString.h:5
Definition Color.h:13
Definition ThemeProps.h:13
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14