Mirai's Miscellaneous Misadventures
M42 / engines / check.c
1
2
3
4#include <mimimi/engines.h>
5#include <mimimi/malloc.h>
6#include <mimimi/behaviors.h>
7#include <mimimi/chapters.h>
8#include <mimimi/geometry.h>
9
10static void *mimimi_check_texture(void *data, struct mimimi_image *image)
11{
12 (void) data;
13 return image;
14}
15
16static void mimimi_check_invalidate(void *data, void *texture)
17{
18 (void) data;
19 (void) texture;
20}
21
22static void mimimi_check_stamp(void *data, int x1, int y1, void *texture)
23{
24 (void) data;
25 (void) x1;
26 (void) y1;
27 (void) texture;
28}
29
30void mimimi_check(struct mimimi_chapter *(*start)(struct mimimi_engine *engine))
31{
32 static struct mimimi_size size = {512, 256};
33 struct mimimi_engine engine;
34 engine.texture = &mimimi_check_texture;
35 engine.invalidate = &mimimi_check_invalidate;
36 engine.stamp = &mimimi_check_stamp;
37 engine.size = &size;
38 engine.allocator = mimimi_malloc;
39 struct mimimi_chapter *chapter = (*start)(&engine);
40 struct mimimi_behavior *behavior = chapter->behavior;
41 (*behavior->finish)(behavior->data);
42}