]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/rgb_matrix_types.h
Updated rgb_led struct field modifier to flags (#5619)
[qmk_firmware.git] / quantum / rgb_matrix_types.h
index 908e96da56d2d9824e1afe34c3b5a1921ffb5dec..7a3bc6714f5b79fd9bcdf1965c6ce9ba7bb5dcad 100644 (file)
@@ -67,19 +67,21 @@ typedef union {
   };
 } matrix_co_t;
 
+#define HAS_FLAGS(bits, flags) ((bits & flags) == flags)
+#define HAS_ANY_FLAGS(bits, flags) ((bits & flags) != 0x00)
+
+#define LED_FLAG_ALL 0xFF
+#define LED_FLAG_NONE 0x00
+#define LED_FLAG_MODIFIER 0x01
+#define LED_FLAG_UNDERGLOW 0x02
+#define LED_FLAG_KEYLIGHT 0x04
+
 typedef struct PACKED {
-       matrix_co_t matrix_co;
-       point_t point;
-       uint8_t modifier:1;
+  matrix_co_t matrix_co;
+  point_t point;
+  uint8_t flags;
 } rgb_led;
 
-typedef enum {
-  RGB_ZONE_OFF = 0,
-  RGB_ZONE_ALL,
-  RGB_ZONE_KEYS,
-  RGB_ZONE_UNDER,
-} rgb_zone_t;
-
 typedef union {
   uint32_t raw;
   struct PACKED {