Pārlūkot izejas kodu

Add early return to circle sector functions when angles are equal.

Prevents unnecessary work and division by zero (when segments=0) in DrawCircleSector/DrawCircleSectorLines when startAngle equals endAngle, matching existing behavior in DrawRing/DrawRingLines.
pull/4843/head
Myrddin Krustowski pirms 2 nedēļām
vecāks
revīzija
589ad0a33d
1 mainītis faili ar 2 papildinājumiem un 0 dzēšanām
  1. +2
    -0
      src/rshapes.c

+ 2
- 0
src/rshapes.c Parādīt failu

@ -285,6 +285,7 @@ void DrawCircleV(Vector2 center, float radius, Color color)
// Draw a piece of a circle
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
{
if (startAngle == endAngle) return;
if (radius <= 0.0f) radius = 0.1f; // Avoid div by zero
// Function expects (endAngle > startAngle)
@ -376,6 +377,7 @@ void DrawCircleSector(Vector2 center, float radius, float startAngle, float endA
// Draw a piece of a circle outlines
void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
{
if (startAngle == endAngle) return;
if (radius <= 0.0f) radius = 0.1f; // Avoid div by zero issue
// Function expects (endAngle > startAngle)

Notiek ielāde…
Atcelt
Saglabāt