MCPcopy Create free account
hub / github.com/MayaPosch/NymphCast / renderLoadingScreen

Method renderLoadingScreen

src/server/gui/core/Window.cpp:329–372  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

327}
328
329void Window::renderLoadingScreen(std::string text, float percent, unsigned char opacity)
330{
331 Transform4x4f trans = Transform4x4f::Identity();
332 Renderer::setMatrix(trans);
333 Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(), 0x000000FF, 0x000000FF);
334
335 if (percent >= 0)
336 {
337 float baseHeight = 0.04f;
338
339 float w = Renderer::getScreenWidth() / 2;
340 float h = Renderer::getScreenHeight() * baseHeight;
341
342 float x = Renderer::getScreenWidth() / 2 - w / 2;
343 float y = Renderer::getScreenHeight() - (Renderer::getScreenHeight() * 3 * baseHeight);
344
345 Renderer::drawRect(x, y, w, h, 0x25252500 | opacity, 0x25252500 | opacity);
346 Renderer::drawRect(x, y, (w*percent), h, 0x006C9E00 | opacity, 0x006C9E00 | opacity); // 0xFFFFFFFF
347 }
348
349 ImageComponent splash(this, true);
350 splash.setResize(Renderer::getScreenWidth() * 0.6f, 0.0f);
351 splash.setImage(":/splash.svg");
352 splash.setPosition((Renderer::getScreenWidth() - splash.getSize().x()) / 2, (Renderer::getScreenHeight() - splash.getSize().y()) / 2 * 0.6f);
353 splash.render(trans);
354
355 auto& font = mDefaultFonts.at(1);
356 TextCache* cache = font->buildTextCache(text, 0, 0, 0x656565FF);
357
358 float x = Math::round((Renderer::getScreenWidth() - cache->metrics.size.x()) / 2.0f);
359 float y = Math::round(Renderer::getScreenHeight() * 0.78f);
360 trans = trans.translate(Vector3f(x, y, 0.0f));
361 Renderer::setMatrix(trans);
362 font->renderTextCache(cache);
363 delete cache;
364
365 Renderer::swapBuffers();
366
367#ifdef WIN32
368 // Avoid Window Freezing on Windows
369 SDL_Event event;
370 while (SDL_PollEvent(&event));
371#endif
372}
373
374void Window::renderHelpPromptsEarly()
375{

Callers 5

initMethod · 0.80
startMethod · 0.80
loadConfigMethod · 0.80
ReloadAndGoToStartMethod · 0.80
preloadMethod · 0.80

Calls 14

drawRectFunction · 0.85
getScreenWidthFunction · 0.85
getScreenHeightFunction · 0.85
roundFunction · 0.85
buildTextCacheMethod · 0.80
renderTextCacheMethod · 0.80
setMatrixFunction · 0.50
Vector3fClass · 0.50
swapBuffersFunction · 0.50
setResizeMethod · 0.45
setImageMethod · 0.45
setPositionMethod · 0.45

Tested by

no test coverage detected