18 PointLayerState state;
19 Dynarray/*<Vec2f>*/ positions;
20 Dynarray/*<Color>*/ colors;
21 Dynarray/*<char[ID_MAX_SIZE]>*/ ids;
23 ColorPicker color_picker;
27 Edit_field edit_field;
30 const char *id_name_prefix;
34 LayerPtr point_layer_as_layer(PointLayer *point_layer);
35 // NOTE: create_point_layer and create_point_layer_from_line_stream do
36 // not own id_name_prefix
37 PointLayer create_point_layer(const char *id_name_prefix);
38 void point_layer_reload(PointLayer *point_layer,
41 void point_layer_clean(PointLayer *point_layer);
45 void destroy_point_layer(PointLayer point_layer)
47 free(point_layer.positions.data);
48 free(point_layer.colors.data);
49 free(point_layer.ids.data);
53 int point_layer_render(const PointLayer *point_layer,
56 int point_layer_event(PointLayer *point_layer,
57 const SDL_Event *event,
59 UndoHistory *undo_history);
61 int point_layer_dump_stream(const PointLayer *point_layer,
64 size_t point_layer_count(const PointLayer *point_layer);
65 const Vec2f *point_layer_positions(const PointLayer *point_layer);
66 const Color *point_layer_colors(const PointLayer *point_layer);
67 const char *point_layer_ids(const PointLayer *point_layer);
69 #endif // POINT_LAYER_H_