From 71beb7583f6cba2eb8070d5a05dcdf05b54f52bf Mon Sep 17 00:00:00 2001
From: Jari Vetoniemi <mailroxas@gmail.com>
Date: Thu, 10 Apr 2014 23:05:13 +0300
Subject: Make it possible filter manually, and optimized filtering.

---
 lib/internal.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

(limited to 'lib/internal.h')

diff --git a/lib/internal.h b/lib/internal.h
index 043c906..985d366 100644
--- a/lib/internal.h
+++ b/lib/internal.h
@@ -102,6 +102,11 @@ struct _bmMenu {
      */
     char filter[1024];
 
+    /**
+     * Used as optimization.
+     */
+    char *oldFilter;
+
     /**
      * Current byte offset on filter text.
      */
@@ -136,8 +141,8 @@ int _bmDrawCursesInit(struct _bmRenderApi *api);
 int _bmMenuItemIsSelected(const bmMenu *menu, const bmItem *item);
 
 /* filter.c */
-bmItem** _bmFilterDmenu(bmMenu *menu, unsigned int *outNmemb, unsigned int *outHighlighted);
-bmItem** _bmFilterDmenuCaseInsensitive(bmMenu *menu, unsigned int *outNmemb, unsigned int *outHighlighted);
+bmItem** _bmFilterDmenu(bmMenu *menu, char addition, unsigned int *outNmemb, unsigned int *outHighlighted);
+bmItem** _bmFilterDmenuCaseInsensitive(bmMenu *menu, char addition, unsigned int *outNmemb, unsigned int *outHighlighted);
 
 /* list.c */
 void _bmItemListFreeList(struct _bmItemList *list);
-- 
cgit v1.2.3-70-g09d2