|
HikoGUI
A low latency retained GUI
|
Public Member Functions | |
| gui_window_vulkan_win32 (gui_system &system, std::weak_ptr< gui_window_delegate > const &delegate, label const &title) | |
| gui_window_vulkan_win32 (const gui_window_vulkan_win32 &)=delete | |
| gui_window_vulkan_win32 & | operator= (const gui_window_vulkan_win32 &)=delete |
| gui_window_vulkan_win32 (gui_window_vulkan_win32 &&)=delete | |
| gui_window_vulkan_win32 & | operator= (gui_window_vulkan_win32 &&)=delete |
| void | create_window (const std::u8string &title, f32x4 extent) override |
| Let the operating system create the actual window. | |
| int | windowProc (unsigned int uMsg, uint64_t wParam, int64_t lParam) noexcept |
| 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 (f32x4 extent) override |
| Ask the operating system to set the size of this window. | |
| f32x4 | virtual_screen_size () const noexcept override |
| Get the size of the virtual-screen. | |
| 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_vulkan & | operator= (const gui_window_vulkan &)=delete |
| gui_window_vulkan (gui_window_vulkan &&)=delete | |
| gui_window_vulkan & | operator= (gui_window_vulkan &&)=delete |
| void | init () override |
| 2 phase constructor. | |
| gui_device_vulkan & | vulkan_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_window & | operator= (gui_window const &)=delete |
| gui_window (gui_window &&)=delete | |
| gui_window & | operator= (gui_window &&)=delete |
| void | request_redraw (aarect rectangle=aarect::infinity()) 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_device * | device () const noexcept |
| bool | is_closed () |
| Check if the window was closed by the operating system. | |
| template<typename T , cell_address CellAddress, typename... Args> | |
| std::shared_ptr< T > | make_widget (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 |
| void | update_mouse_target (std::shared_ptr< tt::widget > new_target_widget, f32x4 position=f32x4{0.0f, 0.0f}) 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. | |
Data Fields | |
| HWND | win32Window = nullptr |
Data Fields inherited from tt::gui_window_vulkan | |
| vk::SurfaceKHR | intrinsic |
| vk::SwapchainKHR | swapchain |
| int | nrSwapchainImages |
| vk::Extent2D | swapchainImageExtent |
| vk::SurfaceFormatKHR | swapchainImageFormat |
| std::vector< vk::Image > | swapchainImages |
| std::vector< vk::ImageView > | swapchainImageViews |
| std::vector< vk::Framebuffer > | swapchainFramebuffers |
| std::vector< aarect > | swapchainRedrawRectangle |
| 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_image > | imagePipeline |
| std::unique_ptr< pipeline_flat::pipeline_flat > | flatPipeline |
| std::unique_ptr< pipeline_box::pipeline_box > | boxPipeline |
| std::unique_ptr< pipeline_SDF::pipeline_SDF > | SDFPipeline |
| std::unique_ptr< pipeline_tone_mapper::pipeline_tone_mapper > | toneMapperPipeline |
Data Fields inherited from tt::gui_window | |
| gui_system & | system |
| 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 |
| f32x4 | extent |
| The current window extent as set by the GPU library. | |
| std::weak_ptr< gui_window_delegate > | delegate |
| label | title |
| subpixel_orientation | subpixel_orientation = subpixel_orientation::BlueRight |
| float | dpi = 72.0 |
| std::shared_ptr< window_widget > | widget |
| The widget covering the complete window. | |
Additional Inherited Members | |
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 |
|
overridevirtual |
Ask the operating system to close this window.
Implements tt::gui_window.
|
overridevirtual |
Let the operating system create the actual window.
| title | The title of the window. |
| extent | The size of the window. |
Implements tt::gui_window.
|
overridevirtualnoexcept |
Retrieve a text string from the operating system's clip-board.
Implements tt::gui_window.
|
overridevirtual |
Query the surface from the operating-system window.
Implements tt::gui_window_vulkan.
|
overridevirtual |
Ask the operating system to maximize this window.
Implements tt::gui_window.
|
overridevirtual |
Ask the operating system to minimize this window.
Implements tt::gui_window.
|
overridevirtual |
Ask the operating system to normalize this window.
Implements tt::gui_window.
|
overridevirtualnoexcept |
Set the mouse cursor icon.
Implements tt::gui_window.
|
overridevirtualnoexcept |
Place a text string on the operating system's clip-board.
Implements tt::gui_window.
|
overridevirtual |
Ask the operating system to set the size of this window.
Implements tt::gui_window.
|
overridevirtualnoexcept |
Get the size of the virtual-screen.
Each window may be on a different virtual screen with different sizes, so retrieve it on a per window basis.
Implements tt::gui_window.