Loading [MathJax]/extensions/tex2jax.js
ttx 0.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
popup.h
Go to the documentation of this file.
1#pragma once
2
3#include "ttx/layout.h"
4#include "ttx/size.h"
5
6namespace ttx {
14
15namespace detail {
16 struct RelatizeSizeTag {
17 using Type = i64;
18 };
19 struct AbsoluteSizeTag {
20 using Type = u32;
21 };
22}
23
24using RelatizeSize = di::StrongInt<detail::RelatizeSizeTag>;
25using AbsoluteSize = di::StrongInt<detail::AbsoluteSizeTag>;
26
27using PopupSize = di::Variant<RelatizeSize, AbsoluteSize>;
28
34
35struct Popup {
36 di::Box<Pane> pane {};
38
39 auto layout(Size const& size) -> LayoutEntry;
40};
41}
Definition clipboard.h:10
di::StrongInt< detail::AbsoluteSizeTag > AbsoluteSize
Definition popup.h:25
PopupAlignment
Definition popup.h:7
@ Center
Definition popup.h:12
@ Right
Definition key.h:70
@ Left
Definition key.h:69
di::StrongInt< detail::RelatizeSizeTag > RelatizeSize
Definition popup.h:24
di::Variant< RelatizeSize, AbsoluteSize > PopupSize
Definition popup.h:27
constexpr auto max_layout_precision
Definition layout.h:64
@ Bottom
Definition layout.h:79
@ Top
Definition layout.h:78
Definition layout.h:18
Definition popup.h:29
PopupSize width
Definition popup.h:31
PopupAlignment alignment
Definition popup.h:30
PopupSize height
Definition popup.h:32
Definition popup.h:35
PopupLayout layout_config
Definition popup.h:37
auto layout(Size const &size) -> LayoutEntry
Definition popup.cpp:16
di::Box< Pane > pane
Definition popup.h:36
Definition size.h:7