summaryrefslogtreecommitdiffhomepage
path: root/src/shapes.c
diff options
context:
space:
mode:
authorRay <[email protected]>2017-10-18 00:12:27 +0200
committerGitHub <[email protected]>2017-10-18 00:12:27 +0200
commit53280a56e3f4ab576fafeb75a68031fcdc4089fa (patch)
tree919a4dc7f5623df04ab316c855e43eb32a051cc9 /src/shapes.c
parent4a63e5dfb3006483cace85c8161d12057a9e8488 (diff)
parent5b71e5b3d1cb87d7ed764d6be82bd6fcb9fa875f (diff)
downloadraylib-53280a56e3f4ab576fafeb75a68031fcdc4089fa.tar.gz
raylib-53280a56e3f4ab576fafeb75a68031fcdc4089fa.zip
Merge pull request #367 from raysan5/develop
Integrate Develop branch
Diffstat (limited to 'src/shapes.c')
-rw-r--r--src/shapes.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/shapes.c b/src/shapes.c
index 8c7f2419..0b34f921 100644
--- a/src/shapes.c
+++ b/src/shapes.c
@@ -274,22 +274,22 @@ void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color
rlDisableTexture();
}
-// Draw a gradient-filled rectangle
+// Draw a vertical-gradient-filled rectangle
// NOTE: Gradient goes from bottom (color1) to top (color2)
-void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2)
+void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2)
{
- rlBegin(RL_TRIANGLES);
- rlColor4ub(color1.r, color1.g, color1.b, color1.a); rlVertex2i(posX, posY);
- rlColor4ub(color2.r, color2.g, color2.b, color2.a); rlVertex2i(posX, posY + height);
- rlColor4ub(color2.r, color2.g, color2.b, color2.a); rlVertex2i(posX + width, posY + height);
+ DrawRectangleGradientEx((Rectangle){ posX, posY, width, height }, color1, color2, color2, color1);
+}
- rlColor4ub(color1.r, color1.g, color1.b, color1.a); rlVertex2i(posX, posY);
- rlColor4ub(color2.r, color2.g, color2.b, color2.a); rlVertex2i(posX + width, posY + height);
- rlColor4ub(color1.r, color1.g, color1.b, color1.a); rlVertex2i(posX + width, posY);
- rlEnd();
+// Draw a horizontal-gradient-filled rectangle
+// NOTE: Gradient goes from bottom (color1) to top (color2)
+void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2)
+{
+ DrawRectangleGradientEx((Rectangle){ posX, posY, width, height }, color1, color1, color2, color2);
}
// Draw a gradient-filled rectangle
+// NOTE: Colors refer to corners, starting at top-lef corner and counter-clockwise
void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4)
{
rlEnableTexture(GetTextureDefault().id); // Default white texture
@@ -682,6 +682,8 @@ Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2)
// NOTE: Required for DrawLineBezier()
static float EaseCubicInOut(float t, float b, float c, float d)
{
- if ((t/=d/2) < 1) return (c/2*t*t*t + b);
- return (c/2*((t-=2)*t*t + 2) + b);
-} \ No newline at end of file
+ if ((t /= 0.5*d) < 1)
+ return 0.5*c*t*t*t + b;
+ t -= 2;
+ return 0.5*c*(t*t*t + 2) + b;
+}