Skip to content
LeviMC
English
AutoLightDark
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/resources/ServerTexture.h"
14#include "mc/world/phys/AABB.h"
15
16// auto generated forward declare list
17// clang-format off
19class IClientInstance;
20class ScreenContext;
21class TaskGroup;
22namespace OreUI { struct AtlasIndex; }
23namespace cg { class ImageBuffer; }
24namespace dragon { class ResolvedImageResource; }
25namespace mce::framebuilder { struct RenderUIMeshDescription; }
26// clang-format on
27
29public:
30 // UIThumbnailAtlasRenderer inner types declare
31 // clang-format off
32 struct AtlasInfo;
33 // clang-format on
34
35 // UIThumbnailAtlasRenderer inner types define
36 struct AtlasInfo {
37 public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<4, 4, float> mScale;
41 ::ll::TypedStorage<8, 8, uint64> mTextureWidth;
42 ::ll::TypedStorage<8, 8, uint64> mTextureHeight;
43 ::ll::TypedStorage<8, 8, uint64> mThumbnailWidth;
44 ::ll::TypedStorage<8, 8, uint64> mThumbnailHeight;
45 ::ll::TypedStorage<4, 4, float> mTranslateX;
46 ::ll::TypedStorage<4, 4, float> mTranslateY;
47 ::ll::TypedStorage<8, 56, ::ResourceLocation> mServerResourceLocation;
48 // NOLINTEND
49 };
50
51 using SubstitutionMap = ::std::unordered_map<::HashedString, ::HashedString>;
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 104, ::UIThumbnailAtlasRenderer::AtlasInfo> mAtlasInfo;
57 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
58 ::ll::TypedStorage<8, 16, ::mce::ServerTexture> mServerTexture;
59 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenContext>> mScreenContext;
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BaseActorRenderContext>> mRenderContext;
61 ::ll::TypedStorage<4, 24, ::AABB> mArea;
62 ::ll::TypedStorage<4, 64, ::Matrix> mWorldMatrix;
63 ::ll::TypedStorage<8, 608, ::mce::Mesh> mMesh;
64 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::mce::framebuilder::RenderUIMeshDescription>> mMeshDescription;
65 ::ll::TypedStorage<4, 16, ::mce::Color> mTint;
66 ::ll::TypedStorage<4, 20, ::std::optional<::glm::vec4>> mClipRegion;
67 ::ll::TypedStorage<8, 8, uint64> mMaxColumns;
68 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::std::unordered_map<::HashedString, ::HashedString>>>
69 mSubstitutions;
70 ::ll::TypedStorage<8, 16, ::mce::ClientResourcePointer<::dragon::ResolvedImageResource>> mTargetImage;
71 // NOLINTEND
72
73public:
74 // prevent constructor by default
75 UIThumbnailAtlasRenderer();
76
77public:
78 // member functions
79 // NOLINTBEGIN
81 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> client,
83 ::std::unordered_map<::HashedString, ::HashedString>& substitutions
84 );
85
86 MCNAPI bool renderOffscreen(
88 ::TaskGroup& taskGroup,
89 ::std::function<void(::cg::ImageBuffer&&)>&& callback,
91 );
92
94 // NOLINTEND
95
96public:
97 // static variables
98 // NOLINTBEGIN
99 MCNAPI static int& mRenderCounter();
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCNAPI void* $ctor(
106 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> client,
108 ::std::unordered_map<::HashedString, ::HashedString>& substitutions
109 );
110 // NOLINTEND
111
112public:
113 // destructor thunk
114 // NOLINTBEGIN
115 MCNAPI void $dtor();
116 // NOLINTEND
117};
Definition BaseActorRenderContext.h:5
Definition IClientInstance.h:5
Definition ScreenContext.h:5
Definition TaskGroup.h:85
Definition UIThumbnailAtlasRenderer.h:5
MCAPI UIThumbnailAtlasRenderer(::Bedrock::NotNullNonOwnerPtr<::IClientInstance > client, ::UIThumbnailAtlasRenderer::AtlasInfo atlasInfo, ::std::unordered_map<::HashedString, ::HashedString > &substitutions)
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::IClientInstance > client, ::UIThumbnailAtlasRenderer::AtlasInfo atlasInfo, ::std::unordered_map<::HashedString, ::HashedString > &substitutions)
MCAPI bool renderOffscreen(::OreUI::AtlasIndex &items, ::TaskGroup &taskGroup, ::std::function< void(::cg::ImageBuffer &&)> &&callback, ::UIThumbnailAtlasRenderer::AtlasInfo const &atlasInfo)
static MCAPI int & mRenderCounter()
Definition ImageBuffer.h:16
Definition ResolvedImageResource.h:7
Definition AtlasIndex.h:7
Definition UIThumbnailAtlasRenderer.h:13
Definition RenderUIMeshDescription.h:7