]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor/rect_layer.h
8432893ac5eefe9b4322b42e8ce12da1792db001
[nothing.git] / src / game / level / level_editor / rect_layer.h
1 #ifndef RECT_LAYER_H_
2 #define RECT_LAYER_H_
3
4 #include "layer.h"
5
6 #define RECT_LAYER_ID_MAX_SIZE 36
7
8 typedef struct RectLayer RectLayer;
9 typedef struct LineStream LineStream;
10
11 LayerPtr rect_layer_as_layer(RectLayer *layer);
12 RectLayer *create_rect_layer(void);
13 RectLayer *create_rect_layer_from_line_stream(LineStream *line_stream);
14 void destroy_rect_layer(RectLayer *layer);
15
16 int rect_layer_render(const RectLayer *layer, const Camera *camera, int active);
17 int rect_layer_event(RectLayer *layer,
18                      const SDL_Event *event,
19                      const Camera *camera,
20                      UndoHistory *undo_history);
21
22 int rect_layer_dump_stream(const RectLayer *layer, FILE *filedump);
23
24 size_t rect_layer_count(const RectLayer *layer);
25 const Rect *rect_layer_rects(const RectLayer *layer);
26 const Color *rect_layer_colors(const RectLayer *layer);
27 const char *rect_layer_ids(const RectLayer *layer);
28
29 #endif  // RECT_LAYER_H_