2021-06-25 21:10:10 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../gs/GSH_Vulkan/GSH_Vulkan.h"
|
2021-09-28 14:02:27 -04:00
|
|
|
#include "NativeWindowUpdateListener.h"
|
2021-06-25 21:10:10 -04:00
|
|
|
|
2021-09-28 14:02:27 -04:00
|
|
|
class CGSH_VulkanAndroid : public CGSH_Vulkan, public INativeWindowUpdateListener
|
2021-06-25 21:10:10 -04:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
CGSH_VulkanAndroid(ANativeWindow*);
|
|
|
|
virtual ~CGSH_VulkanAndroid() = default;
|
|
|
|
|
2021-09-28 14:02:27 -04:00
|
|
|
void SetWindow(ANativeWindow*) override;
|
2021-06-25 21:10:10 -04:00
|
|
|
|
|
|
|
static FactoryFunction GetFactoryFunction(ANativeWindow*);
|
|
|
|
|
|
|
|
void InitializeImpl() override;
|
2024-02-07 14:57:47 -05:00
|
|
|
void ReleaseImpl() override;
|
2021-06-25 21:10:10 -04:00
|
|
|
void PresentBackbuffer() override;
|
|
|
|
|
|
|
|
private:
|
2021-09-01 17:27:02 -04:00
|
|
|
void CreateSurface();
|
|
|
|
void UpdateViewport();
|
2021-06-25 21:10:10 -04:00
|
|
|
|
|
|
|
ANativeWindow* m_window = nullptr;
|
|
|
|
};
|