]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor/layer.c
Try to fix MSVC build
[nothing.git] / src / game / level / level_editor / layer.c
1 #include "game/camera.h"
2 #include "rect_layer.h"
3 #include "point_layer.h"
4 #include "player_layer.h"
5 #include "label_layer.h"
6 #include "background_layer.h"
7 #include "./layer.h"
8
9 int layer_render(LayerPtr layer, const Camera *camera, int active)
10 {
11     switch (layer.type) {
12     case LAYER_RECT:
13         return rect_layer_render(layer.ptr, camera, active);
14
15     case LAYER_POINT:
16         return point_layer_render(layer.ptr, camera, active);
17
18     case LAYER_PLAYER:
19         return player_layer_render(layer.ptr, camera, active);
20
21     case LAYER_BACKGROUND:
22         return background_layer_render(layer.ptr, camera, active);
23
24     case LAYER_LABEL:
25         return label_layer_render(layer.ptr, camera, active);
26     }
27
28     return -1;
29 }
30
31 int layer_event(LayerPtr layer,
32                 const SDL_Event *event,
33                 const Camera *camera,
34                 UndoHistory *undo_history)
35 {
36     switch (layer.type) {
37     case LAYER_RECT:
38         return rect_layer_event(layer.ptr, event, camera, undo_history);
39
40     case LAYER_POINT:
41         return point_layer_event(layer.ptr, event, camera, undo_history);
42
43     case LAYER_PLAYER:
44         return player_layer_event(layer.ptr, event, camera, undo_history);
45
46     case LAYER_BACKGROUND:
47         return background_layer_event(layer.ptr, event, camera, undo_history);
48
49     case LAYER_LABEL:
50         return label_layer_event(layer.ptr, event, camera, undo_history);
51     }
52
53     return -1;
54 }
55
56 int layer_dump_stream(LayerPtr layer,
57                       FILE *stream)
58 {
59     switch (layer.type) {
60     case LAYER_RECT:
61         return rect_layer_dump_stream(layer.ptr, stream);
62
63     case LAYER_POINT:
64         return point_layer_dump_stream(layer.ptr, stream);
65
66     case LAYER_PLAYER:
67         return player_layer_dump_stream(layer.ptr, stream);
68
69     case LAYER_BACKGROUND: {
70         return background_layer_dump_stream(layer.ptr, stream);
71     }
72
73     case LAYER_LABEL:
74         return label_layer_dump_stream(layer.ptr, stream);
75     }
76
77     return -1;
78 }