LeviLamina
Loading...
Searching...
No Matches
EditorSettingsServiceProvider.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
11namespace Bedrock::PubSub { class Subscription; }
12namespace Editor::Settings { class Audio; }
13namespace Editor::Settings { class Graphics; }
14namespace Editor::Settings { class Speed; }
15namespace Editor::Settings { class Theme; }
16namespace Editor::Settings { struct AudioProps; }
17namespace Editor::Settings { struct GraphicsProps; }
18namespace Editor::Settings { struct SpeedProps; }
19namespace Editor::Settings { struct ThemeProps; }
20namespace mce { class Color; }
21// clang-format on
22
23namespace Editor::Services {
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~EditorSettingsServiceProvider() = default;
30
31 virtual ::Editor::Settings::Audio& getAudioSettings() = 0;
32
33 virtual ::Editor::Settings::Audio const& getAudioSettings() const = 0;
34
35 virtual ::Bedrock::PubSub::Subscription
36 listenForAudioSettingsChanged(::std::function<void(::Editor::Settings::AudioProps const&)>) = 0;
37
38 virtual ::Editor::Settings::Graphics& getGraphicsSettings() = 0;
39
40 virtual ::Editor::Settings::Graphics const& getGraphicsSettings() const = 0;
41
42 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
43 listenForGraphicsSettingsChanged(::std::function<void(::Editor::Settings::GraphicsProps const&)>) = 0;
44
45 virtual ::Editor::Settings::Speed& getSpeedSettings() = 0;
46
47 virtual ::Editor::Settings::Speed const& getSpeedSettings() const = 0;
48
49 virtual ::Bedrock::PubSub::Subscription
50 listenForSpeedSettingsChanged(::std::function<void(::Editor::Settings::SpeedProps const&)>) = 0;
51
52 virtual ::Editor::Settings::Theme& getThemeSettings() = 0;
53
54 virtual ::Editor::Settings::Theme const& getThemeSettings() const = 0;
55
56 virtual ::Bedrock::PubSub::Subscription
57 listenForThemeSettingsChanged(::std::function<void(::Editor::Settings::ThemeProps const&)>) = 0;
58
59 virtual ::Bedrock::PubSub::Subscription
60 listenForCurrentThemeChanged(::std::function<void(::std::string const&)>) = 0;
61
62 virtual ::Bedrock::PubSub::Subscription listenForNewThemeCreated(
63 ::std::function<
64 void(::std::string const&, ::std::optional<::std::string> const&, ::std::optional<::std::string> const&)>
65 ) = 0;
66
67 virtual ::Bedrock::PubSub::Subscription listenForThemeColorUpdated(
68 ::std::function<void(::std::string const&, ::Editor::Settings::ThemeSettingsColorKey, ::mce::Color const&)>
69 ) = 0;
70
71 virtual ::Bedrock::PubSub::Subscription listenForThemeDeleted(::std::function<void(::std::string const&)>) = 0;
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77
78 // NOLINTEND
79};
80
81} // namespace Editor::Services
Definition Subscription.h:10
Definition EditorSettingsServiceProvider.h:25
Definition Audio.h:13
Definition Graphics.h:13
Definition Speed.h:13
Definition Theme.h:21
Definition Color.h:13
Definition AudioProps.h:7
Definition GraphicsProps.h:7
Definition SpeedProps.h:7
Definition ThemeProps.h:13