8 #include "game/level/level_editor/color_picker.h"
9 #include "ui/edit_field.h"
11 #define LABELS_SIZE vec(2.0f, 2.0f)
12 #define LABEL_LAYER_ID_MAX_SIZE 36
13 #define LABEL_LAYER_TEXT_MAX_SIZE 256
18 LABEL_LAYER_EDIT_TEXT,
24 LabelLayerState state;
30 ColorPicker color_picker;
32 Edit_field edit_field;
36 const char *id_name_prefix;
39 LayerPtr label_layer_as_layer(LabelLayer *label_layer);
41 // NOTE: create_label_layer and create_label_layer_from_line_stream do
42 // not own id_name_prefix
43 LabelLayer *create_label_layer(Memory *memory, const char *id_name_prefix);
44 void label_layer_load(LabelLayer *label_layer,
49 void destroy_label_layer(LabelLayer label_layer)
51 free(label_layer.ids.data);
52 free(label_layer.positions.data);
53 free(label_layer.colors.data);
54 free(label_layer.texts.data);
57 int label_layer_render(const LabelLayer *label_layer,
60 int label_layer_event(LabelLayer *label_layer,
61 const SDL_Event *event,
63 UndoHistory *undo_history);
65 size_t label_layer_count(const LabelLayer *label_layer);
67 int label_layer_dump_stream(const LabelLayer *label_layer, FILE *filedump);
69 char *label_layer_ids(const LabelLayer *label_layer);
70 Vec2f *label_layer_positions(const LabelLayer *label_layer);
71 Color *label_layer_colors(const LabelLayer *label_layer);
72 char *labels_layer_texts(const LabelLayer *label_layer);
74 #endif // LABEL_LAYER_H_