diff infinite_canvas/dev_ui.h @ 281:c57149ad216e default tip

Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
author MrJuneJune <me@mrjunejune.com>
date Tue, 18 Aug 2026 22:18:15 -0700
parents 49e9e591c9bb
children
line wrap: on
line diff
--- a/infinite_canvas/dev_ui.h	Tue Aug 18 19:14:53 2026 -0700
+++ b/infinite_canvas/dev_ui.h	Tue Aug 18 22:18:15 2026 -0700
@@ -2,6 +2,7 @@
 #define INFINITE_CANVAS_DEV_UI_H
 
 #include "infinite_canvas/canvas.h"
+#include "infinite_canvas/scene_store.h"
 
 typedef struct {
     int32 selected_type;
@@ -11,18 +12,31 @@
     float context_scroll;
     float context_content_height;
     char context_buffer[CANVAS_CONTEXT_MAX_LENGTH];
+    char snapshot_name[CANVAS_SCENE_STORE_NAME_CAPACITY];
+    char snapshot_status[96];
+    boolean snapshot_name_editing;
 } Canvas_Dev_UI;
 
+typedef enum {
+    CANVAS_DEV_UI_ACTION_NONE = 0,
+    CANVAS_DEV_UI_ACTION_SAVE_SNAPSHOT,
+    CANVAS_DEV_UI_ACTION_LOAD_SNAPSHOT,
+} Canvas_Dev_UI_Action;
+
 void Canvas_Dev_UI_Init(
     Canvas_Dev_UI *p_ui,
     Font font,
     const Canvas_Theme *p_theme);
 boolean Canvas_Dev_UI_Contains_Pointer(const Canvas_Dev_UI *p_ui);
-void Canvas_Dev_UI_Draw(
+boolean Canvas_Dev_UI_Is_Editing(const Canvas_Dev_UI *p_ui);
+Canvas_Dev_UI_Action Canvas_Dev_UI_Draw(
     Canvas_Dev_UI *p_ui,
     Canvas_Camera *p_camera,
     Canvas_Scene *p_scene,
     Font font,
     Canvas_Theme *p_theme);
+void Canvas_Dev_UI_Set_Snapshot_Status(
+    Canvas_Dev_UI *p_ui,
+    const char *p_status);
 
 #endif