vsg: vsg::WindowTraits Class Reference

vsg 1.1.13 VulkanSceneGraph library

Loading...
Searching...
No Matches
vsg::WindowTraits Class Reference

WindowTraits specifies the settings required when creating windows/vulkan instance/device. More...

`#include <WindowTraits.h>`

Inheritance diagram for vsg::WindowTraits:
[legend]
Collaboration diagram for vsg::WindowTraits:
[legend]

## Public Member Functions
| WindowTraits (CommandLine &arguments)
| WindowTraits (const WindowTraits &traits, const CopyOp &copyop={})
| WindowTraits (const std::string &title)
| WindowTraits (int32_t in_x, int32_t in_y, uint32_t in_width, uint32_t in_height, const std::string &title="vsg window")
| WindowTraits (uint32_t in_width, uint32_t in_height, const std::string &title="vsg window")
WindowTraits & | operator= (const WindowTraits &)=delete
ref_ptr< Object > | clone (const CopyOp &copyop={}) const override
void | defaults ()
| set default values, called by all constructors except copy constructor
void | validate ()
| validate the instanceExtensionNames and requestedLayers, assigning additional layers required by debugLayer, synchronizationLayer and apiDumpLayer flags.
Public Member Functions inherited from vsg::Inherit< Object, WindowTraits >
| Inherit (Args &&... args)
std::size_t | sizeofObject () const noexcept override
const char * | className () const noexcept override
const std::type_info & | type_info () const noexcept override
bool | is_compatible (const std::type_info &type) const noexcept override
int | compare (const Object &rhs) const override
void | accept (Visitor &visitor) override
Public Member Functions inherited from vsg::Object
| Object (const Object &object, const CopyOp &copyop={})
Object & | operator= (const Object &)
template<class T>
T * | cast ()
template<class T>
const T * | cast () const
virtual void | traverse (Visitor &)
virtual void | accept (ConstVisitor &visitor) const
virtual void | traverse (ConstVisitor &) const
virtual void | accept (RecordTraversal &visitor) const
virtual void | traverse (RecordTraversal &) const
virtual void | read (Input &input)
virtual void | write (Output &output) const
void | ref () const noexcept
void | unref () const noexcept
void | unref_nodelete () const noexcept
unsigned int | referenceCount () const noexcept
template<typename T>
void | setValue (const std::string &key, const T &value)
void | setValue (const std::string &key, const char *value)
| specialization of setValue to handle passing C strings
template<typename T>
bool | getValue (const std::string &key, T &value) const
| get specified value type, return false if value associated with key is not assigned or is not the correct type
void | setObject (const std::string &key, ref_ptr< Object > object)
| assign an Object associated with key
Object * | getObject (const std::string &key)
| get Object pointer associated with key, return nullptr if no object associated with key has been assigned
const Object * | getObject (const std::string &key) const
| get const Object pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
T * | getObject (const std::string &key)
| get object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const T * | getObject (const std::string &key) const
| get const object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< Object > | getRefObject (const std::string &key)
| get ref_ptr<Object> associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< const Object > | getRefObject (const std::string &key) const
| get ref_ptr<const Object> pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
ref_ptr< T > | getRefObject (const std::string &key)
| get ref_ptr<T> of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const ref_ptr< const T > | getRefObject (const std::string &key) const
| get ref_ptr<const T> of specified type associated with key, return nullptr if no object associated with key has been assigned
void | removeObject (const std::string &key)
| remove meta object or value associated with key
Auxiliary * | getOrCreateAuxiliary ()
Auxiliary * | getAuxiliary ()
const Auxiliary * | getAuxiliary () const

## Public Attributes
int32_t | x = 0
int32_t | y = 0
uint32_t | width = 1280
uint32_t | height = 1024
bool | fullscreen = false
std::string | display
int | screenNum = -1
| A non empty display string overrides any X11 DISPLAY env var that may have been set. ignored on non X11 systems.
std::string | windowClass = "vsg::Window"
| negative screenNum value indicates system defaults should be assumed, a non zero value will set the screenNum, overriding any display or DISPLAY setting for this.
std::string | windowTitle = "vsg window"
bool | decoration = true
bool | hdpi = true
bool | overrideRedirect = false
uint32_t | vulkanVersion = VK_API_VERSION_1_0
SwapchainPreferences | swapchainPreferences
VkFormat | depthFormat = VK_FORMAT_D32_SFLOAT
VkImageUsageFlags | depthImageUsage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
VkQueueFlags | queueFlags = VK_QUEUE_GRAPHICS_BIT
std::vector< float > | queuePriorities {1.0, 0.0}
VkPipelineStageFlagBits | imageAvailableSemaphoreWaitFlag = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
bool | debugLayer = false
bool | synchronizationLayer = false
bool | apiDumpLayer = false
bool | debugUtils = false
ref_ptr< vsg::Device > | device
vsg::Names | instanceExtensionNames
vsg::Names | requestedLayers
vsg::Names | deviceExtensionNames
vsg::PhysicalDeviceTypes | deviceTypePreferences
ref_ptr< DeviceFeatures > | deviceFeatures
VkSampleCountFlags | samples = VK_SAMPLE_COUNT_1_BIT
std::any | nativeWindow
std::any | systemConnection

## Additional Inherited Members
Static Public Member Functions inherited from vsg::Inherit< Object, WindowTraits >
static ref_ptr< WindowTraits > | create (Args &&... args)
static ref_ptr< WindowTraits > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Object
static ref_ptr< Object > | create ()
static ref_ptr< Object > | create_if (bool flag)
static void * | operator new (std::size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_OBJECTS
static void | operator delete (void *ptr)
Protected Member Functions inherited from vsg::Object
virtual void | _attemptDelete () const
void | setAuxiliary (Auxiliary *auxiliary)

## Detailed Description

WindowTraits specifies the settings required when creating windows/vulkan instance/device.

## Member Function Documentation

## ◆ clone()

ref_ptr< Object > vsg::WindowTraits::clone | ( | const CopyOp & | copyop = {} | ) | const
| inlineoverridevirtual

clone this object using CopyOp's duplicates map to decide whether to clone or to return the original object. The default clone(CopyOp&) implementation simply returns ref_ptr<> to this object rather attempt to clone.

Reimplemented from vsg::Object.

The documentation for this class was generated from the following file:

- include/vsg/app/WindowTraits.h