3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/controls/UIMaterialType.h"
7#include "mc/client/gui/screens/UIBatchType.h"
25 ::ll::TypedStorage<4, 4, float> mPropagatedAlpha;
31 virtual ~UICustomRenderer() =
default;
33 virtual void preRenderSetup(::UIRenderContext& renderContext);
35 virtual ::std::shared_ptr<::UICustomRenderer> clone()
const = 0;
37 virtual bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene
const& scene);
39 virtual void frameUpdate(::UIFrameUpdateContext& frameUpdateContext, ::UIControl& owner) = 0;
41 virtual void render(::UIRenderContext& renderContext, ::IClientInstance& client, ::UIControl& owner,
int pass) = 0;
43 virtual ::UIBatchType getBatchType()
const;
45 virtual int getCustomId()
const;
47 virtual int getNumRenderPasses()
const;
49 virtual ::ResourceLocation getResourceLocation(
int textureSlot,
int pass)
const;
51 virtual ::UIMaterialType getUIMaterialType(
int pass)
const;
53 virtual bool getRequiresPreRenderSetup(
int pass)
const;
55 virtual void onVisibilityChanged(
bool visible);
57 virtual void collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
59 virtual ::UIItemRenderInfo getItemRenderInfo()
const;
65 MCFOLD
void $preRenderSetup(::UIRenderContext& renderContext);
67 MCFOLD
bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene
const& scene);
69 MCFOLD ::UIBatchType $getBatchType()
const;
71 MCFOLD
int $getCustomId()
const;
73 MCFOLD
int $getNumRenderPasses()
const;
75 MCAPI ::ResourceLocation $getResourceLocation(
int textureSlot,
int pass)
const;
77 MCFOLD ::UIMaterialType $getUIMaterialType(
int pass)
const;
79 MCFOLD
bool $getRequiresPreRenderSetup(
int pass)
const;
81 MCFOLD
void $onVisibilityChanged(
bool visible);
83 MCFOLD
void $collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
85 MCFOLD ::UIItemRenderInfo $getItemRenderInfo()
const;
Definition IClientInstance.h:5
Definition ResourceLocation.h:15
Definition UICustomRenderer.h:5
static MCAPI void ** $vftable()
Definition UIFrameUpdateContext.h:5
Definition UIRenderContext.h:5
Definition ScreenEvent.h:5
Definition UIItemRenderInfo.h:5