2020-12-05 13:08:24 +01:00
|
|
|
#pragma once
|
2016-02-01 22:50:02 +01:00
|
|
|
|
2020-10-30 21:26:22 +01:00
|
|
|
#include "GSFrameBase.h"
|
2014-08-04 01:33:57 +02:00
|
|
|
#include "Emu/RSX/RSXThread.h"
|
2016-02-01 22:50:02 +01:00
|
|
|
|
2017-10-11 00:09:04 +02:00
|
|
|
enum wm_event
|
|
|
|
|
{
|
2019-01-06 23:03:56 +01:00
|
|
|
none, // nothing
|
|
|
|
|
toggle_fullscreen, // user is requesting a fullscreen switch
|
|
|
|
|
geometry_change_notice, // about to start resizing and/or moving the window
|
|
|
|
|
geometry_change_in_progress, // window being resized and/or moved
|
|
|
|
|
window_resized, // window was resized
|
|
|
|
|
window_minimized, // window was minimized
|
|
|
|
|
window_restored, // window was restored from a minimized state
|
|
|
|
|
window_moved, // window moved without resize
|
2017-10-28 14:34:24 +02:00
|
|
|
window_visibility_changed
|
2017-10-11 00:09:04 +02:00
|
|
|
};
|
|
|
|
|
|
2015-10-05 02:42:48 +02:00
|
|
|
class GSRender : public rsx::thread
|
2013-06-30 10:46:29 +02:00
|
|
|
{
|
2015-10-05 02:42:48 +02:00
|
|
|
protected:
|
|
|
|
|
GSFrameBase* m_frame;
|
|
|
|
|
draw_context_t m_context;
|
|
|
|
|
|
|
|
|
|
public:
|
2017-05-20 13:45:02 +02:00
|
|
|
GSRender();
|
2019-06-08 09:49:47 +02:00
|
|
|
~GSRender() override;
|
2015-10-05 02:42:48 +02:00
|
|
|
|
2015-11-26 09:06:29 +01:00
|
|
|
void on_init_thread() override;
|
2017-11-03 18:43:11 +01:00
|
|
|
void on_exit() override;
|
2015-10-05 02:42:48 +02:00
|
|
|
|
2019-09-19 19:08:06 +02:00
|
|
|
void flip(const rsx::display_flip_info_t& info) override;
|
2019-01-06 23:03:56 +01:00
|
|
|
|
2021-04-09 21:12:47 +02:00
|
|
|
GSFrameBase* get_frame() const { return m_frame; }
|
2015-10-04 00:45:26 +02:00
|
|
|
};
|