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