aboutsummaryrefslogtreecommitdiff
path: root/src/sdl/solve.h
blob: 0bd0ae1c9c874d6ebdb8b51692780bcf605d602a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef SOLVE_H
#define SOLVE_H

#include <SDL.h>
#include "../core/sok.h"

typedef enum {
  SOLVE_EVENT_STEP,
  SOLVE_EVENT_FAIL,
  SOLVE_EVENT_DONE,
  SOLVE_EVENT_LAST,
} solve_event_type_t;

struct solve_t_;
typedef struct solve_t_ solve_t;

solve_t *solve(const sok_ctx_t * const, const Uint32);
void solve_fini(
  solve_t * const,
  void (*)(const _Bool, const sok_ctx_t *, const size_t, void *),
  void *
);
void solve_cancel(solve_t * const);

size_t solve_get_num_steps(solve_t * const);
_Bool solve_get_result(solve_t * const);

#endif /* SOLVE_H */