#ifndef ICONS_H
#define ICONS_H

#include <pico/stdlib.h>

extern unsigned char __0_svg_raw[];
extern int __0_svg_raw_len;

extern unsigned char __1_svg_raw[];
extern int __1_svg_raw_len;

extern unsigned char __2_svg_raw[];
extern int __2_svg_raw_len;

extern unsigned char __3_svg_raw[];
extern int __3_svg_raw_len;

extern unsigned char __4_svg_raw[];
extern int __4_svg_raw_len;

extern unsigned char __5_svg_raw[];
extern int __5_svg_raw_len;

extern unsigned char __6_svg_raw[];
extern int __6_svg_raw_len;

extern unsigned char __7_svg_raw[];
extern int __7_svg_raw_len;

extern unsigned char __8_svg_raw[];
extern int __8_svg_raw_len;

extern unsigned char __9_svg_raw[];
extern int __9_svg_raw_len;

extern unsigned char __10_svg_raw[];
extern int __10_svg_raw_len;

extern unsigned char __11_svg_raw[];
extern int __11_svg_raw_len;

extern unsigned char __12_svg_raw[];
extern int __12_svg_raw_len;

extern unsigned char __13_svg_raw[];
extern int __13_svg_raw_len;

extern unsigned char __14_svg_raw[];
extern int __14_svg_raw_len;

extern unsigned char __15_svg_raw[];
extern int __15_svg_raw_len;

extern unsigned char __16_svg_raw[];
extern int __16_svg_raw_len;

extern unsigned char __17_svg_raw[];
extern int __17_svg_raw_len;

extern unsigned char __18_svg_raw[];
extern int __18_svg_raw_len;

extern unsigned char __19_svg_raw[];
extern int __19_svg_raw_len;

extern unsigned char __20_svg_raw[];
extern int __20_svg_raw_len;

extern unsigned char W_svg_raw[];
extern int W_svg_raw_len;

extern unsigned char U_svg_raw[];
extern int U_svg_raw_len;

extern unsigned char B_svg_raw[];
extern int B_svg_raw_len;

extern unsigned char R_svg_raw[];
extern int R_svg_raw_len;

extern unsigned char G_svg_raw[];
extern int G_svg_raw_len;

extern unsigned char C_svg_raw[];
extern int C_svg_raw_len;

extern unsigned char A_raw[];
extern int A_raw_len;

extern unsigned char B_raw[];
extern int B_raw_len;

extern unsigned char C_raw[];
extern int C_raw_len;

extern unsigned char D_raw[];
extern int D_raw_len;

extern unsigned char E_raw[];
extern int E_raw_len;

extern unsigned char F_raw[];
extern int F_raw_len;

extern unsigned char G_raw[];
extern int G_raw_len;

extern unsigned char H_raw[];
extern int H_raw_len;

extern unsigned char I_raw[];
extern int I_raw_len;

extern unsigned char J_raw[];
extern int J_raw_len;

extern unsigned char K_raw[];
extern int K_raw_len;

extern unsigned char L_raw[];
extern int L_raw_len;

extern unsigned char M_raw[];
extern int M_raw_len;

extern unsigned char N_raw[];
extern int N_raw_len;

extern unsigned char O_raw[];
extern int O_raw_len;

extern unsigned char P_raw[];
extern int P_raw_len;

extern unsigned char Q_raw[];
extern int Q_raw_len;

extern unsigned char R_raw[];
extern int R_raw_len;

extern unsigned char S_raw[];
extern int S_raw_len;

extern unsigned char T_raw[];
extern int T_raw_len;

extern unsigned char U_raw[];
extern int U_raw_len;

extern unsigned char V_raw[];
extern int V_raw_len;

extern unsigned char W_raw[];
extern int W_raw_len;

extern unsigned char X_raw[];
extern int X_raw_len;

extern unsigned char Y_raw[];
extern int Y_raw_len;

extern unsigned char Z_raw[];
extern int Z_raw_len;

namespace icon
{

constexpr const unsigned char* NUMBER_ICONS[21]
  = { __0_svg_raw,  __1_svg_raw,  __2_svg_raw,  __3_svg_raw,  __4_svg_raw,
      __5_svg_raw,  __6_svg_raw,  __7_svg_raw,  __8_svg_raw,  __9_svg_raw,
      __10_svg_raw, __11_svg_raw, __12_svg_raw, __13_svg_raw, __14_svg_raw,
      __15_svg_raw, __16_svg_raw, __17_svg_raw, __18_svg_raw, __19_svg_raw,
      __20_svg_raw };

constexpr const unsigned char* LETTERS[26]
  = { A_raw, B_raw, C_raw, D_raw, E_raw, F_raw, G_raw, H_raw, I_raw,
      J_raw, K_raw, L_raw, M_raw, N_raw, O_raw, P_raw, Q_raw, R_raw,
      S_raw, T_raw, U_raw, V_raw, W_raw, X_raw, Y_raw, Z_raw };

constexpr int MTG_ICON_LENGTH = 32 * 32 * 3;
constexpr int TEXT_ICON_LENGTH = 12 * 19 * 3;

const unsigned char* wubrgc(uint8_t value);

}

#endif // ICONS_H
