/* Do not edit this file. It was automatically generated. */

#ifndef HEADER_ColorsPanel
#define HEADER_ColorsPanel

#include "CRT.h"

#include "Panel.h"
#include "CheckItem.h"
#include "Settings.h"
#include "ScreenManager.h"

#include "debug.h"
#include <assert.h>

// TO ADD A NEW SCHEME:
// * Increment the size of bool check in ColorsPanel.h
// * Add the entry in the ColorSchemes array below in the file
// * Add a define in CRT.h that matches the order of the array
// * Add the colors in CRT_setColors


typedef struct ColorsPanel_ {
   Panel super;

   Settings* settings;
   ScreenManager* scr;
} ColorsPanel;


ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr);

#endif
