#pragma once
// ui_icons.h - SVG icon definitions and atlas rasterization via nanosvg

#include "base/base_inc.h"

typedef enum UI_IconID {
    UI_ICON_CLOSE,
    UI_ICON_CHECK,
    UI_ICON_CHEVRON_DOWN,
    UI_ICON_KNOB,
    UI_ICON_SLIDER_THUMB,
    UI_ICON_FADER,
    UI_ICON_TRANSPORT_REWIND,
    UI_ICON_TRANSPORT_STOP,
    UI_ICON_TRANSPORT_PLAY,
    UI_ICON_TRANSPORT_RECORD,
    UI_ICON_POP_OUT,
    UI_ICON_POP_IN,
    UI_ICON_COUNT
} UI_IconID;

typedef struct UI_IconInfo {
    F32 u0, v0, u1, v1;  // UV coordinates in icon atlas
    F32 w, h;             // pixel dimensions at rasterized size
} UI_IconInfo;

extern UI_IconInfo g_icons[UI_ICON_COUNT];

// Rasterizes all icons into an RGBA8 atlas bitmap (4 bytes per pixel).
// Returns malloc'd data (caller frees). Sets *out_w, *out_h to atlas dimensions.
// icon_size is the pixel height to rasterize each icon at.
U8 *ui_icons_rasterize_atlas(S32 *out_w, S32 *out_h, S32 icon_size);
