aboutsummaryrefslogtreecommitdiff
path: root/color-picker.h
blob: 9782ef73e8eef7bcd53b5520a6744e595d07cdc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// -*- mode: c++ -*- 
#pragma once
 
#include <Kaleidoscope.h>
 
class ColorPicker : public kaleidoscope::Plugin {
public:
  ColorPicker(void) : is_active(false), current_index(0), colors{}, map{} { }
 
  void toggle(void) { is_active = !is_active; }
 
  kaleidoscope::EventHandlerResult onKeyswitchEvent(Key &mapped_key, byte row, byte col, uint8_t key_state) {
    if (!Kaleidoscope.has_leds || !is_active)
      return kaleidoscope::EventHandlerResult::OK;
 
    return kaleidoscope::EventHandlerResult::EVENT_CONSUMED;
  }
 
private:
  bool is_active;
  uint8_t current_index;
  cRGB colors[16];
  uint8_t map[ROWS][COLS];
};
 
ColorPicker theColorPicker;