]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/rgb_matrix_animations/cycle_out_in_dual_anim.h
Switching rgb_config_t to use HSV struct
[qmk_firmware.git] / quantum / rgb_matrix_animations / cycle_out_in_dual_anim.h
1 #ifndef DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
2 RGB_MATRIX_EFFECT(CYCLE_OUT_IN_DUAL)
3 #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
4
5 static HSV CYCLE_OUT_IN_DUAL_math(HSV hsv,  int16_t dx, int16_t dy, uint8_t time) {
6     dx = (k_rgb_matrix_center.x / 2) - abs8(dx);
7     uint8_t dist = sqrt16(dx * dx + dy * dy);
8     hsv.h = 3 * dist + time;
9     return hsv;
10 }
11
12 bool CYCLE_OUT_IN_DUAL(effect_params_t* params) {
13     return effect_runner_dx_dy(params, &CYCLE_OUT_IN_DUAL_math);
14 }
15
16 #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
17 #endif // DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL