3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/TextAlignment.h"
13class ResourceLocation;
21namespace Core {
class Path; }
22namespace mce {
class Color; }
23namespace mce {
class TexturePtr; }
24namespace mce {
struct ClientTexture; }
33 virtual int getLineLength(
::Font&, ::std::string
const&,
float,
bool)
const = 0;
35 virtual float getTextAlpha()
const = 0;
37 virtual void setTextAlpha(
float) = 0;
39 virtual void drawDebugText(
40 ::RectangleArea
const&,
49 virtual void drawText(
51 ::RectangleArea
const&,
60 virtual void flushText(
float, ::std::optional<float>) = 0;
62 virtual void drawImage(
73 virtual void flushImages(::mce::Color
const&,
float, ::HashedString
const&) = 0;
79 virtual void reserveSharedMeshBatch(uint64) = 0;
81 virtual uint64 getSharedMeshBatchVertexCount()
const = 0;
83 virtual void drawRectangle(::RectangleArea
const&, ::mce::Color
const&,
float,
int) = 0;
85 virtual void fillRectangle(::RectangleArea
const&, ::mce::Color
const&,
float) = 0;
87 virtual void increaseStencilRef() = 0;
89 virtual void decreaseStencilRef() = 0;
91 virtual void resetStencilRef() = 0;
93 virtual void fillRectangleStencil(::RectangleArea
const&) = 0;
95 virtual void enableScissorTest(::RectangleArea
const&) = 0;
97 virtual void disableScissorTest() = 0;
99 virtual void setClippingRectangle(::RectangleArea
const&) = 0;
101 virtual void setFullClippingRectangle() = 0;
103 virtual void saveCurrentClippingRectangle() = 0;
105 virtual void restoreSavedClippingRectangle() = 0;
107 virtual ::RectangleArea getFullClippingRectangle()
const = 0;
109 virtual bool updateCustom(::gsl::not_null<::CustomRenderComponent*>) = 0;
111 virtual void renderCustom(::gsl::not_null<::CustomRenderComponent*>,
int) = 0;
113 virtual void cleanup() = 0;
115 virtual void removePersistentMeshes() = 0;
117 virtual ::mce::TexturePtr getTexture(::ResourceLocation
const&,
bool)
const = 0;
119 virtual ::mce::TexturePtr getZippedTexture(::Core::Path
const&, ::ResourceLocation
const&,
bool)
const = 0;
121 virtual bool unloadTexture(::ResourceLocation
const&) = 0;
123 virtual ::UITextureInfoPtr getUITextureInfo(::ResourceLocation
const&,
bool)
const = 0;
125 virtual void touchTexture(::ResourceLocation
const&) = 0;
127 virtual ::UIMeasureStrategy& getMeasureStrategy() = 0;
129 virtual void snapImageSizeToGrid(::glm::vec2&)
const = 0;
131 virtual void snapImagePositionToGrid(::glm::vec2&)
const = 0;
133 virtual void notifyImageEstimate(uint64) = 0;
Definition UIMeasureStrategy.h:5
Definition UIRenderContext.h:5
Definition UITextureInfoPtr.h:5
Definition CaretMeasureData.h:5
Definition ComponentRenderBatch.h:5
Definition CustomRenderComponent.h:5
Definition NinesliceInfo.h:5
Definition TextMeasureData.h:5
Definition ClientTexture.h:19