mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Merge branch 'master' into docking
# Conflicts: # imgui.cpp # imgui_internal.h
This commit is contained in:
		| @@ -1605,13 +1605,19 @@ void ImGui::ShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, int ve | ||||
|     float gradient_inv_length2 = 1.0f / ImLengthSqr(gradient_extent); | ||||
|     ImDrawVert* vert_start = draw_list->VtxBuffer.Data + vert_start_idx; | ||||
|     ImDrawVert* vert_end = draw_list->VtxBuffer.Data + vert_end_idx; | ||||
|     const int col0_r = (int)(col0 >> IM_COL32_R_SHIFT) & 0xFF; | ||||
|     const int col0_g = (int)(col0 >> IM_COL32_G_SHIFT) & 0xFF; | ||||
|     const int col0_b = (int)(col0 >> IM_COL32_B_SHIFT) & 0xFF; | ||||
|     const int col_delta_r = ((int)(col1 >> IM_COL32_R_SHIFT) & 0xFF) - col0_r; | ||||
|     const int col_delta_g = ((int)(col1 >> IM_COL32_G_SHIFT) & 0xFF) - col0_g; | ||||
|     const int col_delta_b = ((int)(col1 >> IM_COL32_B_SHIFT) & 0xFF) - col0_b; | ||||
|     for (ImDrawVert* vert = vert_start; vert < vert_end; vert++) | ||||
|     { | ||||
|         float d = ImDot(vert->pos - gradient_p0, gradient_extent); | ||||
|         float t = ImClamp(d * gradient_inv_length2, 0.0f, 1.0f); | ||||
|         int r = ImLerp((int)(col0 >> IM_COL32_R_SHIFT) & 0xFF, (int)(col1 >> IM_COL32_R_SHIFT) & 0xFF, t); | ||||
|         int g = ImLerp((int)(col0 >> IM_COL32_G_SHIFT) & 0xFF, (int)(col1 >> IM_COL32_G_SHIFT) & 0xFF, t); | ||||
|         int b = ImLerp((int)(col0 >> IM_COL32_B_SHIFT) & 0xFF, (int)(col1 >> IM_COL32_B_SHIFT) & 0xFF, t); | ||||
|         int r = (int)(col0_r + col_delta_r * t); | ||||
|         int g = (int)(col0_g + col_delta_g * t); | ||||
|         int b = (int)(col0_b + col_delta_b * t); | ||||
|         vert->col = (r << IM_COL32_R_SHIFT) | (g << IM_COL32_G_SHIFT) | (b << IM_COL32_B_SHIFT) | (vert->col & IM_COL32_A_MASK); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user