mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-12-06 07:12:28 +01:00
29 lines
678 B
C++
29 lines
678 B
C++
#pragma once
|
|
|
|
#include "gs_frame.h"
|
|
|
|
#include <memory>
|
|
|
|
struct GLContext
|
|
{
|
|
QSurface *surface = nullptr;
|
|
QOpenGLContext *handle = nullptr;
|
|
bool owner = false;
|
|
};
|
|
|
|
class gl_gs_frame : public gs_frame
|
|
{
|
|
private:
|
|
QSurfaceFormat m_format;
|
|
GLContext *m_primary_context = nullptr;
|
|
|
|
public:
|
|
explicit gl_gs_frame(QScreen* screen, const QRect& geometry, const QIcon& appIcon, std::shared_ptr<gui_settings> gui_settings, bool force_fullscreen);
|
|
|
|
void reset() override;
|
|
draw_context_t make_context() override;
|
|
void set_current(draw_context_t ctx) override;
|
|
void delete_context(draw_context_t ctx) override;
|
|
void flip(draw_context_t context, bool skip_frame = false) override;
|
|
};
|