MCPcopy Create free account
hub / github.com/KebsCS/KBotExt / AddCircle

Method AddCircle

KBotExt/imgui/imgui_draw.cpp:1478–1500  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1476}
1477
1478void ImDrawList::AddCircle(const ImVec2& center, float radius, ImU32 col, int num_segments, float thickness)
1479{
1480 if ((col & IM_COL32_A_MASK) == 0 || radius < 0.5f)
1481 return;
1482
1483 if (num_segments <= 0)
1484 {
1485 // Use arc with automatic segment count
1486 _PathArcToFastEx(center, radius - 0.5f, 0, IM_DRAWLIST_ARCFAST_SAMPLE_MAX, 0);
1487 _Path.Size--;
1488 }
1489 else
1490 {
1491 // Explicit segment count (still clamp to avoid drawing insanely tessellated shapes)
1492 num_segments = ImClamp(num_segments, 3, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX);
1493
1494 // Because we are filling a closed shape we remove 1 from the count of segments/points
1495 const float a_max = (IM_PI * 2.0f) * ((float)num_segments - 1.0f) / (float)num_segments;
1496 PathArcTo(center, radius - 0.5f, 0.0f, a_max, num_segments - 1);
1497 }
1498
1499 PathStroke(col, ImDrawFlags_Closed, thickness);
1500}
1501
1502void ImDrawList::AddCircleFilled(const ImVec2& center, float radius, ImU32 col, int num_segments)
1503{

Callers 2

RadioButtonMethod · 0.80
ColorPicker4Method · 0.80

Calls 1

ImClampFunction · 0.85

Tested by

no test coverage detected