]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor/label_layer.h
Delete LineStream from the existance
[nothing.git] / src / game / level / level_editor / label_layer.h
1 #ifndef LABEL_LAYER_H_
2 #define LABEL_LAYER_H_
3
4 #include "layer.h"
5 #include "color.h"
6 #include "math/vec.h"
7
8 #define LABELS_SIZE vec(2.0f, 2.0f)
9 #define LABEL_LAYER_ID_MAX_SIZE 36
10 #define LABEL_LAYER_TEXT_MAX_SIZE 256
11
12 typedef struct LabelLayer LabelLayer;
13
14 LayerPtr label_layer_as_layer(LabelLayer *label_layer);
15
16 // NOTE: create_label_layer and create_label_layer_from_line_stream do
17 // not own id_name_prefix
18 LabelLayer *create_label_layer(const char *id_name_prefix);
19 LabelLayer *chop_label_layer(Memory *memory,
20                              String *input,
21                              const char *id_name_prefix);
22 void destroy_label_layer(LabelLayer *label_layer);
23
24 int label_layer_render(const LabelLayer *label_layer,
25                        const Camera *camera,
26                        int active);
27 int label_layer_event(LabelLayer *label_layer,
28                       const SDL_Event *event,
29                       const Camera *camera,
30                       UndoHistory *undo_history);
31
32 size_t label_layer_count(const LabelLayer *label_layer);
33
34 int label_layer_dump_stream(const LabelLayer *label_layer, FILE *filedump);
35
36 char *label_layer_ids(const LabelLayer *label_layer);
37 Vec2f *label_layer_positions(const LabelLayer *label_layer);
38 Color *label_layer_colors(const LabelLayer *label_layer);
39 char *labels_layer_texts(const LabelLayer *label_layer);
40
41 #endif  // LABEL_LAYER_H_