summaryrefslogtreecommitdiff
path: root/lib/menu.c
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2015-01-16 02:08:18 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2015-01-16 02:08:18 +0200
commita54bcf694ad152ba0a5c1c3f2de6bc9c82bba02f (patch)
tree035ff1c1db386e48135705b5c663060248b3fa66 /lib/menu.c
parent20189fb8d26e422bf17dda4264e84ed7b1b2a340 (diff)
parentada6edc175eb89d318e55204368e2ba5dad07b1b (diff)
downloadbemenu-a54bcf694ad152ba0a5c1c3f2de6bc9c82bba02f.tar.gz
bemenu-a54bcf694ad152ba0a5c1c3f2de6bc9c82bba02f.tar.bz2
bemenu-a54bcf694ad152ba0a5c1c3f2de6bc9c82bba02f.zip
Merge branch 'pango-wip'
Diffstat (limited to 'lib/menu.c')
-rw-r--r--lib/menu.c71
1 files changed, 68 insertions, 3 deletions
diff --git a/lib/menu.c b/lib/menu.c
index 56ed5ea..92e5e10 100644
--- a/lib/menu.c
+++ b/lib/menu.c
@@ -248,14 +248,16 @@ bm_menu_set_font(struct bm_menu *menu, const char *font, uint32_t size)
return true;
}
-const char* bm_menu_get_font(const struct bm_menu *menu, uint32_t *out_size)
+const char*
+bm_menu_get_font(const struct bm_menu *menu, uint32_t *out_size)
{
assert(menu);
if (out_size) *out_size = menu->font.size;
return menu->font.name;
}
-bool bm_menu_set_color(struct bm_menu *menu, enum bm_color color, const char *hex)
+bool
+bm_menu_set_color(struct bm_menu *menu, enum bm_color color, const char *hex)
{
assert(menu);
@@ -277,12 +279,75 @@ bool bm_menu_set_color(struct bm_menu *menu, enum bm_color color, const char *he
return true;
}
-const char* bm_menu_get_color(const struct bm_menu *menu, enum bm_color color)
+const
+char* bm_menu_get_color(const struct bm_menu *menu, enum bm_color color)
{
assert(menu);
return menu->colors[color].hex;
}
+void
+bm_menu_set_bottom(struct bm_menu *menu, bool bottom)
+{
+ assert(menu);
+
+ if (menu->bottom == bottom)
+ return;
+
+ menu->bottom = bottom;
+
+ if (menu->renderer->api.set_bottom)
+ menu->renderer->api.set_bottom(menu, bottom);
+}
+
+bool
+bm_menu_get_bottom(struct bm_menu *menu)
+{
+ assert(menu);
+ return menu->bottom;
+}
+
+void
+bm_menu_set_monitor(struct bm_menu *menu, uint32_t monitor)
+{
+ assert(menu);
+
+ if (menu->monitor == monitor)
+ return;
+
+ menu->monitor = monitor;
+
+ if (menu->renderer->api.set_monitor)
+ menu->renderer->api.set_monitor(menu, monitor);
+}
+
+uint32_t
+bm_menu_get_monitor(struct bm_menu *menu)
+{
+ assert(menu);
+ return menu->monitor;
+}
+
+void
+bm_menu_grab_keyboard(struct bm_menu *menu, bool grab)
+{
+ assert(menu);
+
+ if (menu->grabbed == grab)
+ return;
+
+ menu->grabbed = grab;
+
+ if (menu->renderer->api.grab_keyboard)
+ menu->renderer->api.grab_keyboard(menu, grab);
+}
+
+bool
+bm_menu_is_keyboard_grabbed(struct bm_menu *menu)
+{
+ return menu->grabbed;
+}
+
bool
bm_menu_add_items_at(struct bm_menu *menu, struct bm_item *item, uint32_t index)
{