view infinite_canvas/dev_ui.h @ 282:6bd4a3990696 default tip

Add cross-platform canvas orchestration and typed composer Enable native ARM dependencies, macOS Copilot orchestration, portable service supervision, CPU dictation, and a shared N-key speak-or-type composer. Co-authored-by: Copilot <[email protected]> Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
author MrJuneJune <me@mrjunejune.com>
date Thu, 20 Aug 2026 20:45:25 -0700
parents c57149ad216e
children
line wrap: on
line source

#ifndef INFINITE_CANVAS_DEV_UI_H
#define INFINITE_CANVAS_DEV_UI_H

#include "infinite_canvas/canvas.h"
#include "infinite_canvas/scene_store.h"

typedef struct {
    int32 selected_type;
    boolean collapsed;
    boolean dropdown_open;
    boolean context_open;
    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);
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