|
HikoGUI
A low latency retained GUI
|
Public Member Functions | |
| Window_vulkan_win32 (std::shared_ptr< WindowDelegate > const &delegate, Label &&title) | |
| Window_vulkan_win32 (const Window_vulkan_win32 &)=delete | |
| Window_vulkan_win32 & | operator= (const Window_vulkan_win32 &)=delete |
| Window_vulkan_win32 (Window_vulkan_win32 &&)=delete | |
| Window_vulkan_win32 & | operator= (Window_vulkan_win32 &&)=delete |
| void | closingWindow () override |
| void | openingWindow () override |
| void | createWindow (const std::string &title, vec extent) |
| int | windowProc (unsigned int uMsg, uint64_t wParam, int64_t lParam) |
| vk::SurfaceKHR | getSurface () const override |
| void | setCursor (Cursor cursor) noexcept override |
| void | closeWindow () override |
| void | minimizeWindow () override |
| void | maximizeWindow () override |
| void | normalizeWindow () override |
| void | setWindowSize (ivec extent) override |
| std::string | getTextFromClipboard () const noexcept override |
| void | setTextOnClipboard (std::string str) noexcept override |
Public Member Functions inherited from tt::Window_vulkan | |
| 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 |
| void | updateToNextKeyboardTarget (Widget *currentTargetWidget) noexcept |
| void | updateToPrevKeyboardTarget (Widget *currentTargetWidget) noexcept |
Data Fields | |
| void * | win32Window = nullptr |
Data Fields inherited from tt::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 |
| 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. | |
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 } |
Static Public Attributes inherited from tt::Window_vulkan | |
| static const vk::Format | depthImageFormat = vk::Format::eD32Sfloat |
| static const vk::Format | colorImageFormat = vk::Format::eR16G16B16A16Sfloat |
|
overridevirtual |
Implements tt::Window_base.
|
overridevirtual |
call closingWindow() on the delegate.
Reimplemented from tt::Window_base.
|
overridevirtual |
Query the surface from the operating-system window.
Implements tt::Window_vulkan.
|
overridevirtualnoexcept |
Implements tt::Window_base.
|
overridevirtual |
Implements tt::Window_base.
|
overridevirtual |
Implements tt::Window_base.
|
overridevirtual |
Implements tt::Window_base.
|
overridevirtual |
call openingWindow() on the delegate.
Reimplemented from tt::Window_base.
|
overridevirtualnoexcept |
Implements tt::Window_base.
|
overridevirtualnoexcept |
Implements tt::Window_base.
|
overridevirtual |
Implements tt::Window_base.