8 #include "game/level/level_editor/color_picker.h"
9 #include "ui/edit_field.h"
11 #define ID_MAX_SIZE 36
21 PointLayerState state;
22 Dynarray/*<Vec2f>*/ positions;
23 Dynarray/*<Color>*/ colors;
24 Dynarray/*<char[ID_MAX_SIZE]>*/ ids;
26 ColorPicker color_picker;
30 Edit_field edit_field;
33 const char *id_name_prefix;
37 LayerPtr point_layer_as_layer(PointLayer *point_layer);
38 // NOTE: create_point_layer and create_point_layer_from_line_stream do
39 // not own id_name_prefix
40 PointLayer create_point_layer(const char *id_name_prefix);
41 void point_layer_reload(PointLayer *point_layer,
44 void point_layer_clean(PointLayer *point_layer);
48 void destroy_point_layer(PointLayer point_layer)
50 free(point_layer.positions.data);
51 free(point_layer.colors.data);
52 free(point_layer.ids.data);
56 int point_layer_render(const PointLayer *point_layer,
59 int point_layer_event(PointLayer *point_layer,
60 const SDL_Event *event,
62 UndoHistory *undo_history);
64 int point_layer_dump_stream(const PointLayer *point_layer,
67 size_t point_layer_count(const PointLayer *point_layer);
68 const Vec2f *point_layer_positions(const PointLayer *point_layer);
69 const Color *point_layer_colors(const PointLayer *point_layer);
70 const char *point_layer_ids(const PointLayer *point_layer);
72 #endif // POINT_LAYER_H_