#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&, bool = false); 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; };