#ifndef __NLL_CHARSET_H_INCLUDED__
#define __NLL_CHARSET_H_INCLUDED__

#ifdef GRAPHIC_CHARACTER_PRESET_RDONLY
#define GRAPHIC_CHARACTER_PRESET_TYPE const
#else
#define GRAPHIC_CHARACTER_PRESET_TYPE
#endif

struct charset {
  int width;
  int height;
  int num;

  GRAPHIC_CHARACTER_PRESET_TYPE void *bitmap;

  image_type_t type;
  unsigned int flags;
};

struct charsets {
  int type;
  const struct charset *charset;
  image_t image;
};

extern const struct charset charset_font8x8;
extern const struct charset charset_font16x16;
extern const struct charset charset_font5x5;
extern const struct charset charset_character;
extern const struct charset charset_character_2;
extern const struct charset charset_character_3;

extern struct charsets charsets[];

extern int charsets_num;

#endif
