| 
    vsg
    1.1.0
    
   VulkanSceneGraph library 
   | 
 
MacOS_Window implements macOS specific window creation, event handling and vulkan Surface setup. More...
#include <MacOS_Window.h>


Public Member Functions | |
| MacOS_Window (vsg::ref_ptr< vsg::WindowTraits > traits) | |
| MacOS_Window (const MacOS_Window &)=delete | |
| MacOS_Window | operator= (const MacOS_Window &)=delete | 
| const char * | instanceExtensionSurfaceName () const override | 
| bool | valid () const override | 
| bool | pollEvents (vsg::UIEvents &events) override | 
| get the list of events since the last pollEvents() call by splicing bufferEvents with polled windowing events.  | |
| void | resize () override | 
| bool | handleNSEvent (NSEvent *anEvent) | 
| vsg_MacOS_NSWindow * | window () | 
| vsg_MacOS_NSView * | view () | 
| CAMetalLayer * | layer () | 
| vsg::clock::time_point | getEventTime (double eventTime) | 
| void | queueEvent (vsg::UIEvent *anEvent) | 
  Public Member Functions inherited from vsg::Inherit< vsg::Window, MacOS_Window > | |
| 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 | 
| void | accept (ConstVisitor &visitor) const override | 
| void | accept (RecordTraversal &visitor) const override | 
  Public Member Functions inherited from vsg::Window | |
| Window (const Window &)=delete | |
| Window & | operator= (const Window &)=delete | 
| virtual bool | visible () const | 
| virtual void | releaseWindow () | 
| virtual void | releaseConnection () | 
| ref_ptr< WindowTraits > | traits () | 
| const ref_ptr< WindowTraits > | traits () const | 
| const VkExtent2D & | extent2D () const | 
| vec4 & | clearColor () | 
| const vec4 & | clearColor () const | 
| VkSurfaceFormatKHR | surfaceFormat () | 
| VkFormat | depthFormat () | 
| VkSampleCountFlagBits | framebufferSamples () const | 
| void | setInstance (ref_ptr< Instance > instance) | 
| ref_ptr< Instance > | getInstance () | 
| ref_ptr< Instance > | getOrCreateInstance () | 
| void | setSurface (ref_ptr< Surface > surface) | 
| ref_ptr< Surface > | getSurface () | 
| ref_ptr< Surface > | getOrCreateSurface () | 
| void | setPhysicalDevice (ref_ptr< PhysicalDevice > physicalDevice) | 
| ref_ptr< PhysicalDevice > | getPhysicalDevice () | 
| ref_ptr< PhysicalDevice > | getOrCreatePhysicalDevice () | 
| void | setDevice (ref_ptr< Device > device) | 
| ref_ptr< Device > | getDevice () | 
| ref_ptr< Device > | getOrCreateDevice () | 
| void | setRenderPass (ref_ptr< RenderPass > renderPass) | 
| ref_ptr< RenderPass > | getRenderPass () | 
| ref_ptr< RenderPass > | getOrCreateRenderPass () | 
| ref_ptr< Swapchain > | getSwapchain () | 
| ref_ptr< Swapchain > | getOrCreateSwapchain () | 
| ref_ptr< Image > | getDepthImage () | 
| ref_ptr< Image > | getOrCreateDepthImage () | 
| ref_ptr< ImageView > | getDepthImageView () | 
| ref_ptr< ImageView > | getOrCreateDepthImageView () | 
| size_t | numFrames () const | 
| ref_ptr< ImageView > | imageView (size_t i) | 
| const ref_ptr< ImageView > | imageView (size_t i) const | 
| ref_ptr< Framebuffer > | framebuffer (size_t i) | 
| const ref_ptr< Framebuffer > | framebuffer (size_t i) const | 
| VkResult | acquireNextImage (uint64_t timeout=std::numeric_limits< uint64_t >::max()) | 
| call vkAquireNextImageKHR to find the next imageIndex of the swapchain images/framebuffers  | |
| size_t | imageIndex (size_t relativeFrameIndex=0) const | 
| get the image index for specified relative frame index, a 0 value is the current frame being rendered, 1 is the previous frame, 2 is the frame before that.  | |
| bool | debugLayersEnabled () const | 
| Frame & | frame (size_t i) | 
| Frames & | frames () | 
  Public Member Functions inherited from vsg::Inherit< Object, Window > | |
| 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 | 
| void | accept (ConstVisitor &visitor) const override | 
| void | accept (RecordTraversal &visitor) const override | 
  Public Member Functions inherited from vsg::Object | |
| Object (const Object &) | |
| Object & | operator= (const Object &) | 
| template<class T > | |
| T * | cast () | 
| template<class T > | |
| const T * | cast () const | 
| virtual void | traverse (Visitor &) | 
| virtual void | traverse (ConstVisitor &) 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 | 
Protected Member Functions | |
| void | _initSurface () override | 
  Protected Member Functions inherited from vsg::Window | |
| Window (ref_ptr< WindowTraits > traits) | |
| void | _initFormats () | 
| void | _initInstance () | 
| void | _initPhysicalDevice () | 
| void | _initDevice () | 
| void | _initRenderPass () | 
| void | _initSwapchain () | 
| virtual void | clear () | 
| void | share (ref_ptr< Device > device) | 
| void | buildSwapchain () | 
  Protected Member Functions inherited from vsg::Object | |
| virtual void | _attemptDelete () const | 
| void | setAuxiliary (Auxiliary *auxiliary) | 
Protected Attributes | |
| vsg_MacOS_NSWindow * | _window | 
| vsg_MacOS_NSView * | _view | 
| CAMetalLayer * | _metalLayer | 
| double | _first_macos_timestamp = 0 | 
| vsg::clock::time_point | _first_macos_time_point | 
| vsg::ref_ptr< KeyboardMap > | _keyboard | 
  Protected Attributes inherited from vsg::Window | |
| ref_ptr< WindowTraits > | _traits | 
| VkExtent2D | _extent2D | 
| vec4 | _clearColor | 
| VkSurfaceFormatKHR | _imageFormat | 
| VkFormat | _depthFormat | 
| VkSampleCountFlagBits | _framebufferSamples | 
| ref_ptr< Instance > | _instance | 
| ref_ptr< PhysicalDevice > | _physicalDevice | 
| ref_ptr< Device > | _device | 
| ref_ptr< Surface > | _surface | 
| ref_ptr< Swapchain > | _swapchain | 
| ref_ptr< RenderPass > | _renderPass | 
| ref_ptr< Image > | _depthImage | 
| ref_ptr< ImageView > | _depthImageView | 
| ref_ptr< Image > | _multisampleImage | 
| ref_ptr< ImageView > | _multisampleImageView | 
| ref_ptr< Image > | _multisampleDepthImage | 
| ref_ptr< ImageView > | _multisampleDepthImageView | 
| ref_ptr< Semaphore > | _availableSemaphore | 
| Frames | _frames | 
| std::vector< size_t > | _indices | 
Additional Inherited Members | |
  Public Types inherited from vsg::Window | |
| using | Frames = std::vector< Frame > | 
  Static Public Member Functions inherited from vsg::Inherit< vsg::Window, MacOS_Window > | |
| static ref_ptr< MacOS_Window > | create (Args &&... args) | 
| static ref_ptr< MacOS_Window > | create_if (bool flag, Args &&... args) | 
  Static Public Member Functions inherited from vsg::Window | |
| static ref_ptr< Window > | create (vsg::ref_ptr< WindowTraits > traits) | 
| static Window::create(traits) method creates a platform specific Window instance based on specified window traits.  | |
  Static Public Member Functions inherited from vsg::Inherit< Object, Window > | |
| static ref_ptr< Window > | create (Args &&... args) | 
| static ref_ptr< Window > | 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) | 
  Public Attributes inherited from vsg::Window | |
| UIEvents | bufferedEvents | 
| events buffered since the last pollEvents.  | |
MacOS_Window implements macOS specific window creation, event handling and vulkan Surface setup.