]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/level_editor/background_layer.c
Implement chop_background_layer
[nothing.git] / src / game / level / level_editor / background_layer.c
index d605144831ac9d0c6d523308e2e7658808e44260..74945dcf7360bb64abd58eaa5370639534eaa22d 100644 (file)
@@ -8,7 +8,6 @@
 #include "background_layer.h"
 #include "undo_history.h"
 
-
 BackgroundLayer create_background_layer(Color color)
 {
     BackgroundLayer layer = {
@@ -32,8 +31,14 @@ int background_layer_read_from_line_stream(BackgroundLayer *layer,
     return 0;
 }
 
+BackgroundLayer chop_background_layer(String *input)
+{
+    String line = trim(chop_by_delim(input, '\n'));
+    return create_background_layer(hexs(line));
+}
+
 int background_layer_render(BackgroundLayer *layer,
-                            Camera *camera,
+                            const Camera *camera,
                             int active)
 {
     trace_assert(layer);
@@ -51,15 +56,15 @@ int background_layer_render(BackgroundLayer *layer,
 typedef struct {
     BackgroundLayer *layer;
     Color color;
-} UndoContext;
+} BackgroundUndoContext;
 
 static
 void background_undo_color(void *context, size_t context_size)
 {
     trace_assert(context);
-    trace_assert(sizeof(UndoContext) == context_size);
+    trace_assert(sizeof(BackgroundUndoContext) == context_size);
 
-    UndoContext *undo_context = context;
+    BackgroundUndoContext *undo_context = context;
     BackgroundLayer *background_layer = undo_context->layer;
 
     background_layer->color_picker = create_color_picker_from_rgba(undo_context->color);
@@ -86,7 +91,7 @@ int background_layer_event(BackgroundLayer *layer,
     }
 
     if (selected && !color_picker_drag(&layer->color_picker)) {
-        UndoContext context = {
+        BackgroundUndoContext context = {
             .layer = layer,
             .color = layer->prev_color
         };