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();
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 MCAPI UICustomRenderer();
67 MCAPI
void setPropagatedAlpha(
float a);
73 MCAPI
static float getZOffset(
int zOrder);
91 MCFOLD
void $preRenderSetup(::UIRenderContext& renderContext);
93 MCFOLD
bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene
const& scene);
95 MCFOLD ::UIBatchType $getBatchType()
const;
97 MCFOLD
int $getCustomId()
const;
99 MCFOLD
int $getNumRenderPasses()
const;
101 MCAPI ::ResourceLocation $getResourceLocation(
int textureSlot,
int pass)
const;
103 MCFOLD ::UIMaterialType $getUIMaterialType(
int pass)
const;
105 MCFOLD
bool $getRequiresPreRenderSetup(
int pass)
const;
107 MCFOLD
void $onVisibilityChanged(
bool visible);
109 MCFOLD
void $collectScreenEvents(::std::queue<::ScreenEvent, ::std::deque<::ScreenEvent>>& screenEvents);
111 MCAPI ::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