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
15 LABEL_LAYER_EDIT_TEXT,
21 LabelLayerState state;
27 ColorPicker color_picker;
29 Edit_field edit_field;
33 const char *id_name_prefix;
36 LayerPtr label_layer_as_layer(LabelLayer *label_layer);
38 // NOTE: create_label_layer and create_label_layer_from_line_stream do
39 // not own id_name_prefix
40 LabelLayer create_label_layer(const char *id_name_prefix);
41 void label_layer_reload(LabelLayer *label_layer,
44 void label_layer_clean(LabelLayer *label_layer);
47 void destroy_label_layer(LabelLayer label_layer)
49 free(label_layer.ids.data);
50 free(label_layer.positions.data);
51 free(label_layer.colors.data);
52 free(label_layer.texts.data);
55 int label_layer_render(const LabelLayer *label_layer,
58 int label_layer_event(LabelLayer *label_layer,
59 const SDL_Event *event,
61 UndoHistory *undo_history);
63 size_t label_layer_count(const LabelLayer *label_layer);
65 int label_layer_dump_stream(const LabelLayer *label_layer, FILE *filedump);
67 char *label_layer_ids(const LabelLayer *label_layer);
68 Vec2f *label_layer_positions(const LabelLayer *label_layer);
69 Color *label_layer_colors(const LabelLayer *label_layer);
70 char *labels_layer_texts(const LabelLayer *label_layer);
72 #endif // LABEL_LAYER_H_