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

Public Member Functions

 Window_vulkan_macos (std::shared_ptr< WindowDelegate > const &delegate, Label &&title)
 
 Window_vulkan_macos (const Window_vulkan_macos &)=delete
 
Window_vulkan_macosoperator= (const Window_vulkan_macos &)=delete
 
 Window_vulkan_macos (Window_vulkan_macos &&)=delete
 
Window_vulkan_macosoperator= (Window_vulkan_macos &&)=delete
 
void closingWindow () override
 
void openingWindow () override
 
void createWindow (const std::string &title, ivec extent)
 
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_vulkanoperator= (const Window_vulkan &)=delete
 
 Window_vulkan (Window_vulkan &&)=delete
 
Window_vulkanoperator= (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_baseoperator= (Window_base const &)=delete
 
 Window_base (Window_base &&)=delete
 
Window_baseoperator= (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
 

Static Public Member Functions

static void createWindowClass ()
 

Static Public Attributes

static bool firstWindowHasBeenOpened
 
- Static Public Attributes inherited from tt::Window_vulkan
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 }
 
- 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::PipelineImageimagePipeline
 
std::unique_ptr< PipelineFlat::PipelineFlatflatPipeline
 
std::unique_ptr< PipelineBox::PipelineBoxboxPipeline
 
std::unique_ptr< PipelineSDF::PipelineSDFSDFPipeline
 
std::unique_ptr< PipelineToneMapper::PipelineToneMappertoneMapperPipeline
 
- 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< WindowDelegatedelegate
 
Label title
 
GUIDevicedevice = nullptr
 
SubpixelOrientation subpixelOrientation = SubpixelOrientation::BlueRight
 
float dpi = 72.0
 
std::unique_ptr< Widgetwidget
 The widget covering the complete window.
 
WidgetmouseTargetWidget = 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.
 
WidgetkeyboardTargetWidget = nullptr
 Target of the keyboard widget where keyboard events are sent to.
 
WidgetfirstKeyboardWidget = nullptr
 The first widget in the window that needs to be selected.
 
WidgetlastKeyboardWidget = nullptr
 The first widget in the window that needs to be selected.
 

Member Function Documentation

◆ closeWindow()

void tt::Window_vulkan_macos::closeWindow ( )
overridevirtual

Implements tt::Window_base.

◆ closingWindow()

void tt::Window_vulkan_macos::closingWindow ( )
overridevirtual

call closingWindow() on the delegate.

Reimplemented from tt::Window_base.

◆ getSurface()

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

Query the surface from the operating-system window.

Implements tt::Window_vulkan.

◆ getTextFromClipboard()

std::string tt::Window_vulkan_macos::getTextFromClipboard ( ) const
inlineoverridevirtualnoexcept

Implements tt::Window_base.

◆ maximizeWindow()

void tt::Window_vulkan_macos::maximizeWindow ( )
overridevirtual

Implements tt::Window_base.

◆ minimizeWindow()

void tt::Window_vulkan_macos::minimizeWindow ( )
overridevirtual

Implements tt::Window_base.

◆ normalizeWindow()

void tt::Window_vulkan_macos::normalizeWindow ( )
overridevirtual

Implements tt::Window_base.

◆ openingWindow()

void tt::Window_vulkan_macos::openingWindow ( )
overridevirtual

call openingWindow() on the delegate.

Reimplemented from tt::Window_base.

◆ setCursor()

void tt::Window_vulkan_macos::setCursor ( Cursor cursor)
overridevirtualnoexcept

Implements tt::Window_base.

◆ setTextOnClipboard()

void tt::Window_vulkan_macos::setTextOnClipboard ( std::string str)
inlineoverridevirtualnoexcept

Implements tt::Window_base.

◆ setWindowSize()

void tt::Window_vulkan_macos::setWindowSize ( ivec extent)
inlineoverridevirtual

Implements tt::Window_base.


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