2017-10-25 17:20:53 +00:00
|
|
|
#include <stdarg.h>
|
2017-10-27 03:43:14 +00:00
|
|
|
#include <string.h>
|
2017-10-27 06:42:02 +00:00
|
|
|
#include <cstdlib>
|
2021-10-24 10:11:42 +00:00
|
|
|
#include "GLideNHQ/TxFilterExport.h"
|
2017-10-25 17:20:53 +00:00
|
|
|
#include <Graphics/Context.h>
|
|
|
|
#include <Graphics/Parameters.h>
|
|
|
|
|
|
|
|
#include "FrameBuffer.h"
|
|
|
|
#include "DisplayWindow.h"
|
|
|
|
#include "DisplayLoadProgress.h"
|
|
|
|
|
|
|
|
void displayLoadProgress(const wchar_t *format, ...)
|
|
|
|
{
|
2022-02-10 20:27:45 +00:00
|
|
|
#ifndef NO_LOAD_PROGRESS_DISPLAY
|
2017-10-25 17:20:53 +00:00
|
|
|
va_list args;
|
|
|
|
wchar_t wbuf[INFO_BUF];
|
|
|
|
char buf[INFO_BUF];
|
|
|
|
|
|
|
|
// process input
|
|
|
|
#ifdef OS_ANDROID
|
|
|
|
const u32 bufSize = 2048;
|
|
|
|
char cbuf[bufSize];
|
|
|
|
char fmt[bufSize];
|
|
|
|
wcstombs(fmt, format, bufSize);
|
|
|
|
va_start(args, format);
|
|
|
|
vsprintf(cbuf, fmt, args);
|
|
|
|
va_end(args);
|
|
|
|
mbstowcs(wbuf, cbuf, INFO_BUF);
|
|
|
|
#else
|
|
|
|
va_start(args, format);
|
|
|
|
vswprintf(wbuf, INFO_BUF, format, args);
|
|
|
|
va_end(args);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// XXX: convert to multibyte
|
|
|
|
wcstombs(buf, wbuf, INFO_BUF);
|
|
|
|
|
|
|
|
FrameBuffer* pBuffer = frameBufferList().getCurrent();
|
|
|
|
if (pBuffer != nullptr)
|
2018-04-03 15:08:06 +00:00
|
|
|
gfxContext.bindFramebuffer(graphics::bufferTarget::DRAW_FRAMEBUFFER, graphics::ObjectHandle::defaultFramebuffer);
|
2017-10-25 17:20:53 +00:00
|
|
|
|
|
|
|
GraphicsDrawer & drawer = dwnd().getDrawer();
|
|
|
|
drawer.clearColorBuffer(nullptr);
|
2017-10-27 03:43:14 +00:00
|
|
|
if (strlen(buf) > 0)
|
|
|
|
drawer.drawText(buf, -0.9f, 0);
|
2017-10-25 17:20:53 +00:00
|
|
|
dwnd().swapBuffers();
|
|
|
|
|
|
|
|
if (pBuffer != nullptr)
|
|
|
|
gfxContext.bindFramebuffer(graphics::bufferTarget::DRAW_FRAMEBUFFER, pBuffer->m_FBO);
|
2022-02-10 20:27:45 +00:00
|
|
|
#endif
|
2017-10-25 17:20:53 +00:00
|
|
|
}
|