BuGUI
BUtton Grid User Interface
Loading...
Searching...
No Matches
widget.hpp
1
#pragma once
2
#include "common.hpp"
3
#include <io/painter.hpp>
4
#include <io/presser.hpp>
5
6
namespace
bugui
7
{
8
template
<
typename
T>
9
concept
has_set
=
requires
(T t)
10
{
11
{ t.set() } ->
is_void
;
12
};
13
14
template
<
typename
T>
15
concept
has_paint
=
requires
(T t,
painter
& p)
16
{
17
{ t.paint(p) } ->
is_void
;
18
};
19
20
template
<
typename
T>
21
concept
has_press
=
requires
(T t,
presser
& p)
22
{
23
{ t.on_press(p) } ->
is_void
;
24
};
25
26
template
<
typename
T>
27
concept
has_double_press
=
requires
(T t,
presser
& p)
28
{
29
{ t.on_double_press(p) } ->
is_void
;
30
};
31
32
template
<
typename
T>
33
concept
has_drag
=
requires
(T t,
presser
& p)
34
{
35
{ t.on_drag(p) } ->
is_void
;
36
};
37
38
template
<
typename
T>
39
concept
has_drop
=
requires
(T t,
presser
& p)
40
{
41
{ t.on_drop(p) } ->
is_void
;
42
};
43
44
template
<
typename
T>
45
concept
has_any_press
=
has_press<T>
||
46
has_double_press<T>
||
47
has_drag<T>
||
48
has_drop<T>
;
49
50
template
<
typename
T>
51
concept
has_held_added
=
requires
(T t)
52
{
53
{ t.on_held_added() } ->
is_void
;
54
};
55
56
template
<
typename
T>
57
concept
has_held_removed
=
requires
(T t)
58
{
59
{ t.on_held_removed() } ->
is_void
;
60
};
61
62
template
<
typename
T>
63
concept
has_Delete
=
requires
(T t)
64
{
65
{ t.on_Delete() } ->
is_void
;
66
};
67
68
template
<
typename
T>
69
concept
has_Shift
=
requires
(T t)
70
{
71
{ t.on_Shift() } ->
is_void
;
72
};
73
74
template
<
typename
T>
75
concept
has_child_Delete
=
requires
(T t)
76
{
77
{ t.on_child_Delete() } ->
is_void
;
78
};
79
80
}
// namespace bugui
bugui::has_Delete
Definition
widget.hpp:63
bugui::has_Shift
Definition
widget.hpp:69
bugui::has_any_press
Definition
widget.hpp:45
bugui::has_child_Delete
Definition
widget.hpp:75
bugui::has_double_press
Definition
widget.hpp:27
bugui::has_drag
Definition
widget.hpp:33
bugui::has_drop
Definition
widget.hpp:39
bugui::has_held_added
Definition
widget.hpp:51
bugui::has_held_removed
Definition
widget.hpp:57
bugui::has_paint
Definition
widget.hpp:15
bugui::has_press
Definition
widget.hpp:21
bugui::has_set
Definition
widget.hpp:9
bugui::is_void
Definition
common.hpp:10
bugui::painter
The painter class.
Definition
painter.hpp:12
bugui::presser
Definition
presser.hpp:14
include
concepts
widget.hpp
Generated by
1.15.0