mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-05 14:31:24 +12:00
63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
#include "stdafx.h"
|
|
#include "shader_loading_dialog_native.h"
|
|
#include "../overlay_message_dialog.h"
|
|
#include "../../GSRender.h"
|
|
#include "Emu/Cell/ErrorCodes.h"
|
|
|
|
namespace rsx
|
|
{
|
|
shader_loading_dialog_native::shader_loading_dialog_native(GSRender* ptr)
|
|
: owner(ptr)
|
|
{
|
|
}
|
|
|
|
void shader_loading_dialog_native::create(const std::string& msg, const std::string&/* title*/)
|
|
{
|
|
MsgDialogType type = {};
|
|
type.disable_cancel = true;
|
|
type.progress_bar_count = 2;
|
|
|
|
dlg = g_fxo->get<rsx::overlays::display_manager>().create<rsx::overlays::message_dialog>(true);
|
|
dlg->progress_bar_set_taskbar_index(-1);
|
|
dlg->show(false, msg, type, [](s32 status)
|
|
{
|
|
if (status != CELL_OK)
|
|
Emu.Stop();
|
|
});
|
|
}
|
|
|
|
void shader_loading_dialog_native::update_msg(u32 index, const std::string& msg)
|
|
{
|
|
dlg->progress_bar_set_message(index, msg);
|
|
owner->flip({});
|
|
}
|
|
|
|
void shader_loading_dialog_native::inc_value(u32 index, u32 value)
|
|
{
|
|
dlg->progress_bar_increment(index, static_cast<f32>(value));
|
|
owner->flip({});
|
|
}
|
|
|
|
void shader_loading_dialog_native::set_value(u32 index, u32 value)
|
|
{
|
|
dlg->progress_bar_set_value(index, static_cast<f32>(value));
|
|
owner->flip({});
|
|
}
|
|
|
|
void shader_loading_dialog_native::set_limit(u32 index, u32 limit)
|
|
{
|
|
dlg->progress_bar_set_limit(index, limit);
|
|
owner->flip({});
|
|
}
|
|
|
|
void shader_loading_dialog_native::refresh()
|
|
{
|
|
dlg->refresh();
|
|
}
|
|
|
|
void shader_loading_dialog_native::close()
|
|
{
|
|
dlg->return_code = CELL_OK;
|
|
dlg->close(false, false);
|
|
}
|
|
}
|