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/views/FramesToPaintQueue.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8
9// auto generated forward declare list
10// clang-format off
12class TaskGroup;
13namespace Core { class Path; }
14namespace OreUI { class IRenderingBackend; }
15namespace OreUI { class InternationalizationManager; }
16namespace OreUI { class LayoutScheduler; }
17namespace OreUI { class ResourceHandlerBroker; }
18namespace OreUI { class TemporaryTextureHolder; }
19namespace OreUI { class ViewsCoordinator; }
20namespace OreUI { struct DebugData; }
21namespace cohtml { class IAllocator; }
22namespace cohtml { class IFileSystemReader; }
23namespace cohtml { class ITimeZoneProvider; }
24namespace cohtml { class IVirtualAllocator; }
25namespace cohtml { class Library; }
26namespace cohtml { class System; }
27namespace cohtml { class SystemRenderer; }
28namespace cohtml { struct PlatformSpecificParams; }
29namespace cohtml::Logging { class ILogHandler; }
30namespace cohtml::Profile { class IPerformanceHandler; }
31namespace mce { class RenderContext; }
32namespace mce { class ShaderGroup; }
33// clang-format on
34
35namespace OreUI {
36
37class Library {
38public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<8, 8, ::cohtml::System*> mSystem;
42 ::ll::TypedStorage<8, 8, ::cohtml::SystemRenderer*> mSystemRenderer;
43 ::ll::TypedStorage<8, 8, ::cohtml::Library*> mLibrary;
44 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::IAllocator>> mAllocator;
45 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::IFileSystemReader>> mFileSystemReader;
46 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::ResourceHandlerBroker>> mResourceHandler;
47 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::InternationalizationManager>> mInternationalizationManager;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::IRenderingBackend>> mRenderingBackend;
49 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::Logging::ILogHandler>> mLogHandler;
50 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::Profile::IPerformanceHandler>> mPerformanceHandler;
51 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cohtml::ITimeZoneProvider>> mTimeZoneProvider;
52 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::LayoutScheduler>> mLayoutScheduler;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::ViewsCoordinator>> mViews;
54 ::ll::TypedStorage<8, 8, ::OreUI::TemporaryTextureHolder&> mTemporaryTextureHolder;
55 ::ll::TypedStorage<8, 8, ::ResourcePackManager const&> mPackManager;
56 ::ll::TypedStorage<8, 8, ::OreUI::DebugData&> mDebugData;
57 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRegisteredFonts;
58 ::ll::TypedStorage<1, 1, bool> mDoCompleteUninitialization;
59 ::ll::TypedStorage<1, 1, bool> mSuspended;
60 ::ll::TypedStorage<1, 1, bool> mICUDataInitialized;
61 ::ll::TypedStorage<8, 16, ::std::thread> mResourceThread;
62 ::ll::TypedStorage<8, 104, ::OreUI::FramesToPaintQueue> mFramesToPaint;
63 // NOLINTEND
64
65public:
66 // prevent constructor by default
67 Library& operator=(Library const&);
68 Library(Library const&);
69 Library();
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI Library(
75 ::cohtml::PlatformSpecificParams const& platformParams,
76 ::std::unique_ptr<::cohtml::IAllocator> allocator,
77 ::std::unique_ptr<::cohtml::IFileSystemReader> fileSystemReader,
78 ::Core::Path const& packagePath,
79 ::std::unique_ptr<::OreUI::ResourceHandlerBroker> resourceHandler,
80 ::std::unique_ptr<::cohtml::Logging::ILogHandler> logHandler,
81 ::OreUI::TemporaryTextureHolder& temporaryTextureHolder,
82 ::ResourcePackManager const& packManager,
83 ::OreUI::DebugData& debugData
84 );
85
86 MCAPI void _initializeSystem(::cohtml::PlatformSpecificParams const& platformParams);
87
88 MCAPI void _loadFonts(::Core::Path const& packagePath);
89
90 MCAPI void _loadICUData(::TaskGroup& taskGroup, ::Core::Path const& packagePath);
91
92 MCAPI void initializeRendering(
93 ::Bedrock::NonOwnerPointer<::mce::ShaderGroup> shaderGroup,
94 ::mce::RenderContext& renderContext
95 );
96
97 MCAPI void initializeViewsCoordinator();
98
99 MCAPI ~Library();
100 // NOLINTEND
101
102public:
103 // static variables
104 // NOLINTBEGIN
105 MCAPI static ::std::unique_ptr<::cohtml::IVirtualAllocator>& mVirtualAllocator();
106 // NOLINTEND
107
108public:
109 // constructor thunks
110 // NOLINTBEGIN
111 MCAPI void* $ctor(
112 ::cohtml::PlatformSpecificParams const& platformParams,
113 ::std::unique_ptr<::cohtml::IAllocator> allocator,
114 ::std::unique_ptr<::cohtml::IFileSystemReader> fileSystemReader,
115 ::Core::Path const& packagePath,
116 ::std::unique_ptr<::OreUI::ResourceHandlerBroker> resourceHandler,
117 ::std::unique_ptr<::cohtml::Logging::ILogHandler> logHandler,
118 ::OreUI::TemporaryTextureHolder& temporaryTextureHolder,
119 ::ResourcePackManager const& packManager,
120 ::OreUI::DebugData& debugData
121 );
122 // NOLINTEND
123
124public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCAPI void $dtor();
128 // NOLINTEND
129};
130
131} // namespace OreUI
Definition Path.h:17
Definition IRenderingBackend.h:7
Definition InternationalizationManager.h:7
Definition LayoutScheduler.h:7
Definition Library.h:7
Definition ResourceHandlerBroker.h:7
Definition TemporaryTextureHolder.h:7
Definition ViewsCoordinator.h:7
Definition ResourcePackManager.h:30
Definition TaskGroup.h:57
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 PlatformSpecificParams.h:7