]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor/point_layer.h
Merge pull request #927 from tsoding/788
[nothing.git] / src / game / level / level_editor / point_layer.h
1 #ifndef POINT_LAYER_H_
2 #define POINT_LAYER_H_
3
4 #include "math/point.h"
5 #include "color.h"
6 #include "layer.h"
7
8 #define ID_MAX_SIZE 36
9
10 typedef struct PointLayer PointLayer;
11 typedef struct LineStream LineStream;
12 typedef struct Camera Camera;
13
14 LayerPtr point_layer_as_layer(PointLayer *point_layer);
15 PointLayer *create_point_layer(void);
16 PointLayer *create_point_layer_from_line_stream(LineStream *line_stream);
17 void destroy_point_layer(PointLayer *point_layer);
18
19 int point_layer_render(const PointLayer *point_layer,
20                        Camera *camera,
21                        int active);
22 int point_layer_event(PointLayer *point_layer,
23                       const SDL_Event *event,
24                       const Camera *camera);
25
26 int point_layer_dump_stream(const PointLayer *point_layer,
27                             FILE *filedump);
28
29 size_t point_layer_count(const PointLayer *point_layer);
30 const Point *point_layer_points(const PointLayer *point_layer);
31 const Color *point_layer_colors(const PointLayer *point_layer);
32 const char *point_layer_ids(const PointLayer *point_layer);
33
34 #endif  // POINT_LAYER_H_