LeviLamina
Loading...
Searching...
No Matches
UICustomRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/UIMaterialType.h"
7#include "mc/client/gui/screens/UIBatchType.h"
8
9// auto generated forward declare list
10// clang-format off
11class IClientInstance;
13class UIControl;
15class UIRenderContext;
16class UIScene;
17struct ScreenEvent;
18struct UIItemRenderInfo;
19// clang-format on
20
21class UICustomRenderer {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 4, float> mPropagatedAlpha;
26 // NOLINTEND
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~UICustomRenderer() = default;
32
33 virtual void preRenderSetup(::UIRenderContext& renderContext);
34
35 virtual ::std::shared_ptr<::UICustomRenderer> clone() const = 0;
36
37 virtual bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
38
39 virtual void frameUpdate(::UIFrameUpdateContext& frameUpdateContext, ::UIControl& owner) = 0;
40
41 virtual void render(::UIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner, int pass) = 0;
42
43 virtual ::UIBatchType getBatchType() const;
44
45 virtual int getCustomId() const;
46
47 virtual int getNumRenderPasses() const;
48
49 virtual ::ResourceLocation getResourceLocation(int textureSlot, int pass) const;
50
51 virtual ::UIMaterialType getUIMaterialType(int pass) const;
52
53 virtual bool getRequiresPreRenderSetup(int pass) const;
54
55 virtual void onVisibilityChanged(bool visible);
56
57 virtual void collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
58
59 virtual ::UIItemRenderInfo getItemRenderInfo() const;
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCFOLD void $preRenderSetup(::UIRenderContext& renderContext);
66
67 MCFOLD bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
68
69 MCFOLD ::UIBatchType $getBatchType() const;
70
71 MCFOLD int $getCustomId() const;
72
73 MCFOLD int $getNumRenderPasses() const;
74
75 MCAPI ::ResourceLocation $getResourceLocation(int textureSlot, int pass) const;
76
77 MCFOLD ::UIMaterialType $getUIMaterialType(int pass) const;
78
79 MCFOLD bool $getRequiresPreRenderSetup(int pass) const;
80
81 MCFOLD void $onVisibilityChanged(bool visible);
82
83 MCFOLD void $collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
84
85 MCFOLD ::UIItemRenderInfo $getItemRenderInfo() const;
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
Definition IClientInstance.h:5
Definition ResourceLocation.h:15
Definition UIControl.h:5
Definition UICustomRenderer.h:5
static MCAPI void ** $vftable()
Definition UIFrameUpdateContext.h:5
Definition UIRenderContext.h:5
Definition UIScene.h:5
Definition ScreenEvent.h:5
Definition UIItemRenderInfo.h:5