LeviLamina
Loading...
Searching...
No Matches
MinecraftInputRenderContext.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/FontHandle.h"
7#include "mc/client/gui/ScreenRenderer.h"
8#include "mc/deps/core/math/Color.h"
9#include "mc/deps/input/InputRenderContext.h"
10#include "mc/deps/input/RectangleArea.h"
11#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
12
13// auto generated forward declare list
14// clang-format off
15class ScreenContext;
16class Tessellator;
17namespace mce { class TextureGroup; }
18// clang-format on
19
21public:
22 // MinecraftInputRenderContext inner types declare
23 // clang-format off
24 struct TextItem;
25 // clang-format on
26
27 // MinecraftInputRenderContext inner types define
28 struct TextItem {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<4, 16, ::RectangleArea> area;
33 ::ll::TypedStorage<4, 16, ::mce::Color> color;
34 ::ll::TypedStorage<8, 32, ::std::string> text;
35 // NOLINTEND
36 };
37
38public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 16, ::mce::Color> mCurrentColor;
42 ::ll::TypedStorage<8, 80, ::FontHandle> mFontHandle;
43 ::ll::TypedStorage<8, 24, ::std::vector<::MinecraftInputRenderContext::TextItem>> mTextToDraw;
44 ::ll::TypedStorage<8, 8, ::ScreenContext&> mScreenContext;
45 ::ll::TypedStorage<8, 8, ::Tessellator&> mTessellator;
46 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mTexture;
47 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::mce::TextureGroup>> mTextureGroup;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 MinecraftInputRenderContext& operator=(MinecraftInputRenderContext const&);
53 MinecraftInputRenderContext(MinecraftInputRenderContext const&);
54 MinecraftInputRenderContext();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual ~MinecraftInputRenderContext() /*override*/;
60
61 virtual void setColor(::mce::Color const& color) /*override*/;
62
63 virtual void drawRect(
64 ::RectangleArea const& rect,
65 int u,
66 int v,
67 int uvWidth,
68 int uvHeight,
69 float uScale,
70 float vScale,
71 float px,
72 float py
73 ) const /*override*/;
74
75 virtual ::RectangleArea measureText(::glm::vec2 const& center, ::std::string const& text) const /*override*/;
76
77 virtual void drawText(::RectangleArea const& area, ::std::string const& text) /*override*/;
78
79 virtual void forceRender(::std::string const& texturePath) /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI MinecraftInputRenderContext(
86 ::ScreenContext& screenContext,
87 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
88 ::FontHandle fontHandle
89 );
90
91 MCAPI void render(::mce::TexturePtr overrideTexture);
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void*
98 $ctor(::ScreenContext& screenContext, ::std::shared_ptr<::mce::TextureGroup> textureGroup, ::FontHandle fontHandle);
99 // NOLINTEND
100
101public:
102 // destructor thunk
103 // NOLINTBEGIN
104 MCAPI void $dtor();
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI void $setColor(::mce::Color const& color);
111
112 MCAPI void $drawRect(
113 ::RectangleArea const& rect,
114 int u,
115 int v,
116 int uvWidth,
117 int uvHeight,
118 float uScale,
119 float vScale,
120 float px,
121 float py
122 ) const;
123
124 MCAPI ::RectangleArea $measureText(::glm::vec2 const& center, ::std::string const& text) const;
125
126 MCAPI void $drawText(::RectangleArea const& area, ::std::string const& text);
127
128 MCAPI void $forceRender(::std::string const& texturePath);
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCNAPI static void** $vftable();
135 // NOLINTEND
136};
Definition InputRenderContext.h:5
Definition MinecraftInputRenderContext.h:5
static MCAPI void ** $vftable()
Definition ScreenContext.h:5
Definition ScreenRenderer.h:5
Definition Tessellator.h:5
Definition TextureGroup.h:7
Definition MinecraftInputRenderContext.h:13