添加遗漏上传的WinWindow.cpp文件
This commit is contained in:
parent
e560192839
commit
6ec1eca6cb
@ -1,13 +1,9 @@
|
|||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
SET(RENDER_WINDOW_SOURCE XCBWindow.cpp)
|
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()
|
ENDIF()
|
||||||
if(WIN32)
|
|
||||||
SET(RENDER_WINDOW_SOURCE Win32Window.cpp)
|
|
||||||
ENDIF()
|
|
||||||
if(APPLE)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
|
|
||||||
add_executable(VulkanTest main.cpp
|
add_executable(VulkanTest main.cpp
|
||||||
${RENDER_WINDOW_SOURCE}
|
${RENDER_WINDOW_SOURCE}
|
||||||
|
46
example/Vulkan/WinWindow.cpp
Normal file
46
example/Vulkan/WinWindow.cpp
Normal 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
|
@ -30,9 +30,9 @@ namespace hgl
|
|||||||
|
|
||||||
virtual const char *GetVulkanSurfaceExtname()const=0;
|
virtual const char *GetVulkanSurfaceExtname()const=0;
|
||||||
|
|
||||||
virtual bool CreateWindow(uint,uint)=0;
|
virtual bool Create(uint,uint)=0;
|
||||||
virtual bool CreateFullscreen(uint,uint,uint)=0;
|
virtual bool Create(uint,uint,uint)=0;
|
||||||
virtual void CloseWindow()=0;
|
virtual void Close()=0;
|
||||||
|
|
||||||
virtual void Show()=0;
|
virtual void Show()=0;
|
||||||
virtual void Hide()=0;
|
virtual void Hide()=0;
|
||||||
|
@ -53,7 +53,7 @@ namespace hgl
|
|||||||
return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
|
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(w<=0||h<=0)return(false);
|
||||||
if(!InitConnection())return(false);
|
if(!InitConnection())return(false);
|
||||||
@ -101,8 +101,8 @@ namespace hgl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CreateFullscreen(uint,uint,uint)override{}
|
bool Create(uint,uint,uint)override{}
|
||||||
void CloseWindow()override
|
void Close()override
|
||||||
{
|
{
|
||||||
xcb_destroy_window(connection, window);
|
xcb_destroy_window(connection, window);
|
||||||
xcb_disconnect(connection);
|
xcb_disconnect(connection);
|
||||||
|
@ -11,7 +11,7 @@ int main(int,char **)
|
|||||||
{
|
{
|
||||||
Window *win=CreateRenderWindow(OS_TEXT("VulkanTest"));
|
Window *win=CreateRenderWindow(OS_TEXT("VulkanTest"));
|
||||||
|
|
||||||
win->CreateWindow(1280,720);
|
win->Create(1280,720);
|
||||||
|
|
||||||
vulkan::Instance inst(U8_TEXT("VulkanTest"),win);
|
vulkan::Instance inst(U8_TEXT("VulkanTest"),win);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user