summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorPeter0x44 <[email protected]>2023-10-22 16:13:49 +0100
committerGitHub <[email protected]>2023-10-22 17:13:49 +0200
commite33e9da277865207123158430ebf42cc5626e5b7 (patch)
tree84cd75d4a00ada58c05009b98e0e63fb42107911 /src
parentf0124df0e8bbeb3e9ad2acf08b0f3610e812c8d6 (diff)
downloadraylib-e33e9da277865207123158430ebf42cc5626e5b7.tar.gz
raylib-e33e9da277865207123158430ebf42cc5626e5b7.zip
Add DrawCircleLinesV for consistency (#3452)
ImageDrawCircleLinesV already existed, so I'm not sure why this was missing. It is trivial to implement, anyway
Diffstat (limited to 'src')
-rw-r--r--src/raylib.h1
-rw-r--r--src/rshapes.c10
2 files changed, 9 insertions, 2 deletions
diff --git a/src/raylib.h b/src/raylib.h
index e701f045..b172562d 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -1207,6 +1207,7 @@ RLAPI void DrawCircleSectorLines(Vector2 center, float radius, float startAngle,
RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle
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)
RLAPI void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse
RLAPI void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse outline
RLAPI void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring
diff --git a/src/rshapes.c b/src/rshapes.c
index f3061f8b..de64f159 100644
--- a/src/rshapes.c
+++ b/src/rshapes.c
@@ -671,14 +671,20 @@ void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Co
// Draw circle outline
void DrawCircleLines(int centerX, int centerY, float radius, Color color)
{
+ DrawCircleLinesV((Vector2){ (float)centerX, (float)centerY }, radius, color);
+}
+
+// Draw circle outline (Vector version)
+void DrawCircleLinesV(Vector2 center, float radius, Color color)
+{
rlBegin(RL_LINES);
rlColor4ub(color.r, color.g, color.b, color.a);
// NOTE: Circle outline is drawn pixel by pixel every degree (0 to 360)
for (int i = 0; i < 360; i += 10)
{
- rlVertex2f(centerX + cosf(DEG2RAD*i)*radius, centerY + sinf(DEG2RAD*i)*radius);
- rlVertex2f(centerX + cosf(DEG2RAD*(i + 10))*radius, centerY + sinf(DEG2RAD*(i + 10))*radius);
+ rlVertex2f(center.x + cosf(DEG2RAD*i)*radius, center.y + sinf(DEG2RAD*i)*radius);
+ rlVertex2f(center.x + cosf(DEG2RAD*(i + 10))*radius, center.y + sinf(DEG2RAD*(i + 10))*radius);
}
rlEnd();
}