HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
SystemMenuWidget.hpp
1// Copyright 2019 Pokitec
2// All rights reserved.
3
4#pragma once
5
6#include "TTauri/Widgets/Widget.hpp"
7#include "TTauri/GUI/PipelineImage_Image.hpp"
8#include "TTauri/Foundation/Path.hpp"
9#include "TTauri/Cells/Image.hpp"
10#include "TTauri/Cells/ImageCell.hpp"
11#include <memory>
12#include <string>
13#include <array>
14
15
16namespace tt {
17
18class SystemMenuWidget : public Widget {
20
21 aarect systemMenuRectangle;
22
23public:
24 SystemMenuWidget(Window &window, Widget *parent, Image const &icon) noexcept;
26
27 SystemMenuWidget(const SystemMenuWidget &) = delete;
28 SystemMenuWidget &operator=(const SystemMenuWidget &) = delete;
30 SystemMenuWidget &operator=(SystemMenuWidget &&) = delete;
31
32 void layout(hires_utc_clock::time_point displayTimePoint) noexcept override;
33 void draw(DrawContext const &drawContext, hires_utc_clock::time_point displayTimePoint) noexcept override;
34
35 [[nodiscard]] HitBox hitBoxTest(vec position) const noexcept override;
36
37private:
38
39};
40
41}
An image, in different formats.
Definition Image.hpp:18
Class which represents an axis-aligned rectangle.
Definition aarect.hpp:13
A 4D vector.
Definition vec.hpp:37
Draw context for drawing using the TTauri shaders.
Definition DrawContext.hpp:30
Definition HitBox.hpp:12
Definition Window_vulkan_win32.hpp:15
Definition SystemMenuWidget.hpp:18
void draw(DrawContext const &drawContext, hires_utc_clock::time_point displayTimePoint) noexcept override
Draw widget.
HitBox hitBoxTest(vec position) const noexcept override
Find the widget that is under the mouse cursor.
void layout(hires_utc_clock::time_point displayTimePoint) noexcept override
Layout the widget.
Definition Widget.hpp:64