#ifndef colconv_h
#define colconv_h

#include "ka_chroma.h"
#include "ka_drawer.h"
#include "ka_screen.h"
#include "ka_error.h"

typedef enum
{ ka_zoom_05 = 0
, ka_zoom_1  = 1
, ka_zoom_2  = 2
, ka_zoom_3  = 3
, ka_zoom_4  = 4
} ka_zoom;

typedef struct
{
  int brightness;             // 0..200  default 100
  int contrast;               // 0..200  default 100
  int colour;                 // 0..200  default 100
  ka_zoom zoom;               // zoom, is always 1 in multitasking mode
  int config;                 // see cfg.video
  ka_chroma_type chroma_type; // source color space type
} ka_colourspace_t;

ka_drawer_f ColourConverter_setup(ka_error_t* pErrorBlock, ka_screen_t* target, ka_colourspace_t* options);
ka_drawer_f ColourConverter_fastsetup(ka_error_t* pErrorBlock, ka_screen_t* target, ka_colourspace_t* options);
const char* ColourConverter_ColourDepthName(ka_col_depth depth);
const char* ColourConverter_ChromaTypeName(ka_chroma_type type);

#endif
