aboutsummaryrefslogtreecommitdiff
// -*- mode: c++ -*-
#pragma once

#include "DakkarColor.h"

const cRGB num_breathe() { return breath_compute(170); }

#define D_C(r,g,b) ((DakkarColor::colorSrc){ \
  .value_or_function = DakkarColor::colorSrc::VALUE, \
  .vf = { .value = CRGB(r,g,b) } \
})
#define D_Cn(color) ((DakkarColor::colorSrc){ \
  .value_or_function = DakkarColor::colorSrc::VALUE, \
  .vf = { .value = color } \
})
#define D_F(f) ((DakkarColor::colorSrc){ \
  .value_or_function = DakkarColor::colorSrc::FUNCTION, \
  .vf = { .function = f } \
})

// themes could be adapted from https://github.com/jdlien/Kaleidoscope-LEDEffect-FunctionalColor/blob/master/src/Kaleidoscope-LEDEffect-FunctionalColor.h

static constexpr DakkarColor::colorSrc dark_colors[COLOR_COUNT] =
  {
   [Off]        = D_C(0,0,0),
   [Base]       = D_C(0,0,0),
   [Base2]      = D_C(128,128,128),
   [Screen]     = D_C(78,13,80),
   [Lnch]       = D_C(128,25,87),
   [Wind]       = D_C(65,128,52),
   [View]       = D_C(51,102,128),
   [Media]      = D_C(123,128,47),
   [Ms]         = D_C(128,126,21),
   [MsB]        = D_C(108,26,0),
   [MsW]        = D_C(110,128,27),
   [Func]       = D_C(115,0,128),
   [Func2]      = D_C(14,43,80),
   [Num]        = D_C(150,0,0),
   [NumBreathe] = D_F(num_breathe),
  };

static constexpr DakkarColor::colorSrc bright_colors[COLOR_COUNT] =
  {
   [Off]        = D_C(0,0,0),
   [Base]       = D_C(128,128,128),
   [Base2]      = D_C(128,128,128),
   [Screen]     = D_C(78,13,80),
   [Lnch]       = D_C(128,25,87),
   [Wind]       = D_C(65,128,52),
   [View]       = D_C(51,102,128),
   [Media]      = D_C(123,128,47),
   [Ms]         = D_C(128,126,21),
   [MsB]        = D_C(108,26,0),
   [MsW]        = D_C(110,128,27),
   [Func]       = D_C(115,0,128),
   [Func2]      = D_C(14,43,80),
   [Num]        = D_C(150,0,0),
   [NumBreathe] = D_F(num_breathe),
  };

static DakkarColor DakkarColorDark(kaleidoscope::plugin::defaultcolormap::colormaps,dark_colors);
static DakkarColor DakkarColorBright(kaleidoscope::plugin::defaultcolormap::colormaps,bright_colors);