|
HikoGUI
A low latency retained GUI
|
Public Member Functions | |
| Window_vulkan (std::shared_ptr< WindowDelegate > const &delegate, Label &&title) | |
| Window_vulkan (const Window_vulkan &)=delete | |
| Window_vulkan & | operator= (const Window_vulkan &)=delete |
| Window_vulkan (Window_vulkan &&)=delete | |
| Window_vulkan & | operator= (Window_vulkan &&)=delete |
| void | initialize () override |
| void | render (hires_utc_clock::time_point displayTimePoint) override |
Public Member Functions inherited from tt::Window_base | |
| float | fontScale () const noexcept |
| By how much the font needs to be scaled compared to current windowScale. | |
| Window_base (std::shared_ptr< WindowDelegate > const &delegate, Label &&title) | |
| Window_base (Window_base const &)=delete | |
| Window_base & | operator= (Window_base const &)=delete |
| Window_base (Window_base &&)=delete | |
| Window_base & | operator= (Window_base &&)=delete |
| void | setDevice (GUIDevice *device) |
| void | unsetDevice () |
| void | layout (hires_utc_clock::time_point displayTimePoint) |
| int | layoutChildren (hires_utc_clock::time_point displayTimePoint, bool force) |
| Layout the widgets in the window. | |
| bool | isClosed () |
| template<typename T , typename... Args> | |
| T & | makeWidget (Args &&... args) |
| Add a widget to main widget of the window. | |
| rhea::constraint | addConstraint (rhea::constraint const &constraint) noexcept |
| rhea::constraint | addConstraint (rhea::linear_equation const &equation, rhea::strength const &strength=rhea::strength::required(), double weight=1.0) noexcept |
| rhea::constraint | addConstraint (rhea::linear_inequality const &equation, rhea::strength const &strength=rhea::strength::required(), double weight=1.0) noexcept |
| void | removeConstraint (rhea::constraint const &constraint) noexcept |
| rhea::constraint | replaceConstraint (rhea::constraint const &oldConstraint, rhea::constraint const &newConstraint) noexcept |
| rhea::constraint | replaceConstraint (rhea::constraint const &oldConstraint, rhea::linear_equation const &newEquation, rhea::strength const &strength=rhea::strength::required(), double weight=1.0) noexcept |
| rhea::constraint | replaceConstraint (rhea::constraint const &oldConstraint, rhea::linear_inequality const &newEquation, rhea::strength const &strength=rhea::strength::required(), double weight=1.0) noexcept |
| virtual void | setCursor (Cursor cursor)=0 |
| virtual void | closeWindow ()=0 |
| virtual void | minimizeWindow ()=0 |
| virtual void | maximizeWindow ()=0 |
| virtual void | normalizeWindow ()=0 |
| virtual void | setWindowSize (ivec extent)=0 |
| virtual std::string | getTextFromClipboard () const noexcept=0 |
| virtual void | setTextOnClipboard (std::string str) noexcept=0 |
| void | updateToNextKeyboardTarget (Widget *currentTargetWidget) noexcept |
| void | updateToPrevKeyboardTarget (Widget *currentTargetWidget) noexcept |
Data Fields | |
| 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 |
| VmaAllocation | depthImageAllocation |
| vk::Image | depthImage |
| vk::ImageView | depthImageView |
| VmaAllocation | colorImageAllocation |
| vk::Image | colorImage |
| vk::ImageView | colorImageView |
| vk::DescriptorImageInfo | colorDescriptorImageInfo |
| vk::RenderPass | renderPass |
| vk::CommandBuffer | commandBuffer |
| vk::Semaphore | imageAvailableSemaphore |
| vk::Semaphore | renderFinishedSemaphore |
| vk::Fence | renderFinishedFence |
| std::unique_ptr< PipelineImage::PipelineImage > | imagePipeline |
| std::unique_ptr< PipelineFlat::PipelineFlat > | flatPipeline |
| std::unique_ptr< PipelineBox::PipelineBox > | boxPipeline |
| std::unique_ptr< PipelineSDF::PipelineSDF > | SDFPipeline |
| std::unique_ptr< PipelineToneMapper::PipelineToneMapper > | toneMapperPipeline |
Data Fields inherited from tt::Window_base | |
| State | state = State::NoDevice |
| Cursor | currentCursor = Cursor::None |
| The current cursor. | |
| std::atomic< bool > | forceLayout = true |
| When set to true the widgets will be layed out. | |
| std::atomic< bool > | forceRedraw = true |
| When set to true the widgets will be redrawn. | |
| std::atomic< bool > | resizing = false |
| std::atomic< bool > | active = false |
| Size | size = Size::Normal |
| fast_mutex | widgetSolverMutex |
| Mutex for access to rhea objects registered with the widgetSolver. | |
| ivec | minimumWindowExtent |
| The minimum window extent as calculated by laying out all the widgets. | |
| ivec | maximumWindowExtent |
| The maximum window extent as calculated by laying out all the widgets. | |
| ivec | currentWindowExtent |
| The current window extent as set by the GPU library. | |
| std::shared_ptr< WindowDelegate > | delegate |
| Label | title |
| GUIDevice * | device = nullptr |
| SubpixelOrientation | subpixelOrientation = SubpixelOrientation::BlueRight |
| float | dpi = 72.0 |
| std::unique_ptr< Widget > | widget |
| The widget covering the complete window. | |
| Widget * | mouseTargetWidget = nullptr |
| Target of the mouse Since any mouse event will change the target this is used to check if the target has changed, to send exit events to the previous mouse target. | |
| Widget * | keyboardTargetWidget = nullptr |
| Target of the keyboard widget where keyboard events are sent to. | |
| Widget * | firstKeyboardWidget = nullptr |
| The first widget in the window that needs to be selected. | |
| Widget * | lastKeyboardWidget = nullptr |
| The first widget in the window that needs to be selected. | |
Static Public Attributes | |
| static const vk::Format | depthImageFormat = vk::Format::eD32Sfloat |
| static const vk::Format | colorImageFormat = vk::Format::eR16G16B16A16Sfloat |
Additional Inherited Members | |
Public Types inherited from tt::Window_base | |
| enum class | State { Initializing , NoWindow , NoDevice , NoSurface , NoSwapchain , ReadyToRender , SwapchainLost , SurfaceLost , DeviceLost , WindowLost } |
| enum class | Size { Normal , Minimized , Maximized } |
|
overridevirtual |
Reimplemented from tt::Window_base.
|
overridevirtual |
Update window. This will update animations and redraw all widgets managed by this window.
Implements tt::Window_base.