RGB Matrix Effects: Cycle Out to In & Cycle Out to In Dual (#5812)
This commit is contained in:
		
							parent
							
								
									62ba66d618
								
							
						
					
					
						commit
						fd23a0e909
					
				
					 4 changed files with 52 additions and 0 deletions
				
			
		
							
								
								
									
										23
									
								
								quantum/rgb_matrix_animations/cycle_out_in_anim.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								quantum/rgb_matrix_animations/cycle_out_in_anim.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| #ifndef DISABLE_RGB_MATRIX_CYCLE_OUT_IN | ||||
| RGB_MATRIX_EFFECT(CYCLE_OUT_IN) | ||||
| #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||||
| 
 | ||||
| bool CYCLE_OUT_IN(effect_params_t* params) { | ||||
|   RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||||
| 
 | ||||
|   HSV hsv = { 0, rgb_matrix_config.sat, rgb_matrix_config.val }; | ||||
|   uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 4); | ||||
|   for (uint8_t i = led_min; i < led_max; i++) { | ||||
|     RGB_MATRIX_TEST_LED_FLAGS(); | ||||
|     int16_t dx = g_led_config.point[i].x - 112; | ||||
|     int16_t dy = g_led_config.point[i].y - 32; | ||||
|     uint8_t dist = sqrt16(dx * dx + dy * dy); | ||||
|     hsv.h = 3 * dist / 2 + time; | ||||
|     RGB rgb = hsv_to_rgb(hsv); | ||||
|     rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); | ||||
|   } | ||||
|   return led_max < DRIVER_LED_TOTAL; | ||||
| } | ||||
| 
 | ||||
| #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
 | ||||
| #endif // DISABLE_RGB_MATRIX_CYCLE_OUT_IN
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 XScorpion2
						XScorpion2