LeviLamina
Loading...
Searching...
No Matches
Library.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/ViewCacheMode.h"
7#include "mc/client/gui/oreui/views/FramesToPaintQueue.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9
10// auto generated forward declare list
11// clang-format off
12class IClientInstance;
13class TaskGroup;
14namespace Core { class Path; }
15namespace Gameface { class ResourceHandlerBroker; }
16namespace Gameface { class TemporaryTextureHolder; }
17namespace Input::Debug { class ISplitscreenRedirect; }
18namespace OreUI { class IFacetRegistry; }
19namespace OreUI { class ILiveViewCollectionConsumer; }
20namespace OreUI { class IRenderingBackend; }
21namespace OreUI { class InternationalizationManager; }
22namespace OreUI { class LayoutScheduler; }
23namespace OreUI { class ViewsCoordinator; }
24namespace OreUI { struct DebugData; }
25namespace OreUI { struct ViewId; }
26namespace OreUI::Detail { class ViewContextFactory; }
27namespace cohtml { class IAllocator; }
28namespace cohtml { class IFileSystemReader; }
29namespace cohtml { class ITimeZoneProvider; }
30namespace cohtml { class IVirtualAllocator; }
31namespace cohtml { class Library; }
32namespace cohtml { class System; }
33namespace cohtml { class SystemRenderer; }
34namespace cohtml::Logging { class ILogHandler; }
35namespace cohtml::Profile { class IPerformanceHandler; }
36namespace mce { class RenderContext; }
37namespace mce { class ShaderGroup; }
38// clang-format on
39
40namespace OreUI {
41
42class Library {
43public:
44 // Library inner types declare
45 // clang-format off
46 struct Impl;
47 // clang-format on
48
49 // Library inner types define
50 struct Impl {
51 public:
52 // member variables
53 // NOLINTBEGIN
54 ::ll::TypedStorage<8, 104, ::OreUI::FramesToPaintQueue> mFramesToPaint;
55 // NOLINTEND
56 };
57
58public:
59 // member variables
60 // NOLINTBEGIN
61 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::OreUI::Library::Impl>>> mImpl;
62 ::ll::TypedStorage<8, 8, ::cohtml::System*> mSystem;
63 ::ll::TypedStorage<8, 8, ::cohtml::SystemRenderer*> mSystemRenderer;
64 ::ll::TypedStorage<8, 8, ::cohtml::Library*> mLibrary;
65 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::IAllocator>> mAllocator;
66 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::IFileSystemReader>> mFileSystemReader;
67 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Gameface::ResourceHandlerBroker>> mResourceHandler;
68 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::InternationalizationManager>> mInternationalizationManager;
69 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::IRenderingBackend>> mRenderingBackend;
70 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::Logging::ILogHandler>> mLogHandler;
71 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::Profile::IPerformanceHandler>> mPerformanceHandler;
72 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::ITimeZoneProvider>> mTimeZoneProvider;
73 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::LayoutScheduler>> mLayoutScheduler;
74 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::ViewsCoordinator>> mViews;
75 ::ll::TypedStorage<8, 8, ::Gameface::TemporaryTextureHolder&> mTemporaryTextureHolder;
76 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::OreUI::ILiveViewCollectionConsumer>>>
77 mLiveViewConsumer;
78 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRegisteredFonts;
79 ::ll::TypedStorage<1, 1, bool> mDoCompleteUninitialization;
80 ::ll::TypedStorage<1, 1, bool> mSuspended;
81 ::ll::TypedStorage<1, 1, bool> mICUDataInitialized;
82 ::ll::TypedStorage<8, 16, ::std::thread> mResourceThread;
83 ::ll::TypedStorage<8, 8, ::OreUI::DebugData&> mDebugData;
84 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect>>
85 mDebugSplitscreenInputRedirect;
86 // NOLINTEND
87
88public:
89 // prevent constructor by default
90 Library& operator=(Library const&);
91 Library(Library const&);
92 Library();
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCAPI void _loadICUData(::TaskGroup& taskGroup, ::Core::Path const& packagePath);
98
99 MCAPI ::OreUI::ViewId createView(
100 ::OreUI::Detail::ViewContextFactory& contextFactory,
101 ::std::string const& viewPath,
102 ::std::unique_ptr<::OreUI::IFacetRegistry> facets,
103 ::IClientInstance& clientInstance,
104 ::OreUI::ViewCacheMode viewCacheMode
105 );
106
107 MCAPI void initializeRendering(
108 ::Bedrock::NonOwnerPointer<::mce::ShaderGroup> shaderGroup,
109 ::mce::RenderContext& renderContext
110 );
111
112 MCAPI void initializeViewsCoordinator(::std::function<void(::std::string_view)> showDebugToast);
113
114 MCAPI void update(double time);
115 // NOLINTEND
116
117public:
118 // static variables
119 // NOLINTBEGIN
120 MCAPI static ::std::unique_ptr<::cohtml::IVirtualAllocator>& mVirtualAllocator();
121 // NOLINTEND
122};
123
124} // namespace OreUI
Definition Path.h:11
Definition ResourceHandlerBroker.h:7
Definition TemporaryTextureHolder.h:7
Definition IClientInstance.h:5
Definition ISplitscreenRedirect.h:7
Definition ViewContextFactory.h:7
Definition IFacetRegistry.h:7
Definition ILiveViewCollectionConsumer.h:7
Definition IRenderingBackend.h:7
Definition InternationalizationManager.h:7
Definition LayoutScheduler.h:7
Definition Library.h:7
Definition ViewsCoordinator.h:7
Definition TaskGroup.h:61
Definition IAllocator.h:7
Definition IFileSystemReader.h:7
Definition ITimeZoneProvider.h:7
Definition IVirtualAllocator.h:7
Definition Library.h:7
Definition ILogHandler.h:7
Definition IPerformanceHandler.h:7
Definition SystemRenderer.h:7
Definition System.h:7
Definition RenderContext.h:7
Definition ShaderGroup.h:7
Definition DebugData.h:7
Definition Library.h:15
Definition ViewId.h:7