mirror of
https://github.com/SysRay/psOff_public.git
synced 2024-11-23 06:19:41 +00:00
30 lines
773 B
C++
30 lines
773 B
C++
#pragma once
|
|
#include "../imageHandler.h"
|
|
#include "../vulkan/vulkanSetup.h"
|
|
#include "core/videoout/vulkan/vulkanTypes.h"
|
|
#include "utility/utility.h"
|
|
|
|
#include <SDL2/SDL.h>
|
|
#include <memory>
|
|
|
|
struct ImageData;
|
|
|
|
class IOverlayHandler {
|
|
CLASS_NO_COPY(IOverlayHandler);
|
|
|
|
protected:
|
|
IOverlayHandler() = default;
|
|
|
|
public:
|
|
virtual ~IOverlayHandler() = default;
|
|
|
|
virtual void stop() = 0;
|
|
|
|
virtual void submit(ImageData const& imageData) = 0;
|
|
|
|
virtual void processEvent(SDL_Event const* event) = 0;
|
|
};
|
|
|
|
std::unique_ptr<IOverlayHandler> createOverlay(std::shared_ptr<vulkan::DeviceInfo>& deviceInfo, std::shared_ptr<IImageHandler>& imageHandler,
|
|
SDL_Window* window, vulkan::QueueInfo* queue, VkFormat displayFormat);
|