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