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 PointLayer chop_point_layer(Memory *memory,
40 const char *id_name_prefix);
43 void destroy_point_layer(PointLayer point_layer)
45 free(point_layer.positions.data);
46 free(point_layer.colors.data);
47 free(point_layer.ids.data);
51 int point_layer_render(const PointLayer *point_layer,
54 int point_layer_event(PointLayer *point_layer,
55 const SDL_Event *event,
57 UndoHistory *undo_history);
59 int point_layer_dump_stream(const PointLayer *point_layer,
62 size_t point_layer_count(const PointLayer *point_layer);
63 const Vec2f *point_layer_positions(const PointLayer *point_layer);
64 const Color *point_layer_colors(const PointLayer *point_layer);
65 const char *point_layer_ids(const PointLayer *point_layer);
67 #endif // POINT_LAYER_H_