LeviLamina
Loading...
Searching...
No Matches
BlockResourceHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/interface/IResourceHandler.h"
7#include "mc/client/gui/oreui/resources/AtlasIndex.h"
8#include "mc/deps/core/threading/MPMCQueue.h"
9#include "mc/deps/game_refs/WeakRef.h"
10#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
11#include "mc/external/gameface/cohtml/IAsyncResourceResponse.h"
12#include "mc/platform/threading/Mutex.h"
13
14// auto generated forward declare list
15// clang-format off
16class IClientInstance;
17namespace OreUI { class ResourceResponse; }
18namespace OreUI { class ResourceStreamResponse; }
19namespace OreUI { class TemporaryTextureHolder; }
20namespace OreUI { class UIBlockThumbnailAtlasManager; }
21namespace OreUI { struct ResourceRequest; }
22// clang-format on
23
24namespace OreUI {
25
26class BlockResourceHandler : public ::OreUI::IResourceHandler {
27public:
28 // BlockResourceHandler inner types define
29 using ReqResponsePair = ::std::pair<::OreUI::ResourceRequest, ::OreUI::ResourceResponse>;
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 616, ::MPMCQueue<::std::pair<::OreUI::ResourceRequest, ::OreUI::ResourceResponse>>>
35 mBlockRequestsQueue;
36 ::ll::TypedStorage<1, 1, bool> mBlockRequestsQueuePending;
37 ::ll::TypedStorage<8, 8, ::OreUI::TemporaryTextureHolder&> mTextureHolder;
38 ::ll::TypedStorage<8, 16, ::OreUI::AtlasIndex::ItemEntry> mAir;
39 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mAtlasTexturePtr;
40 ::ll::TypedStorage<8, 16, ::WeakRef<::OreUI::UIBlockThumbnailAtlasManager>> mAtlasManager;
41 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mBlockRequestActive;
42 ::ll::TypedStorage<8, 8, uint64> mImageId;
43 ::ll::TypedStorage<8, 8, uint64> mBatchingHint;
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
48 BlockResourceHandler& operator=(BlockResourceHandler const&);
49 BlockResourceHandler(BlockResourceHandler const&);
50 BlockResourceHandler();
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~BlockResourceHandler() /*override*/ = default;
56
57 virtual void update() /*override*/;
58
59 virtual ::OreUI::IResourceHandler::Status
60 onResourceRequest(::OreUI::ResourceRequest const& request, ::OreUI::ResourceResponse& response) /*override*/;
61
62 virtual ::OreUI::IResourceHandler::Status
63 onResourceStreamRequest(::OreUI::ResourceRequest const&, ::OreUI::ResourceStreamResponse&) /*override*/;
64
65 virtual void onViewCreate(::IClientInstance& primaryClient) /*override*/;
66
67 virtual void onAppPreSuspend() /*override*/;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
73 MCAPI ::cohtml::IAsyncResourceResponse::UserImageData _generateUserImage(::OreUI::ResourceRequest const& request);
74
75 MCAPI void _handleImageRequestAsync(::OreUI::ResourceRequest const& request, ::OreUI::ResourceResponse& response);
76
77 MCAPI void _rejectResourceRequests();
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCAPI void $update();
84
85 MCAPI ::OreUI::IResourceHandler::Status
86 $onResourceRequest(::OreUI::ResourceRequest const& request, ::OreUI::ResourceResponse& response);
87
88 MCFOLD ::OreUI::IResourceHandler::Status
89 $onResourceStreamRequest(::OreUI::ResourceRequest const&, ::OreUI::ResourceStreamResponse&);
90
91 MCAPI void $onViewCreate(::IClientInstance& primaryClient);
92
93 MCAPI void $onAppPreSuspend();
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCNAPI static void** $vftable();
100 // NOLINTEND
101};
102
103} // namespace OreUI
Definition IClientInstance.h:5
Definition BlockResourceHandler.h:7
static MCAPI void ** $vftable()
Definition ResourceResponse.h:7
Definition ResourceStreamResponse.h:7
Definition TemporaryTextureHolder.h:7
Definition UIBlockThumbnailAtlasManager.h:7
Definition ResourceRequest.h:7