root/Search.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include <ncurses.h>
#include <stdint.h>

enum SearchStatus {
    searchInactive,
    searchRead,
    searchBrowse
};

struct Search {
    enum SearchStatus status;
    uint32_t* queryBuffer; /* array of chars we got form ncurses */
    char* queryUtf8;
};

void Search_init(struct Search* this);
void Search_destroyMembers(struct Search* this);

void Search_draw(struct Search* this, WINDOW* w);
bool Search_handleInput(struct Search* this, int event);
void Search_clear(struct Search* this);