2021-08-17 20:19:00 +02:00
|
|
|
#ifdef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
2021-07-09 23:54:33 +02:00
|
|
|
#define RGB_MATRIX_EFFECT_CYCLE_OUT_IN_DUAL
|
2019-05-11 04:56:16 +02:00
|
|
|
RGB_MATRIX_EFFECT(CYCLE_OUT_IN_DUAL)
|
2019-08-30 20:19:03 +02:00
|
|
|
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
2019-05-11 04:56:16 +02:00
|
|
|
|
2019-08-30 20:19:03 +02:00
|
|
|
static HSV CYCLE_OUT_IN_DUAL_math(HSV hsv, int16_t dx, int16_t dy, uint8_t time) {
|
|
|
|
dx = (k_rgb_matrix_center.x / 2) - abs8(dx);
|
2019-05-11 04:56:16 +02:00
|
|
|
uint8_t dist = sqrt16(dx * dx + dy * dy);
|
2019-08-30 20:19:03 +02:00
|
|
|
hsv.h = 3 * dist + time;
|
2019-05-20 06:12:29 +02:00
|
|
|
return hsv;
|
2019-05-19 15:34:25 +02:00
|
|
|
}
|
|
|
|
|
2022-02-12 19:29:31 +01:00
|
|
|
bool CYCLE_OUT_IN_DUAL(effect_params_t* params) {
|
|
|
|
return effect_runner_dx_dy(params, &CYCLE_OUT_IN_DUAL_math);
|
|
|
|
}
|
2019-05-11 04:56:16 +02:00
|
|
|
|
2022-02-12 19:29:31 +01:00
|
|
|
# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
|
|
|
#endif // ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|