// 2024-04-22 18:32:00
function preview_overlay_rotation(interact, active, _x, _y, _s, _mx, _my, _snx, _sny, _rad) {
	var _val  = getValue();
	var hover = -1;
	if(is_array(_val)) return hover;
	
	var _ax   = _x + lengthdir_x(_rad, _val);
	var _ay   = _y + lengthdir_y(_rad, _val);
	var index = 0;
	var _r    = 10;
						
	if(drag_type) {
		index = 1;
		
		var angle = point_direction(_x, _y, _mx, _my);
		if(key_mod_press(CTRL))
			angle = round(angle / 15) * 15;
								
		if(setValueInspector( angle ))
			UNDO_HOLDING = true;
							
		if(mouse_release(mb_left)) {
			drag_type = 0;
			UNDO_HOLDING = false;
		}
	}
						
	if(interact && point_in_circle(_mx, _my, _ax, _ay, _r)) {
		hover = 1;
		index = 1;
		
		if(mouse_press(mb_left, active)) {
			drag_type = 1;
			drag_mx   = _mx;
			drag_my   = _my;
			drag_sx   = _ax;
			drag_sy   = _ay;
		}
	} 
	
	if(index) {
		draw_set_color(COLORS._main_accent);
		draw_set_alpha(0.5);
		draw_circle_prec(_x, _y, _rad, true);
		draw_set_alpha(1);
	}
	
	__overlay_hover = array_verify(__overlay_hover, 1);
	__overlay_hover[0] = lerp_float(__overlay_hover[0], index, 4);
	
	shader_set(sh_node_widget_rotator);
		shader_set_color("color", COLORS._main_accent);
		shader_set_f("index",     __overlay_hover[0]);
		shader_set_f("angle",     degtorad(_val + 90));
		
		var _arx = _x + lengthdir_x(_rad - 4, _val);
		var _ary = _y + lengthdir_y(_rad - 4, _val);
		draw_sprite_stretched(s_fx_pixel, 0, _arx - _r * 2, _ary - _r * 2, _r * 4, _r * 4);
	shader_reset();
	
	//draw_sprite_colored(THEME.anchor_rotate, index, _ax, _ay, 1, _val - 90);
	
	draw_set_text(_f_p2b, fa_center, fa_bottom, COLORS._main_accent);
	draw_text_add(round(_ax), round(_ay - 4), name);
	
	return hover;
}