Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI void $preRenderSetup(::UIRenderContext& renderContext);
66
67 MCNAPI bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const& scene);
68
69 MCNAPI ::UIBatchType $getBatchType() const;
70
71 MCNAPI int $getCustomId() const;
72
73 MCNAPI int $getNumRenderPasses() const;
74
75 MCNAPI ::ResourceLocation $getResourceLocation(int textureSlot, int pass) const;
76
77 MCNAPI ::UIMaterialType $getUIMaterialType(int pass) const;
78
79 MCNAPI bool $getRequiresPreRenderSetup(int pass) const;
80
81 MCNAPI void $onVisibilityChanged(bool visible);
82
83 MCNAPI void $collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
84
85 MCNAPI ::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
MCAPI::UIMaterialType $getUIMaterialType(int pass) const
MCAPI::ResourceLocation $getResourceLocation(int textureSlot, int pass) const
MCAPI::UIBatchType $getBatchType() const
MCAPI bool $getRequiresPreRenderSetup(int pass) const
MCAPI void $collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent > > &screenEvents)
static MCAPI void ** $vftable()
MCAPI void $onVisibilityChanged(bool visible)
MCAPI int $getNumRenderPasses() const
MCAPI void $preRenderSetup(::UIRenderContext &renderContext)
MCAPI bool $update(::IClientInstance &client, ::UIControl &owner, ::UIScene const &scene)
MCAPI int $getCustomId() const
MCAPI::UIItemRenderInfo $getItemRenderInfo() const
Definition UIFrameUpdateContext.h:5
Definition UIRenderContext.h:5
Definition UIScene.h:5
Definition ScreenEvent.h:5
Definition UIItemRenderInfo.h:5