| 327 | } |
| 328 | |
| 329 | void 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 | |
| 374 | void Window::renderHelpPromptsEarly() |
| 375 | { |
no test coverage detected