Smolgui
Immediate gui library based on SFML
Loading...
Searching...
No Matches
Options.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace sgui
7{
8
10
19
21
24struct Tooltip
25{
26 Tooltip () = default;
27 Tooltip (const std::function <void (void)>& d, const bool l = false, const bool a = true)
28 : locked (l), active (a), display (d) {}
29 // data
30 bool locked = false;
31 bool active = false;
32 std::string parent = "";
33 std::function <void (void)> display;
34};
35
37
41{
42 WidgetOptions () = default;
46 WidgetOptions (const std::string& des, const Tooltip& t = {}, const sf::Vector2f& d = {})
47 : displacement (d), description (des), tooltip (t) {}
48
51 WidgetOptions (const Tooltip& inf) : tooltip (inf) {}
55 WidgetOptions (const sf::Vector2f disp) : displacement (disp) {}
60 : aspect (a) {}
61 // data
62 bool horizontal = false;
63 sf::Vector2f size = { 6.f, 1.f };
64 sf::Vector2f displacement = {};
65 std::string description = "";
68};
69
74{
75 TextOptions () = default;
76 TextOptions (const VerticalAlignment alignment) : vertical (alignment) {}
77 TextOptions (const HorizontalAlignment alignment) : horizontal (alignment) {}
78 TextOptions (const sf::Vector2f& size) : boxSize (size) {}
79 // data
83 sf::Vector2f boxSize = {};
84};
85
86} // namespace sgui
Definition Interpolation.h:16
TextType
Text type.
Definition Options.h:13
@ Subtitle
Definition Options.h:15
@ Footnote
Definition Options.h:14
@ Normal
Definition Options.h:16
@ Title
Definition Options.h:17
HorizontalAlignment
List all possible horizontal alignment.
Definition Constraints.h:24
@ None
Definition Constraints.h:28
VerticalAlignment
List all possible vertical alignment.
Definition Constraints.h:13
@ None
Definition Constraints.h:17
sf::Vector2f boxSize
box that contains text, no box = no limit
Definition Options.h:83
TextOptions(const VerticalAlignment alignment)
Definition Options.h:76
HorizontalAlignment horizontal
horizontal alignment
Definition Options.h:81
TextOptions(const sf::Vector2f &size)
Definition Options.h:78
VerticalAlignment vertical
vertical alignment
Definition Options.h:80
TextOptions(const HorizontalAlignment alignment)
Definition Options.h:77
TextType type
type of text
Definition Options.h:82
TextOptions()=default
store tooltip in a function with its parent widget ID
Definition Options.h:25
std::function< void(void)> display
function called to display tooltip
Definition Options.h:33
bool locked
is tooltip locked ?
Definition Options.h:30
std::string parent
widget parent identifier
Definition Options.h:32
Tooltip()=default
bool active
is tooltip active ?
Definition Options.h:31
Tooltip(const std::function< void(void)> &d, const bool l=false, const bool a=true)
Definition Options.h:27
Store data required to fully customize how a widget is drawn.
Definition Aspect.h:14
std::string description
Widget description.
Definition Options.h:65
WidgetOptions(const Tooltip &inf)
When only a tooltip is needed.
Definition Options.h:51
WidgetOptions()=default
bool horizontal
Is widget horizontal or vertical ?
Definition Options.h:62
WidgetOptions(const std::string &des, const Tooltip &t={}, const sf::Vector2f &d={})
Full constructor, but with options if only description is required.
Definition Options.h:46
sf::Vector2f size
For slider and progress bar.
Definition Options.h:63
WidgetOptions(const sf::Vector2f disp)
When only the relative displacement is needed.
Definition Options.h:55
Tooltip tooltip
Tooltip specification.
Definition Options.h:66
WidgetOptions(const WidgetAspect &a)
To control widget appearance.
Definition Options.h:59
WidgetAspect aspect
To control widget aspect.
Definition Options.h:67
sf::Vector2f displacement
To override automatic position.
Definition Options.h:64