]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor/background_layer.h
f63d361505135a14b8a975c32c1cd7d9957efc1c
[nothing.git] / src / game / level / level_editor / background_layer.h
1 #ifndef BACKGROUND_LAYER_H_
2 #define BACKGROUND_LAYER_H_
3
4 #include "color_picker.h"
5
6 typedef struct {
7     ColorPicker color_picker;
8     Color prev_color;
9 } BackgroundLayer;
10
11 BackgroundLayer create_background_layer(Color color);
12 int background_layer_read_from_line_stream(BackgroundLayer *layer,
13                                            LineStream *line_stream);
14
15 static inline
16 LayerPtr background_layer_as_layer(BackgroundLayer *layer)
17 {
18     return (LayerPtr) {
19         .ptr = layer,
20         .type = LAYER_BACKGROUND
21     };
22 }
23
24 int background_layer_render(BackgroundLayer *layer,
25                             const Camera *camera,
26                             int active);
27 int background_layer_event(BackgroundLayer *layer,
28                            const SDL_Event *event,
29                            const Camera *camera,
30                            UndoHistory *undo_history);
31 int background_layer_dump_stream(BackgroundLayer *layer,
32                                  FILE *stream);
33
34 #endif  // BACKGROUND_LAYER_H_