mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-23 15:35:46 +00:00
yuzu_tester: Add SDL2-based EmuWindow that doesn't show the window
This commit is contained in:
parent
819006d0d3
commit
ae5a46256e
2 changed files with 164 additions and 0 deletions
41
src/yuzu_tester/emu_window/emu_window_sdl2_hide.h
Normal file
41
src/yuzu_tester/emu_window/emu_window_sdl2_hide.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
// Copyright 2019 yuzu Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/frontend/emu_window.h"
|
||||
|
||||
struct SDL_Window;
|
||||
|
||||
class EmuWindow_SDL2_Hide : public Core::Frontend::EmuWindow {
|
||||
public:
|
||||
explicit EmuWindow_SDL2_Hide();
|
||||
~EmuWindow_SDL2_Hide();
|
||||
|
||||
/// Swap buffers to display the next frame
|
||||
void SwapBuffers() override;
|
||||
|
||||
/// Polls window events
|
||||
void PollEvents() override;
|
||||
|
||||
/// Makes the graphics context current for the caller thread
|
||||
void MakeCurrent() override;
|
||||
|
||||
/// Releases the GL context from the caller thread
|
||||
void DoneCurrent() override;
|
||||
|
||||
/// Whether the window is still open, and a close request hasn't yet been sent
|
||||
bool IsOpen() const;
|
||||
|
||||
private:
|
||||
/// Whether the GPU and driver supports the OpenGL extension required
|
||||
bool SupportsRequiredGLExtensions();
|
||||
|
||||
/// Internal SDL2 render window
|
||||
SDL_Window* render_window;
|
||||
|
||||
using SDL_GLContext = void*;
|
||||
/// The OpenGL context associated with the window
|
||||
SDL_GLContext gl_context;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue