mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	ImDrawFlags: rework/revert c2d6d26 + 39432bf in a way that is closer to old version and back to opt-in but with default 0 = all corners.
				
					
				
			This commit is contained in:
		| @@ -874,19 +874,19 @@ void ImGui::Scrollbar(ImGuiAxis axis) | ||||
|  | ||||
|     // Calculate scrollbar bounding box | ||||
|     ImRect bb = GetWindowScrollbarRect(window, axis); | ||||
|     ImDrawFlags rounding_corners = ImDrawFlags_NoRoundCorners; | ||||
|     ImDrawFlags rounding_corners = ImDrawFlags_RoundCornersNone; | ||||
|     if (axis == ImGuiAxis_X) | ||||
|     { | ||||
|         rounding_corners &= ~ImDrawFlags_NoRoundCornerBL; | ||||
|         rounding_corners |= ImDrawFlags_RoundCornersBottomLeft; | ||||
|         if (!window->ScrollbarY) | ||||
|             rounding_corners &= ~ImDrawFlags_NoRoundCornerBR; | ||||
|             rounding_corners |= ImDrawFlags_RoundCornersBottomRight; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         if ((window->Flags & ImGuiWindowFlags_NoTitleBar) && !(window->Flags & ImGuiWindowFlags_MenuBar)) | ||||
|             rounding_corners &= ~ImDrawFlags_NoRoundCornerTR; | ||||
|             rounding_corners |= ImDrawFlags_RoundCornersTopRight; | ||||
|         if (!window->ScrollbarX) | ||||
|             rounding_corners &= ~ImDrawFlags_NoRoundCornerBR; | ||||
|             rounding_corners |= ImDrawFlags_RoundCornersBottomRight; | ||||
|     } | ||||
|     float size_avail = window->InnerRect.Max[axis] - window->InnerRect.Min[axis]; | ||||
|     float size_contents = window->ContentSize[axis] + window->WindowPadding[axis] * 2.0f; | ||||
| @@ -1579,12 +1579,12 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImGuiComboF | ||||
|     const float value_x2 = ImMax(frame_bb.Min.x, frame_bb.Max.x - arrow_size); | ||||
|     RenderNavHighlight(frame_bb, id); | ||||
|     if (!(flags & ImGuiComboFlags_NoPreview)) | ||||
|         window->DrawList->AddRectFilled(frame_bb.Min, ImVec2(value_x2, frame_bb.Max.y), frame_col, style.FrameRounding, (flags & ImGuiComboFlags_NoArrowButton) ? 0 : ImDrawFlags_NoRoundCornerR); | ||||
|         window->DrawList->AddRectFilled(frame_bb.Min, ImVec2(value_x2, frame_bb.Max.y), frame_col, style.FrameRounding, (flags & ImGuiComboFlags_NoArrowButton) ? ImDrawFlags_RoundCornersAll : ImDrawFlags_RoundCornersLeft); | ||||
|     if (!(flags & ImGuiComboFlags_NoArrowButton)) | ||||
|     { | ||||
|         ImU32 bg_col = GetColorU32((popup_open || hovered) ? ImGuiCol_ButtonHovered : ImGuiCol_Button); | ||||
|         ImU32 text_col = GetColorU32(ImGuiCol_Text); | ||||
|         window->DrawList->AddRectFilled(ImVec2(value_x2, frame_bb.Min.y), frame_bb.Max, bg_col, style.FrameRounding, (w <= arrow_size) ? 0 : ImDrawFlags_NoRoundCornerL); | ||||
|         window->DrawList->AddRectFilled(ImVec2(value_x2, frame_bb.Min.y), frame_bb.Max, bg_col, style.FrameRounding, (w <= arrow_size) ? ImDrawFlags_RoundCornersAll : ImDrawFlags_RoundCornersRight); | ||||
|         if (value_x2 + arrow_size - style.FramePadding.x <= frame_bb.Max.x) | ||||
|             RenderArrow(window->DrawList, ImVec2(value_x2 + style.FramePadding.y, frame_bb.Min.y + style.FramePadding.y), text_col, ImGuiDir_Down, 1.0f); | ||||
|     } | ||||
| @@ -5357,8 +5357,8 @@ bool ImGui::ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFl | ||||
|     if ((flags & ImGuiColorEditFlags_AlphaPreviewHalf) && col_rgb.w < 1.0f) | ||||
|     { | ||||
|         float mid_x = IM_ROUND((bb_inner.Min.x + bb_inner.Max.x) * 0.5f); | ||||
|         RenderColorRectWithAlphaCheckerboard(window->DrawList, ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, GetColorU32(col_rgb), grid_step, ImVec2(-grid_step + off, off), rounding, ImDrawFlags_NoRoundCornerL); | ||||
|         window->DrawList->AddRectFilled(bb_inner.Min, ImVec2(mid_x, bb_inner.Max.y), GetColorU32(col_rgb_without_alpha), rounding, ImDrawFlags_NoRoundCornerR); | ||||
|         RenderColorRectWithAlphaCheckerboard(window->DrawList, ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, GetColorU32(col_rgb), grid_step, ImVec2(-grid_step + off, off), rounding, ImDrawFlags_RoundCornersRight); | ||||
|         window->DrawList->AddRectFilled(bb_inner.Min, ImVec2(mid_x, bb_inner.Max.y), GetColorU32(col_rgb_without_alpha), rounding, ImDrawFlags_RoundCornersLeft); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user