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
12 typedef struct LabelLayer LabelLayer;
13 typedef struct LineStream LineStream;
15 LayerPtr label_layer_as_layer(LabelLayer *label_layer);
17 // NOTE: create_label_layer and create_label_layer_from_line_stream do
18 // not own id_name_prefix
19 LabelLayer *create_label_layer(const char *id_name_prefix);
20 LabelLayer *create_label_layer_from_line_stream(LineStream *line_stream,
21 const char *id_name_prefix);
22 LabelLayer *chop_label_layer(Memory *memory,
24 const char *id_name_prefix);
25 void destroy_label_layer(LabelLayer *label_layer);
27 int label_layer_render(const LabelLayer *label_layer,
30 int label_layer_event(LabelLayer *label_layer,
31 const SDL_Event *event,
33 UndoHistory *undo_history);
35 size_t label_layer_count(const LabelLayer *label_layer);
37 int label_layer_dump_stream(const LabelLayer *label_layer, FILE *filedump);
39 char *label_layer_ids(const LabelLayer *label_layer);
40 Vec2f *label_layer_positions(const LabelLayer *label_layer);
41 Color *label_layer_colors(const LabelLayer *label_layer);
42 char *labels_layer_texts(const LabelLayer *label_layer);
44 #endif // LABEL_LAYER_H_