27 class VSG_DECLSPEC WindowTraits :
public Inherit<Object, WindowTraits>
32 explicit WindowTraits(
const WindowTraits& traits,
const CopyOp& copyop = {});
33 explicit WindowTraits(
const std::string& title);
34 WindowTraits(int32_t in_x, int32_t in_y, uint32_t in_width, uint32_t in_height,
const std::string& title =
"vsg window");
35 WindowTraits(uint32_t in_width, uint32_t in_height,
const std::string& title =
"vsg window");
37 WindowTraits& operator=(
const WindowTraits&) =
delete;
49 uint32_t width = 1280;
50 uint32_t height = 1024;
52 bool fullscreen =
false;
58 std::string windowTitle =
"vsg window";
60 bool decoration =
true;
64 bool overrideRedirect =
false;
66 uint32_t vulkanVersion = VK_API_VERSION_1_0;
69 VkFormat depthFormat = VK_FORMAT_D32_SFLOAT;
70 VkImageUsageFlags depthImageUsage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
72 VkQueueFlags queueFlags = VK_QUEUE_GRAPHICS_BIT;
73 std::vector<float> queuePriorities{1.0, 0.0};
74 VkPipelineStageFlagBits imageAvailableSemaphoreWaitFlag = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
77 bool debugLayer =
false;
78 bool synchronizationLayer =
false;
79 bool apiDumpLayer =
false;
80 bool debugUtils =
false;
86 vsg::Names instanceExtensionNames;
87 vsg::Names requestedLayers;
88 vsg::Names deviceExtensionNames;
89 vsg::PhysicalDeviceTypes deviceTypePreferences;
96 VkSampleCountFlags samples = VK_SAMPLE_COUNT_1_BIT;
98 std::any nativeWindow;
99 std::any systemConnection;