#pragma once #include #include #include class ParallelRDP { public: class WindowInfo { public: struct CoordinatePair { float x; float y; }; virtual CoordinatePair get_window_size() = 0; virtual ~WindowInfo() = default; }; void Init(const std::shared_ptr &, const std::shared_ptr &, const std::shared_ptr &, const u8 *); ParallelRDP() = default; void UpdateScreen(n64::VI &); void EnqueueCommand(int, u32 *); void OnFullSync(); bool IsFramerateUnlocked(); void SetFramerateUnlocked(bool); private: void LoadWSIPlatform(const std::shared_ptr &, const std::shared_ptr &, const std::shared_ptr &); void DrawFullscreenTexturedQuad(Util::IntrusivePtr, Util::IntrusivePtr); void UpdateScreen(Util::IntrusivePtr); std::shared_ptr wsi; std::shared_ptr command_processor; std::shared_ptr windowInfo; };