diff --git a/src/raylib.h b/src/raylib.h index 6849e7176..d3336f74c 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1282,6 +1282,7 @@ RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); RLAPI void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle RLAPI void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color inner, Color outer); // Draw a gradient-filled circle +RLAPI void DrawCircleGradientV(Vector2 center, float radius, Color inner, Color outer); // Draw a gradient-filled circle (Vector version) RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline RLAPI void DrawCircleLinesV(Vector2 center, float radius, Color color); // Draw circle outline (Vector version) diff --git a/src/rshapes.c b/src/rshapes.c index 0a927a1d7..66574bb48 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -475,16 +475,22 @@ void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float // Draw a gradient-filled circle void DrawCircleGradient(int centerX, int centerY, float radius, Color inner, Color outer) +{ + DrawCircleGradientV((Vector2){ (float)centerX, (float)centerY }, radius, inner, outer); +} + +// Draw a gradient-filled circle (Vector version) +void DrawCircleGradientV(Vector2 center, float radius, Color inner, Color outer) { rlBegin(RL_TRIANGLES); for (int i = 0; i < 360; i += 10) { rlColor4ub(inner.r, inner.g, inner.b, inner.a); - rlVertex2f((float)centerX, (float)centerY); + rlVertex2f(center.x, center.y); rlColor4ub(outer.r, outer.g, outer.b, outer.a); - rlVertex2f((float)centerX + cosf(DEG2RAD*(i + 10))*radius, (float)centerY + sinf(DEG2RAD*(i + 10))*radius); + rlVertex2f(center.x + cosf(DEG2RAD*(i + 10))*radius, center.y + sinf(DEG2RAD*(i + 10))*radius); rlColor4ub(outer.r, outer.g, outer.b, outer.a); - rlVertex2f((float)centerX + cosf(DEG2RAD*i)*radius, (float)centerY + sinf(DEG2RAD*i)*radius); + rlVertex2f(center.x + cosf(DEG2RAD*i)*radius, center.y + sinf(DEG2RAD*i)*radius); } rlEnd(); }