X11 backend: fix window behavior with multiple show() calls
[platform/upstream/libwlmessage.git] / libwlmessage.h
1 /* Copyright © 2014 Manuel Bachmann */
2
3 #ifndef _WLMESSAGE_H_
4 #define _WLMESSAGE_H_
5
6 struct wlmessage;
7
8 enum wlmessage_titlebutton {
9         WLMESSAGE_TITLEBUTTON_NONE,
10         WLMESSAGE_TITLEBUTTON_MINIMIZE,
11         WLMESSAGE_TITLEBUTTON_MAXIMIZE,
12         WLMESSAGE_TITLEBUTTON_CLOSE,
13         WLMESSAGE_TITLEBUTTON_ALL
14 };
15
16 void
17 wlmessage_set_title (struct wlmessage *wlmessage, char *title);
18
19 char *
20 wlmessage_get_title (struct wlmessage *wlmessage);
21
22 void
23 wlmessage_set_titlebuttons (struct wlmessage *wlmessage, enum wlmessage_titlebutton titlebuttons);
24
25 enum wlmessage_titlebutton
26 wlmessage_get_titlebuttons (struct wlmessage *wlmessage);
27
28 void
29 wlmessage_set_noresize (struct wlmessage *wlmessage, unsigned int not_resizable);
30
31 unsigned int
32 wlmessage_get_noresize (struct wlmessage *wlmessage);
33
34 void
35 wlmessage_set_icon (struct wlmessage *wlmessage, char *icon_path);
36
37 void
38 wlmessage_set_message (struct wlmessage *wlmessage, char *message);
39
40 char *
41 wlmessage_get_message (struct wlmessage *wlmessage);
42
43 void
44 wlmessage_set_message_file (struct wlmessage *wlmessage, char *file_path);
45
46 void
47 wlmessage_add_button (struct wlmessage *wlmessage, unsigned int index, char *caption);
48
49 void
50 wlmessage_delete_button (struct wlmessage *wlmessage, unsigned int index);
51
52 void
53 wlmessage_set_default_button (struct wlmessage *wlmessage, unsigned int index);
54
55 void
56 wlmessage_set_textfield (struct wlmessage *wlmessage, char *default_text);
57
58 char *
59 wlmessage_get_textfield (struct wlmessage *wlmessage);
60
61 void
62 wlmessage_set_progress_callback (struct wlmessage *wlmessage, void (*callback) (struct wlmessage *wlmessage, void *data), void *data);
63
64 void
65 wlmessage_set_progress (struct wlmessage *wlmessage, float progress);
66
67 float
68 wlmessage_get_progress (struct wlmessage *wlmessage);
69
70 void
71 wlmessage_set_timeout (struct wlmessage *wlmessage, unsigned int timeout);
72
73 unsigned int
74 wlmessage_get_timeout (struct wlmessage *wlmessage);
75
76 int
77 wlmessage_show (struct wlmessage *wlmessage, char **input_text);
78
79 struct wlmessage *
80 wlmessage_create ();
81
82 void
83 wlmessage_destroy (struct wlmessage *wlmessage);
84
85 #endif