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(::UIThumbnailAtlasRenderer::AtlasInfo&&);
66
67 MCAPI ~AtlasInfo();
68 // NOLINTEND
69
70 public:
71 // constructor thunks
72 // NOLINTBEGIN
73 MCAPI void* $ctor(::UIThumbnailAtlasRenderer::AtlasInfo const&);
74
75 MCAPI void* $ctor(::UIThumbnailAtlasRenderer::AtlasInfo&&);
76 // NOLINTEND
77
78 public:
79 // destructor thunk
80 // NOLINTBEGIN
81 MCAPI void $dtor();
82 // NOLINTEND
83 };
84
85 using SubstitutionMap = ::std::unordered_map<::HashedString, ::HashedString>;
86
87public:
88 // member variables
89 // NOLINTBEGIN
90 ::ll::TypedStorage<8, 232, ::UIThumbnailAtlasRenderer::AtlasInfo> mAtlasInfo;
91 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
92 ::ll::TypedStorage<8, 24, ::mce::ServerTexture> mServerTexture;
93 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenContext>> mScreenContext;
94 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BaseActorRenderContext>> mRenderContext;
95 ::ll::TypedStorage<4, 24, ::AABB> mArea;
96 ::ll::TypedStorage<4, 64, ::Matrix> mWorldMatrix;
97 ::ll::TypedStorage<8, 632, ::mce::Mesh> mMesh;
98 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::mce::framebuilder::RenderUIMeshDescription>> mMeshDescription;
99 ::ll::TypedStorage<4, 16, ::mce::Color> mTint;
100 ::ll::TypedStorage<4, 20, ::std::optional<::glm::vec4>> mClipRegion;
101 ::ll::TypedStorage<8, 8, uint64> mMaxColumns;
102 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::std::unordered_map<::HashedString, ::HashedString>>>
103 mSubstitutions;
104 ::ll::TypedStorage<8, 24, ::mce::ClientResourcePointer<::dragon::ResolvedImageResource>> mTargetImage;
105 // NOLINTEND
106
107public:
108 // prevent constructor by default
109 UIThumbnailAtlasRenderer();
110
111public:
112 // member functions
113 // NOLINTBEGIN
114 MCAPI UIThumbnailAtlasRenderer(
115 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> client,
116 ::UIThumbnailAtlasRenderer::AtlasInfo atlasInfo,
117 ::std::unordered_map<::HashedString, ::HashedString>& substitutions
118 );
119
120 MCAPI bool renderOffscreen(
121 ::OreUI::AtlasIndex& items,
122 ::TaskGroup& taskGroup,
123 ::std::function<void(::cg::ImageBuffer&&)>&& callback,
124 bool isResume,
125 ::UIThumbnailAtlasRenderer::AtlasInfo const& atlasInfo
126 );
127
128 MCAPI ~UIThumbnailAtlasRenderer();
129 // NOLINTEND
130
131public:
132 // static variables
133 // NOLINTBEGIN
134 MCAPI static int& mRenderCounter();
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCAPI void* $ctor(
141 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> client,
142 ::UIThumbnailAtlasRenderer::AtlasInfo atlasInfo,
143 ::std::unordered_map<::HashedString, ::HashedString>& substitutions
144 );
145 // NOLINTEND
146
147public:
148 // destructor thunk
149 // NOLINTBEGIN
150 MCAPI void $dtor();
151 // NOLINTEND
152};
Definition BaseActorRenderContext.h:5
Definition IClientInstance.h:5
Definition ScreenContext.h:5
Definition TaskGroup.h:86
Definition UIThumbnailAtlasRenderer.h:5
Definition ImageBuffer.h:16
Definition ResolvedImageResource.h:7
Definition AtlasIndex.h:7
Definition UIThumbnailAtlasRenderer.h:13
Definition RenderUIMeshDescription.h:7