LeviLamina
Loading...
Searching...
No Matches
UIThumbnailAtlasRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/checked_resource_service/ClientResourcePointer.h"
7#include "mc/deps/core/math/Color.h"
8#include "mc/deps/core/math/Matrix.h"
9#include "mc/deps/core/resource/ResourceLocation.h"
10#include "mc/deps/core/string/HashedString.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12#include "mc/deps/minecraft_renderer/renderer/Mesh.h"
13#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
14#include "mc/deps/minecraft_renderer/resources/ServerTexture.h"
15#include "mc/world/phys/AABB.h"
16
17// auto generated forward declare list
18// clang-format off
20class IClientInstance;
21class ScreenContext;
22class TaskGroup;
23namespace OreUI { struct AtlasIndex; }
24namespace cg { class ImageBuffer; }
25namespace dragon { class ResolvedImageResource; }
26namespace mce::framebuilder { struct RenderUIMeshDescription; }
27// clang-format on
28
30public:
31 // UIThumbnailAtlasRenderer inner types declare
32 // clang-format off
33 struct AtlasInfo;
34 // clang-format on
35
36 // UIThumbnailAtlasRenderer inner types define
37 struct AtlasInfo {
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 4, float> mScale;
42 ::ll::TypedStorage<8, 8, uint64> mTextureWidth;
43 ::ll::TypedStorage<8, 8, uint64> mTextureHeight;
44 ::ll::TypedStorage<8, 8, uint64> mThumbnailWidth;
45 ::ll::TypedStorage<8, 8, uint64> mThumbnailHeight;
46 ::ll::TypedStorage<4, 4, float> mTranslateX;
47 ::ll::TypedStorage<4, 4, float> mTranslateY;
48 ::ll::TypedStorage<8, 56, ::ResourceLocation> mServerResourceLocation;
49 ::ll::TypedStorage<8, 56, ::ResourceLocation> mAtlasResourceLocation;
50 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mAtlasTexturePtr;
51 ::ll::TypedStorage<8, 8, uint64> mAtlasTexturePtrHash;
52 ::ll::TypedStorage<8, 32, ::std::string> mServerTextureName;
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 AtlasInfo& operator=(AtlasInfo const&);
58 AtlasInfo();
59
60 public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI AtlasInfo(::UIThumbnailAtlasRenderer::AtlasInfo const&);
64
65 MCAPI ~AtlasInfo();
66 // NOLINTEND
67
68 public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(::UIThumbnailAtlasRenderer::AtlasInfo const&);
72 // NOLINTEND
73
74 public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCAPI void $dtor();
78 // NOLINTEND
79 };
80
81 using SubstitutionMap = ::std::unordered_map<::HashedString, ::HashedString>;
82
83public:
84 // member variables
85 // NOLINTBEGIN
86 ::ll::TypedStorage<8, 232, ::UIThumbnailAtlasRenderer::AtlasInfo> mAtlasInfo;
87 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
88 ::ll::TypedStorage<8, 24, ::mce::ServerTexture> mServerTexture;
89 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenContext>> mScreenContext;
90 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BaseActorRenderContext>> mRenderContext;
91 ::ll::TypedStorage<4, 24, ::AABB> mArea;
92 ::ll::TypedStorage<4, 64, ::Matrix> mWorldMatrix;
93 ::ll::TypedStorage<8, 616, ::mce::Mesh> mMesh;
94 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::mce::framebuilder::RenderUIMeshDescription>> mMeshDescription;
95 ::ll::TypedStorage<4, 16, ::mce::Color> mTint;
96 ::ll::TypedStorage<4, 20, ::std::optional<::glm::vec4>> mClipRegion;
97 ::ll::TypedStorage<8, 8, uint64> mMaxColumns;
98 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::std::unordered_map<::HashedString, ::HashedString>>>
99 mSubstitutions;
100 ::ll::TypedStorage<8, 24, ::mce::ClientResourcePointer<::dragon::ResolvedImageResource>> mTargetImage;
101 // NOLINTEND
102
103public:
104 // prevent constructor by default
105 UIThumbnailAtlasRenderer();
106
107public:
108 // member functions
109 // NOLINTBEGIN
110 MCAPI UIThumbnailAtlasRenderer(
111 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> client,
112 ::UIThumbnailAtlasRenderer::AtlasInfo atlasInfo,
113 ::std::unordered_map<::HashedString, ::HashedString>& substitutions
114 );
115
116 MCAPI bool renderOffscreen(
117 ::OreUI::AtlasIndex& items,
118 ::TaskGroup& taskGroup,
119 ::std::function<void(::cg::ImageBuffer&&)>&& callback,
120 bool isResume,
121 ::UIThumbnailAtlasRenderer::AtlasInfo const& atlasInfo
122 );
123
124 MCAPI ~UIThumbnailAtlasRenderer();
125 // NOLINTEND
126
127public:
128 // static variables
129 // NOLINTBEGIN
130 MCAPI static int& mRenderCounter();
131 // NOLINTEND
132
133public:
134 // constructor thunks
135 // NOLINTBEGIN
136 MCAPI void* $ctor(
137 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> client,
138 ::UIThumbnailAtlasRenderer::AtlasInfo atlasInfo,
139 ::std::unordered_map<::HashedString, ::HashedString>& substitutions
140 );
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCAPI void $dtor();
147 // NOLINTEND
148};
Definition BaseActorRenderContext.h:5
Definition IClientInstance.h:5
Definition ScreenContext.h:5
Definition TaskGroup.h:61
Definition UIThumbnailAtlasRenderer.h:5
Definition ImageBuffer.h:16
Definition ResolvedImageResource.h:7
Definition AtlasIndex.h:7
Definition UIThumbnailAtlasRenderer.h:13
Definition RenderUIMeshDescription.h:7