+class PaletteLum : public BC_FSlider
+{
+public:
+ PaletteLum(ColorWindow *window, int x, int y);
+ ~PaletteLum();
+ int handle_event();
+ ColorWindow *window;
+};
+
+class PaletteCr : public BC_FSlider
+{
+public:
+ PaletteCr(ColorWindow *window, int x, int y);
+ ~PaletteCr();
+ int handle_event();
+ ColorWindow *window;
+};
+
+class PaletteCb : public BC_FSlider
+{
+public:
+ PaletteCb(ColorWindow *window, int x, int y);
+ ~PaletteCb();
+ int handle_event();
+ ColorWindow *window;
+};
+
+class PalletteNum : public BC_TumbleTextBox
+{
+public:
+ ColorWindow *window;
+ float *output;
+
+ PalletteNum(ColorWindow *window, int x, int y,
+ float &output, float min, float max);
+ ~PalletteNum();
+ void update_output() { *output = atof(get_text()); }
+ static int calculate_h() { return BC_Tumbler::calculate_h(); }
+};
+
+class PalletteRGB : public PalletteNum
+{
+public:
+ PalletteRGB(ColorWindow *window, int x, int y,
+ float &output, float min, float max)
+ : PalletteNum(window, x, y, output, min, max) {}
+ int handle_event();
+};
+
+class PalletteYUV : public PalletteNum
+{
+public:
+ PalletteYUV(ColorWindow *window, int x, int y,
+ float &output, float min, float max)
+ : PalletteNum(window, x, y, output, min, max) {}
+ int handle_event();
+};
+
+class PalletteHSV : public PalletteNum
+{
+public:
+ PalletteHSV(ColorWindow *window, int x, int y,
+ float &output, float min, float max)
+ : PalletteNum(window, x, y, output, min, max) {}
+ int handle_event();
+};
+
+class PalletteAPH : public PalletteNum
+{
+public:
+ PalletteAPH(ColorWindow *window, int x, int y,
+ float &output, float min, float max)
+ : PalletteNum(window, x, y, output, min, max) {}
+ int handle_event();
+};
+