3#include "mc/_HeaderOutputPredefine.h"
11namespace mce {
class Color; }
26 enum class ScreenMaterial :
int {
32 BlitCurrentShaderColor = 5,
37 class QuadBuffer :
public ::std::vector<::Vec2> {
45 MCAPI
explicit QuadBuffer(uint64 estimatedQuadCount);
53 MCAPI
void* $ctor(uint64 estimatedQuadCount);
66 MCAPI ScreenRenderer();
69 ::ScreenContext& screenContext,
70 ::mce::TexturePtr
const& tex,
71 ::IntRectangle
const& rect,
72 ::mce::MaterialPtr
const* optionalMat
76 ::ScreenContext& screenContext,
77 ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture>
const& texture,
78 ::IntRectangle
const& rect,
79 ::mce::MaterialPtr
const* optionalMat
83 ::ScreenContext& screenContext,
84 ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture>
const& texture,
93 ::mce::MaterialPtr
const* optionalMat,
99 ::ScreenContext& screenContext,
100 ::mce::TexturePtr
const& texture,
109 ::mce::MaterialPtr
const* optionalMat,
114 MCAPI
void blitQuadBuffer(
115 ::ScreenRenderer::QuadBuffer
const& quadBuffer,
118 ::ScreenContext& screenContext,
119 ::mce::TexturePtr
const& texture,
120 ::mce::MaterialPtr
const* optionalMat
124 drawRect(::ScreenContext& screenContext,
int x0,
int y0,
int x1,
int y1, ::mce::Color
const& color,
int thickness);
127 fill(::ScreenContext& screenContext,
float x0,
float y0,
float x1,
float y1, ::mce::Color
const& color)
const;
129 MCAPI
void fill(::ScreenContext& screenContext,
int x0,
int y0,
int x1,
int y1, ::mce::Color
const& color)
const;
131 MCAPI
void fillGradient(
132 ::ScreenContext& screenContext,
133 ::glm::vec2
const& pos,
134 ::glm::vec2
const& size,
135 ::mce::Color
const& color1,
136 ::mce::Color
const& color2
139 MCAPI
void fillGradient(
140 ::ScreenContext& screenContext,
145 ::mce::Color
const& color1,
146 ::mce::Color
const& color2
149 MCAPI
void fillHorizontalGradient(
150 ::ScreenContext& screenContext,
151 ::glm::vec2
const& pos,
152 ::glm::vec2
const& size,
153 ::mce::Color
const& color1,
154 ::mce::Color
const& color2
157 MCAPI
void fillHorizontalGradient(
158 ::ScreenContext& screenContext,
163 ::mce::Color
const& color1,
164 ::mce::Color
const& color2
167 MCAPI
void fillStencil(::ScreenContext& screenContext,
float x0,
float y0,
float x1,
float y1)
const;
169 MCAPI ::mce::MaterialPtr
const& getMaterial(::ScreenRenderer::ScreenMaterial mat)
const;
171 MCAPI
bool tessellateQuadBuffer(
172 ::ScreenRenderer::QuadBuffer
const& quadBuffer,
175 ::Tessellator& tessellator,
176 ::mce::TexturePtr
const& texture
183 MCAPI
static void destroyInstance();
185 MCAPI
static bool hasMaterial(::ScreenRenderer::ScreenMaterial mat);
187 MCAPI
static void loadMaterials();
189 MCAPI static ::ScreenRenderer& singleton();
195 MCAPI static ::std::add_lvalue_reference_t<::mce::MaterialPtr[]> mScreenMaterials();
197 MCAPI static ::std::unique_ptr<::ScreenRenderer>& singletonPtr();
203 MCFOLD
void* $ctor();
Definition ScreenContext.h:5
Definition ScreenRenderer.h:15
Definition ScreenRenderer.h:5
Definition Tessellator.h:5
Definition MaterialPtr.h:15
Definition TexturePtr.h:7
Definition IntRectangle.h:5
Definition ClientTexture.h:7
Definition ServerTexture.h:7