mirror of
https://github.com/raysan5/raylib.git
synced 2026-04-10 01:09:10 -04:00
REDESIGNED: DrawCircleGradieent() to use Vector2 as center parameter #5738
This commit is contained in:
@ -221,6 +221,7 @@ Detailed changes:
|
|||||||
[rlsw] REVIEWED: C++ support (#5291) by @alexgb0
|
[rlsw] REVIEWED: C++ support (#5291) by @alexgb0
|
||||||
[rshapes] ADDED: `DrawLineDashed()` (#5222) by @luis605
|
[rshapes] ADDED: `DrawLineDashed()` (#5222) by @luis605
|
||||||
[rshapes] ADDED: `DrawEllipseV()` and `DrawEllipseLinesV()` (#4963) by @meowstr
|
[rshapes] ADDED: `DrawEllipseV()` and `DrawEllipseLinesV()` (#4963) by @meowstr
|
||||||
|
[rshapes] REDESIGNED: `DrawCircleGradieent()` to use Vector2 as center parameter by @raysan5 -WARNING-
|
||||||
[rshapes] REVIEWED: `DrawLine()`, fix pixel offset issue on drawing (#4666) by @Bigfoot71
|
[rshapes] REVIEWED: `DrawLine()`, fix pixel offset issue on drawing (#4666) by @Bigfoot71
|
||||||
[rshapes] REVIEWED: `DrawRectangleGradientEx()`, incorrect parameter names (#4980) by @vincent
|
[rshapes] REVIEWED: `DrawRectangleGradientEx()`, incorrect parameter names (#4980) by @vincent
|
||||||
[rshapes] REVIEWED: `DrawRectangleLines`, fix pixel offset issue (#4669) by @Bigfoot71
|
[rshapes] REVIEWED: `DrawRectangleLines`, fix pixel offset issue (#4669) by @Bigfoot71
|
||||||
|
|||||||
@ -1279,10 +1279,10 @@ RLAPI void DrawLineStrip(const Vector2 *points, int pointCount, Color color);
|
|||||||
RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw line segment cubic-bezier in-out interpolation
|
RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw line segment cubic-bezier in-out interpolation
|
||||||
RLAPI void DrawLineDashed(Vector2 startPos, Vector2 endPos, int dashSize, int spaceSize, Color color); // Draw a dashed line
|
RLAPI void DrawLineDashed(Vector2 startPos, Vector2 endPos, int dashSize, int spaceSize, Color color); // Draw a dashed line
|
||||||
RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
|
RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
|
||||||
|
RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version)
|
||||||
|
RLAPI void DrawCircleGradient(Vector2 center, float radius, Color inner, Color outer); // Draw a gradient-filled circle
|
||||||
RLAPI void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle
|
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 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 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 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 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 DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse
|
||||||
|
|||||||
@ -324,6 +324,22 @@ void DrawCircleV(Vector2 center, float radius, Color color)
|
|||||||
DrawCircleSector(center, radius, 0, 360, 36, color);
|
DrawCircleSector(center, radius, 0, 360, 36, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Draw a gradient-filled circle
|
||||||
|
void DrawCircleGradient(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(center.x, center.y);
|
||||||
|
rlColor4ub(outer.r, outer.g, outer.b, outer.a);
|
||||||
|
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(center.x + cosf(DEG2RAD*i)*radius, center.y + sinf(DEG2RAD*i)*radius);
|
||||||
|
}
|
||||||
|
rlEnd();
|
||||||
|
}
|
||||||
|
|
||||||
// Draw a piece of a circle
|
// Draw a piece of a circle
|
||||||
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
|
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
|
||||||
{
|
{
|
||||||
@ -473,22 +489,6 @@ void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float
|
|||||||
rlEnd();
|
rlEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw a gradient-filled circle
|
|
||||||
void DrawCircleGradient(int centerX, int centerY, 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);
|
|
||||||
rlColor4ub(outer.r, outer.g, outer.b, outer.a);
|
|
||||||
rlVertex2f((float)centerX + cosf(DEG2RAD*(i + 10))*radius, (float)centerY + 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);
|
|
||||||
}
|
|
||||||
rlEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw circle outline
|
// Draw circle outline
|
||||||
void DrawCircleLines(int centerX, int centerY, float radius, Color color)
|
void DrawCircleLines(int centerX, int centerY, float radius, Color color)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user