summaryrefslogtreecommitdiff
path: root/src/common/input.h
blob: d7264f6d7cc35c660b55fde59a8f6d787267d921 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef YASL_INPUT_H
#define YASL_INPUT_H

#include "yasl/yasl.h"

/* Each queued string and the last successfully polled string are owned here. */
struct input_queue {
    struct yasl_input_event *events;
    size_t head, count, capacity;
    char *last_text;
    struct yasl_surface *reset_surface;
    bool reset_pending;
};

bool input_queue_push(struct input_queue *q, const struct yasl_input_event *ev);
bool input_queue_pop(struct input_queue *q, struct yasl_input_event *ev);
void input_queue_clear(struct input_queue *q);

#endif