diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-03-26 01:30:57 +0100 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-06-10 06:03:11 +0200 |
commit | ae5a46256e35a89e7f303fa6510e3f2e8aca04e3 (patch) | |
tree | 3319a836b2b905110288ffd485857377aacff1c7 /src/yuzu_tester/emu_window/emu_window_sdl2_hide.h | |
parent | yuzu_tester: Use config, icon, and main from yuzu-cmd (diff) | |
download | yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.tar yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.tar.gz yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.tar.bz2 yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.tar.lz yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.tar.xz yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.tar.zst yuzu-ae5a46256e35a89e7f303fa6510e3f2e8aca04e3.zip |
Diffstat (limited to '')
-rw-r--r-- | src/yuzu_tester/emu_window/emu_window_sdl2_hide.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/yuzu_tester/emu_window/emu_window_sdl2_hide.h b/src/yuzu_tester/emu_window/emu_window_sdl2_hide.h new file mode 100644 index 000000000..1a8953c75 --- /dev/null +++ b/src/yuzu_tester/emu_window/emu_window_sdl2_hide.h @@ -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; +}; |