]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/level_editor/rect_layer.h
(#1108) add development ding
[nothing.git] / src / game / level / level_editor / rect_layer.h
index 89353e4d23ed72ead69ef7a6bdeb3c02557f8770..c490d551687d2d698c49f3e5f01d0a19634d27ab 100644 (file)
@@ -2,17 +2,23 @@
 #define RECT_LAYER_H_
 
 #include "layer.h"
+#include "game/level/action.h"
 
 typedef struct RectLayer RectLayer;
 typedef struct LineStream LineStream;
 
 LayerPtr rect_layer_as_layer(RectLayer *layer);
-RectLayer *create_rect_layer(void);
-RectLayer *create_rect_layer_from_line_stream(LineStream *line_stream);
+// NOTE: create_rect_layer and create_rect_layer_from_line_stream does
+// not own id_name_prefix
+RectLayer *create_rect_layer(const char *id_name_prefix);
+RectLayer *create_rect_layer_from_line_stream(LineStream *line_stream, const char *id_name_prefix);
 void destroy_rect_layer(RectLayer *layer);
 
-int rect_layer_render(const RectLayer *layer, Camera *camera, int active);
-int rect_layer_event(RectLayer *layer, const SDL_Event *event, const Camera *camera);
+int rect_layer_render(const RectLayer *layer, const Camera *camera, int active);
+int rect_layer_event(RectLayer *layer,
+                     const SDL_Event *event,
+                     const Camera *camera,
+                     UndoHistory *undo_history);
 
 int rect_layer_dump_stream(const RectLayer *layer, FILE *filedump);
 
@@ -20,5 +26,6 @@ size_t rect_layer_count(const RectLayer *layer);
 const Rect *rect_layer_rects(const RectLayer *layer);
 const Color *rect_layer_colors(const RectLayer *layer);
 const char *rect_layer_ids(const RectLayer *layer);
+const Action *rect_layer_actions(const RectLayer *layer);
 
 #endif  // RECT_LAYER_H_