]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/level_editor/point_layer.h
(#1118) Inner selection overlay for Rect Layer
[nothing.git] / src / game / level / level_editor / point_layer.h
index d0fad702b88a927f3958ba5daaa6eb7ab31405d1..0260b61296d40f670cc07392d7d56a816cebf40c 100644 (file)
@@ -1,19 +1,37 @@
 #ifndef POINT_LAYER_H_
 #define POINT_LAYER_H_
 
+#include "math/vec.h"
+#include "color.h"
+#include "layer.h"
+
+#define ID_MAX_SIZE 36
+
 typedef struct PointLayer PointLayer;
 typedef struct LineStream LineStream;
-typedef struct Camera Camera;
 
-PointLayer *create_point_layer(void);
-PointLayer *create_point_layer_from_line_stream(LineStream *line_stream);
+LayerPtr point_layer_as_layer(PointLayer *point_layer);
+// NOTE: create_point_layer and create_point_layer_from_line_stream do
+// not own id_name_prefix
+PointLayer *create_point_layer(const char *id_name_prefix);
+PointLayer *create_point_layer_from_line_stream(LineStream *line_stream,
+                                                const char *id_name_prefix);
 void destroy_point_layer(PointLayer *point_layer);
 
 int point_layer_render(const PointLayer *point_layer,
-                       Camera *camera);
+                       const Camera *camera,
+                       int active);
 int point_layer_event(PointLayer *point_layer,
-                      const SDL_Event *event);
+                      const SDL_Event *event,
+                      const Camera *camera,
+                      UndoHistory *undo_history);
 
+int point_layer_dump_stream(const PointLayer *point_layer,
+                            FILE *filedump);
 
+size_t point_layer_count(const PointLayer *point_layer);
+const Vec2f *point_layer_positions(const PointLayer *point_layer);
+const Color *point_layer_colors(const PointLayer *point_layer);
+const char *point_layer_ids(const PointLayer *point_layer);
 
 #endif  // POINT_LAYER_H_