5 #include "game/level/action.h"
8 typedef struct RectLayer RectLayer;
26 ColorPicker color_picker;
30 Vec2f move_anchor; // The mouse offset from the left-top
31 // corner of the rect during moving it
32 Edit_field id_edit_field;
36 const char *id_name_prefix;
42 LayerPtr rect_layer_as_layer(RectLayer *layer);
43 // NOTE: create_rect_layer and create_rect_layer_from_line_stream does
44 // not own id_name_prefix
45 RectLayer create_rect_layer(const char *id_name_prefix,
47 RectLayer chop_rect_layer(Memory *memory,
49 const char *id_name_prefix,
53 void destroy_rect_layer(RectLayer layer)
56 free(layer.rects.data);
57 free(layer.colors.data);
58 free(layer.actions.data);
62 int rect_layer_render(const RectLayer *layer, const Camera *camera, int active);
63 int rect_layer_event(RectLayer *layer,
64 const SDL_Event *event,
66 UndoHistory *undo_history);
68 int rect_layer_dump_stream(const RectLayer *layer, FILE *filedump);
70 size_t rect_layer_count(const RectLayer *layer);
71 const Rect *rect_layer_rects(const RectLayer *layer);
72 const Color *rect_layer_colors(const RectLayer *layer);
73 const char *rect_layer_ids(const RectLayer *layer);
74 const Action *rect_layer_actions(const RectLayer *layer);
76 #endif // RECT_LAYER_H_