5 #include "game/level/action.h"
8 #include "color_picker.h"
9 #include "ui/edit_field.h"
11 typedef struct RectLayer RectLayer;
29 ColorPicker color_picker;
33 Vec2f move_anchor; // The mouse offset from the left-top
34 // corner of the rect during moving it
35 Edit_field id_edit_field;
39 const char *id_name_prefix;
45 LayerPtr rect_layer_as_layer(RectLayer *layer);
46 // NOTE: create_rect_layer and create_rect_layer_from_line_stream does
47 // not own id_name_prefix
49 RectLayer *create_rect_layer_from_memory(Memory *memory,
50 const char *id_name_prefix,
52 void rect_layer_load(RectLayer *rect_layer, Memory *memory, String *input);
55 void destroy_rect_layer(RectLayer layer)
58 free(layer.rects.data);
59 free(layer.colors.data);
60 free(layer.actions.data);
64 int rect_layer_render(const RectLayer *layer, const Camera *camera, int active);
65 int rect_layer_event(RectLayer *layer,
66 const SDL_Event *event,
68 UndoHistory *undo_history);
70 int rect_layer_dump_stream(const RectLayer *layer, FILE *filedump);
72 size_t rect_layer_count(const RectLayer *layer);
73 const Rect *rect_layer_rects(const RectLayer *layer);
74 const Color *rect_layer_colors(const RectLayer *layer);
75 const char *rect_layer_ids(const RectLayer *layer);
76 const Action *rect_layer_actions(const RectLayer *layer);
78 #endif // RECT_LAYER_H_