mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	ImDrawList: AddRect() added optional thickness parameter + updated demo
This commit is contained in:
		@@ -1804,24 +1804,24 @@ static void ShowExampleAppCustomRendering(bool* opened)
 | 
			
		||||
        const ImVec2 p = ImGui::GetCursorScreenPos();
 | 
			
		||||
        const ImU32 col32 = ImColor(col);
 | 
			
		||||
        float x = p.x + 4.0f, y = p.y + 4.0f, spacing = 8.0f;
 | 
			
		||||
        draw_list->AddCircle(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 32); x += sz+spacing;
 | 
			
		||||
        draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32); x += sz+spacing;
 | 
			
		||||
        draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f); x += sz+spacing;
 | 
			
		||||
        draw_list->AddLine(ImVec2(x, y), ImVec2(x+sz, y   ), col32); x += sz+spacing;
 | 
			
		||||
        draw_list->AddLine(ImVec2(x, y), ImVec2(x+sz, y+sz), col32); x += sz+spacing;
 | 
			
		||||
        draw_list->AddLine(ImVec2(x, y), ImVec2(x,    y+sz), col32); x += spacing;
 | 
			
		||||
        draw_list->AddBezierCurve(ImVec2(x, y), ImVec2(x+sz*1.3f,y+sz*0.3f), ImVec2(x+sz-sz*1.3f,y+sz-sz*0.3f), ImVec2(x+sz, y+sz), col32, 1.0f);
 | 
			
		||||
        x = p.x + 4;
 | 
			
		||||
        y += sz+spacing;
 | 
			
		||||
        for (int n = 0; n < 2; n++)
 | 
			
		||||
        {
 | 
			
		||||
            float thickness = (n == 0) ? 1.0f : 4.0f;
 | 
			
		||||
            draw_list->AddCircle(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 20, thickness); x += sz+spacing;
 | 
			
		||||
            draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 0.0f, ~0, thickness); x += sz+spacing;
 | 
			
		||||
            draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f, ~0, thickness); x += sz+spacing;
 | 
			
		||||
            draw_list->AddLine(ImVec2(x, y), ImVec2(x+sz, y   ), col32, thickness); x += sz+spacing;
 | 
			
		||||
            draw_list->AddLine(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, thickness); x += sz+spacing;
 | 
			
		||||
            draw_list->AddLine(ImVec2(x, y), ImVec2(x,    y+sz), col32, thickness); x += spacing;
 | 
			
		||||
            draw_list->AddBezierCurve(ImVec2(x, y), ImVec2(x+sz*1.3f,y+sz*0.3f), ImVec2(x+sz-sz*1.3f,y+sz-sz*0.3f), ImVec2(x+sz, y+sz), col32, thickness);
 | 
			
		||||
            x = p.x + 4;
 | 
			
		||||
            y += sz+spacing;
 | 
			
		||||
        }
 | 
			
		||||
        draw_list->AddCircleFilled(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 32); x += sz+spacing;
 | 
			
		||||
        draw_list->AddRectFilled(ImVec2(x, y), ImVec2(x+sz, y+sz), col32); x += sz+spacing;
 | 
			
		||||
        draw_list->AddRectFilled(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f); x += sz+spacing;
 | 
			
		||||
        draw_list->AddLine(ImVec2(x, y), ImVec2(x+sz, y   ), col32, 4.0f); x += sz+spacing;
 | 
			
		||||
        draw_list->AddLine(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 4.0f); x += sz+spacing;
 | 
			
		||||
        draw_list->AddLine(ImVec2(x, y), ImVec2(x,    y+sz), col32, 4.0f); x += spacing;
 | 
			
		||||
        draw_list->AddBezierCurve(ImVec2(x, y), ImVec2(x+sz*1.3f,y+sz*0.3f), ImVec2(x+sz-sz*1.3f,y+sz-sz*0.3f), ImVec2(x+sz, y+sz), col32, 4.0f); x += sz+spacing;
 | 
			
		||||
        draw_list->AddRectFilledMultiColor(ImVec2(x, y), ImVec2(x+sz, y+sz), ImColor(0,0,0), ImColor(255,0,0), ImColor(255,255,0), ImColor(0,255,0));
 | 
			
		||||
        ImGui::Dummy(ImVec2((sz+spacing)*8, (sz+spacing)*2));
 | 
			
		||||
        ImGui::Dummy(ImVec2((sz+spacing)*8, (sz+spacing)*3));
 | 
			
		||||
    }
 | 
			
		||||
    ImGui::Separator();
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user