添加遗漏上传的WinWindow.cpp文件

This commit is contained in:
HuYingzhuo 2019-04-10 10:26:25 +08:00
parent e560192839
commit 6ec1eca6cb
5 changed files with 56 additions and 14 deletions

View File

@ -1,13 +1,9 @@
IF(UNIX)
SET(RENDER_WINDOW_SOURCE XCBWindow.cpp)
SET(RENDER_WINDOW_LIBRARY xcb)
SET(RENDER_WINDOW_LIBRARY xcb)
ELSEIF(WIN32)
SET(RENDER_WINDOW_SOURCE WinWindow.cpp)
ENDIF()
if(WIN32)
SET(RENDER_WINDOW_SOURCE Win32Window.cpp)
ENDIF()
if(APPLE)
ENDIF()
add_executable(VulkanTest main.cpp
${RENDER_WINDOW_SOURCE}

View File

@ -0,0 +1,46 @@
#include"Window.h"
#include<vulkan/vk_sdk_platform.h>
#include<vulkan/vulkan.h>
#include<vulkan/vulkan_win32.h>
namespace hgl
{
namespace graph
{
/**
* Windows平台窗口实现
*/
class WinWindow :public Window
{
public:
using Window::Window;
~WinWindow()
{
}
const char* GetVulkanSurfaceExtname()const
{
return VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
}
bool Create(uint w, uint h) override
{
}
bool Create(uint, uint, uint)override {}
void Close()override
{
}
void Show()override {}
void Hide()override {}
};//class WinWindow :public Window
Window* CreateRenderWindow(const WideString& win_name)
{
return(new WinWindow(win_name));
}
}//namespace graph
}//namespace hgl

View File

@ -30,9 +30,9 @@ namespace hgl
virtual const char *GetVulkanSurfaceExtname()const=0;
virtual bool CreateWindow(uint,uint)=0;
virtual bool CreateFullscreen(uint,uint,uint)=0;
virtual void CloseWindow()=0;
virtual bool Create(uint,uint)=0;
virtual bool Create(uint,uint,uint)=0;
virtual void Close()=0;
virtual void Show()=0;
virtual void Hide()=0;

View File

@ -53,7 +53,7 @@ namespace hgl
return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
}
bool CreateWindow(uint w,uint h) override
bool Create(uint w,uint h) override
{
if(w<=0||h<=0)return(false);
if(!InitConnection())return(false);
@ -101,8 +101,8 @@ namespace hgl
}
}
bool CreateFullscreen(uint,uint,uint)override{}
void CloseWindow()override
bool Create(uint,uint,uint)override{}
void Close()override
{
xcb_destroy_window(connection, window);
xcb_disconnect(connection);

View File

@ -11,7 +11,7 @@ int main(int,char **)
{
Window *win=CreateRenderWindow(OS_TEXT("VulkanTest"));
win->CreateWindow(1280,720);
win->Create(1280,720);
vulkan::Instance inst(U8_TEXT("VulkanTest"),win);