ppsspp/Qt/QtHost.h

73 lines
1.6 KiB
C++

#ifndef QTHOST_H
#define QTHOST_H
#include <QObject>
#include "../Core/Host.h"
#include "mainwindow.h"
#include "base/NativeApp.h"
#include "file/vfs.h"
#include "file/zip_read.h"
#include "gfx_es2/gl_state.h"
#include "gfx/texture.h"
#include "input/input_state.h"
#include "math/math_util.h"
#include "math/lin/matrix4x4.h"
#include <QGLWidget>
// Globals
static PMixer *g_mixer;
static QString fileToStart;
static QtEmuGL* glWindow;
class QtHost : public QObject, public Host
{
Q_OBJECT
public:
QtHost(MainWindow* mainWindow);
void UpdateMemView();
void UpdateDisassembly();
void UpdateUI();
void SetDebugMode(bool mode);
void AddSymbol(std::string name, u32 addr, u32 size, int type);
bool InitGL(std::string *error_string);
void BeginFrame();
void EndFrame();
void ShutdownGL();
void InitSound(PMixer *mixer);
void UpdateSound() { }
void ShutdownSound();
bool IsDebuggingEnabled();
bool GPUDebuggingActive();
void BootDone();
void PrepareShutdown();
bool AttemptLoadSymbolMap();
void SetWindowTitle(const char *message);
void GPUNotifyCommand(u32 pc);
void SendCoreWait(bool);
bool GpuStep();
void SendGPUWait(u32 cmd, u32 addr, void* data);
void SendGPUStart();
void SetGPUStep(bool value, int flag = 0, u32 data = 0);
void NextGPUStep();
bool InputBoxGetString(char *title, const char *defaultValue, char *outValue, size_t outlength);
bool InputBoxGetWString(const wchar_t *title, const std::wstring &defaultValue, std::wstring &outValue);
signals:
void BootDoneSignal();
private:
MainWindow* mainWindow;
bool m_GPUStep;
int m_GPUFlag;
u32 m_GPUData;
};
#endif // QTAPP_H