#ifndef INPUT_H_
#define INPUT_H_

#include "nuklear.h"

struct key_status {
    int key_down;
    int repeat_mode;
    unsigned int last_trig_time;
};

int input_check_vertical_navigation(struct nk_context *ctx, int *selected, int max_items, int page_size);
int input_check_vertical_navigation_ex(struct nk_context *ctx, int *selected,
                                       int max_items, int page_size,
                                       int *keyboard_updated);
int input_check_horizontal_navigation(struct nk_context *ctx, int *selected, int max_items);
int input_check_value_navigation(struct nk_context *ctx, int *value, int min_value, int max_value);
int input_check_left_action(struct nk_context *ctx, struct key_status *status);
int input_check_right_action(struct nk_context *ctx, struct key_status *status);
int input_check_select_item (struct nk_context *ctx);
int input_check_toggle_item (struct nk_context *ctx);
int input_check_typeahead(struct nk_context *ctx, char *buf, int max_len, unsigned int timeout_ms);

#endif
