solid_reactive_anim.h 739 B

123456789101112131415161718192021
  1. #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED
  2. # ifdef ENABLE_RGB_MATRIX_SOLID_REACTIVE
  3. RGB_MATRIX_EFFECT(SOLID_REACTIVE)
  4. # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
  5. static hsv_t SOLID_REACTIVE_math(hsv_t hsv, uint16_t offset) {
  6. if (offset > 255) offset = 255;
  7. # ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
  8. hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4);
  9. # endif
  10. hsv.h += scale8(255 - offset, 64);
  11. return hsv;
  12. }
  13. bool SOLID_REACTIVE(effect_params_t* params) {
  14. return effect_runner_reactive(params, &SOLID_REACTIVE_math);
  15. }
  16. # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
  17. # endif // ENABLE_RGB_MATRIX_SOLID_REACTIVE
  18. #endif // RGB_MATRIX_KEYREACTIVE_ENABLED