HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes
tt::gui_window_vulkan_macos Class Referencefinal
Inheritance diagram for tt::gui_window_vulkan_macos:
tt::gui_window_vulkan tt::gui_window

Public Member Functions

 gui_window_vulkan_macos (std::shared_ptr< WindowDelegate > const &delegate, Label &&title)
 
 gui_window_vulkan_macos (const gui_window_vulkan_macos &)=delete
 
gui_window_vulkan_macosoperator= (const gui_window_vulkan_macos &)=delete
 
 gui_window_vulkan_macos (gui_window_vulkan_macos &&)=delete
 
gui_window_vulkan_macosoperator= (gui_window_vulkan_macos &&)=delete
 
vk::SurfaceKHR getSurface () const override
 
void set_cursor (mouse_cursor cursor) noexcept override
 Set the mouse cursor icon.
 
void close_window () override
 Ask the operating system to close this window.
 
void minimize_window () override
 Ask the operating system to minimize this window.
 
void maximize_window () override
 Ask the operating system to maximize this window.
 
void normalize_window () override
 Ask the operating system to normalize this window.
 
void set_window_size (size_t width, size_t height) override
 
std::string get_text_from_clipboard () const noexcept override
 Retrieve a text string from the operating system's clip-board.
 
void set_text_on_clipboard (std::string str) noexcept override
 Place a text string on the operating system's clip-board.
 
- Public Member Functions inherited from tt::gui_window_vulkan
 gui_window_vulkan (gui_system &system, std::weak_ptr< gui_window_delegate > const &delegate, label const &title)
 
 gui_window_vulkan (const gui_window_vulkan &)=delete
 
gui_window_vulkanoperator= (const gui_window_vulkan &)=delete
 
 gui_window_vulkan (gui_window_vulkan &&)=delete
 
gui_window_vulkanoperator= (gui_window_vulkan &&)=delete
 
void init () override
 2 phase constructor.
 
gui_device_vulkanvulkan_device () const noexcept
 
void render (hires_utc_clock::time_point displayTimePoint) override
 Update window.
 
- Public Member Functions inherited from tt::gui_window
 gui_window (gui_system &system, std::weak_ptr< gui_window_delegate > const &delegate, label const &title)
 
 gui_window (gui_window const &)=delete
 
gui_windowoperator= (gui_window const &)=delete
 
 gui_window (gui_window &&)=delete
 
gui_windowoperator= (gui_window &&)=delete
 
void request_redraw (aarectangle rectangle) noexcept
 Request a rectangle on the window to be redrawn.
 
void request_redraw () noexcept
 Request a rectangle on the window to be redrawn.
 
float fontScale () const noexcept
 By how much the font needs to be scaled compared to current windowScale.
 
void set_device (gui_device *device)
 
void unset_device ()
 
gui_devicedevice () const noexcept
 
bool is_closed ()
 Check if the window was closed by the operating system.
 
template<typename T , typename... Args>
std::shared_ptr< T > make_widget (size_t column_nr, size_t row_nr, Args &&...args)
 Add a widget to main widget of the window.
 
template<typename T , typename... Args>
std::shared_ptr< T > make_widget (std::string_view address, Args &&...args)
 Add a widget to main widget of the window.
 
template<typename T , horizontal_alignment Alignment = horizontal_alignment::left, typename... Args>
std::shared_ptr< T > make_toolbar_widget (Args &&...args)
 Add a widget to main widget of the window.
 
void set_resize_border_priority (bool left, bool right, bool bottom, bool top) noexcept
 
virtual void set_window_size (extent2 extent)=0
 Ask the operating system to set the size of this window.
 
void update_mouse_target (std::shared_ptr< tt::widget > new_target_widget, point2 position={}) noexcept
 
void update_keyboard_target (std::shared_ptr< tt::widget > widget, keyboard_focus_group group=keyboard_focus_group::normal) noexcept
 Change the keyboard focus to the given widget.
 
void update_keyboard_target (std::shared_ptr< tt::widget > const &widget, keyboard_focus_group group, keyboard_focus_direction direction) noexcept
 Change the keyboard focus to the given, previous or next widget.
 
virtual extent2 virtual_screen_size () const noexcept=0
 Get the size of the virtual-screen.
 
translate2 window_to_screen () const noexcept
 
translate2 screen_to_window () const noexcept
 

Static Public Member Functions

static void createWindowClass ()
 

Static Public Attributes

static bool firstWindowHasBeenOpened
 
- Static Public Attributes inherited from tt::gui_window_vulkan
static constexpr uint32_t defaultNumberOfSwapchainImages = 2
 
static const vk::Format depthImageFormat = vk::Format::eD32Sfloat
 
static const vk::Format colorImageFormat = vk::Format::eR16G16B16A16Sfloat
 

Additional Inherited Members

- Data Fields inherited from tt::gui_window_vulkan
vk::SurfaceKHR intrinsic
 
vk::SwapchainKHR swapchain
 
int nrSwapchainImages
 
vk::Extent2D swapchainImageExtent
 
vk::SurfaceFormatKHR swapchainImageFormat
 
std::vector< swapchain_image_infoswapchain_image_infos
 
VmaAllocation depthImageAllocation
 
vk::Image depthImage
 
vk::ImageView depthImageView
 
std::array< VmaAllocation, 2 > colorImageAllocations
 
std::array< vk::Image, 2 > colorImages
 
std::array< vk::ImageView, 2 > colorImageViews
 
std::array< vk::DescriptorImageInfo, 2 > colorDescriptorImageInfos
 
vk::RenderPass renderPass
 
vk::CommandBuffer commandBuffer
 
vk::Semaphore imageAvailableSemaphore
 
vk::Semaphore renderFinishedSemaphore
 
vk::Fence renderFinishedFence
 
std::unique_ptr< pipeline_image::pipeline_imageimagePipeline
 
std::unique_ptr< pipeline_flat::pipeline_flatflatPipeline
 
std::unique_ptr< pipeline_box::pipeline_boxboxPipeline
 
std::unique_ptr< pipeline_SDF::pipeline_SDFSDFPipeline
 
std::unique_ptr< pipeline_tone_mapper::pipeline_tone_mappertoneMapperPipeline
 
- Data Fields inherited from tt::gui_window
gui_systemsystem
 
gui_window_state state = gui_window_state::no_device
 
mouse_cursor currentmouse_cursor = mouse_cursor::None
 The current cursor.
 
std::atomic< bool > requestLayout = true
 When set to true the widgets will be layed out.
 
std::atomic< bool > requestResize = true
 When set to true the window will resize to the size of the contained widget.
 
std::atomic< bool > resizing = false
 
std::atomic< bool > active = false
 
gui_window_size size_state = gui_window_size::normal
 
extent2 extent
 The current window extent as set by the GPU library.
 
std::weak_ptr< gui_window_delegatedelegate
 
label title
 
subpixel_orientation subpixel_orientation = subpixel_orientation::BlueRight
 
float dpi = 72.0
 
std::shared_ptr< window_widgetwidget
 The widget covering the complete window.
 

Member Function Documentation

◆ close_window()

void tt::gui_window_vulkan_macos::close_window ( )
overridevirtual

Ask the operating system to close this window.

Implements tt::gui_window.

◆ get_text_from_clipboard()

std::string tt::gui_window_vulkan_macos::get_text_from_clipboard ( ) const
inlineoverridevirtualnoexcept

Retrieve a text string from the operating system's clip-board.

Implements tt::gui_window.

◆ getSurface()

vk::SurfaceKHR tt::gui_window_vulkan_macos::getSurface ( ) const
overridevirtual

Query the surface from the operating-system window.

Implements tt::gui_window_vulkan.

◆ maximize_window()

void tt::gui_window_vulkan_macos::maximize_window ( )
overridevirtual

Ask the operating system to maximize this window.

Implements tt::gui_window.

◆ minimize_window()

void tt::gui_window_vulkan_macos::minimize_window ( )
overridevirtual

Ask the operating system to minimize this window.

Implements tt::gui_window.

◆ normalize_window()

void tt::gui_window_vulkan_macos::normalize_window ( )
overridevirtual

Ask the operating system to normalize this window.

Implements tt::gui_window.

◆ set_cursor()

void tt::gui_window_vulkan_macos::set_cursor ( mouse_cursor cursor)
overridevirtualnoexcept

Set the mouse cursor icon.

Implements tt::gui_window.

◆ set_text_on_clipboard()

void tt::gui_window_vulkan_macos::set_text_on_clipboard ( std::string str)
inlineoverridevirtualnoexcept

Place a text string on the operating system's clip-board.

Implements tt::gui_window.


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