make interactive actions a type and not special cases.
[mikachu/openbox.git] / openbox / popup.h
1 #ifndef __popup_h
2 #define __popup_h
3
4 #include <glib.h>
5 #include "render/render.h"
6
7 struct _ObClientIcon;
8
9 #define POPUP_WIDTH 320
10 #define POPUP_HEIGHT 48
11
12 typedef struct _ObPopup Popup;
13
14 Popup *popup_new(gboolean hasicon);
15 void popup_free(Popup *self);
16
17 /*! Position the popup. The gravity rules are not the same X uses for windows,
18   instead of the position being the top-left of the window, the gravity
19   specifies which corner of the popup will be placed at the given coords.
20   Static and Forget gravity are equivilent to NorthWest.
21 */
22 void popup_position(Popup *self, gint gravity, gint x, gint y);
23 /*! Set the sizes for the popup. When set to 0, the size will be based on
24   the text size. */
25 void popup_size(Popup *self, gint w, gint h);
26 void popup_size_to_string(Popup *self, gchar *text);
27
28 void popup_set_text_align(Popup *self, RrJustify align);
29
30 void popup_show(Popup *self, gchar *text, struct _ObClientIcon *icon);
31 void popup_hide(Popup *self);
32
33 #endif