diff options
| author | Ray <[email protected]> | 2021-03-19 19:42:36 +0100 |
|---|---|---|
| committer | Ray <[email protected]> | 2021-03-19 19:42:36 +0100 |
| commit | e28f754fbe9a7414be89e76359453ef663dc088f (patch) | |
| tree | 5c74bec5ef0d8f412a90a0452ad7ed3d48882d9c /src/shapes.c | |
| parent | 45670fbf2d6ade37bce3c054421565abafde6aa3 (diff) | |
| download | raylib-e28f754fbe9a7414be89e76359453ef663dc088f.tar.gz raylib-e28f754fbe9a7414be89e76359453ef663dc088f.zip | |
Reviewed latest PR: formatting and some comments
Diffstat (limited to 'src/shapes.c')
| -rw-r--r-- | src/shapes.c | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/shapes.c b/src/shapes.c index c6b746e2..f9500474 100644 --- a/src/shapes.c +++ b/src/shapes.c @@ -619,59 +619,61 @@ void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color { if (rlCheckBufferLimit(4)) rlglDraw(); - Vector2 bl = { 0 }; - Vector2 br = { 0 }; - Vector2 tr = { 0 }; - Vector2 tl = { 0 }; + Vector2 bottomLeft = { 0 }; + Vector2 bottomRight = { 0 }; + Vector2 topRight = { 0 }; + Vector2 topLeft = { 0 }; // Only calculate rotation if needed if (rotation == 0.0f) { float x = rec.x - origin.x; float y = rec.y - origin.y; - bl = (Vector2){ x, y }; - br = (Vector2){ x, y + rec.height }; - tr = (Vector2){ x + rec.width, y + rec.height }; - tl = (Vector2){ x + rec.width, y }; + bottomLeft = (Vector2){ x, y }; + bottomRight = (Vector2){ x, y + rec.height }; + topRight = (Vector2){ x + rec.width, y + rec.height }; + topLeft = (Vector2){ x + rec.width, y }; } else { - float sinRotation = sinf(rotation * DEG2RAD); - float cosRotation = cosf(rotation * DEG2RAD); + float sinRotation = sinf(rotation*DEG2RAD); + float cosRotation = cosf(rotation*DEG2RAD); float x = rec.x; float y = rec.y; float dx = -origin.x; float dy = -origin.y; - bl.x = x + dx * cosRotation - (dy + rec.height) * sinRotation; - bl.y = y + dx * sinRotation + (dy + rec.height) * cosRotation; + bottomLeft.x = x + dx*cosRotation - (dy + rec.height)*sinRotation; + bottomLeft.y = y + dx*sinRotation + (dy + rec.height)*cosRotation; - br.x = x + (dx + rec.width) * cosRotation - (dy + rec.height) * sinRotation; - br.y = y + (dx + rec.width) * sinRotation + (dy + rec.height) * cosRotation; + bottomRight.x = x + (dx + rec.width)*cosRotation - (dy + rec.height)*sinRotation; + bottomRight.y = y + (dx + rec.width)*sinRotation + (dy + rec.height)*cosRotation; - tr.x = x + (dx + rec.width) * cosRotation - dy * sinRotation; - tr.y = y + (dx + rec.width) * sinRotation + dy * cosRotation; + topRight.x = x + (dx + rec.width)*cosRotation - dy*sinRotation; + topRight.y = y + (dx + rec.width)*sinRotation + dy*cosRotation; - tl.x = x + dx * cosRotation - dy * sinRotation; - tl.y = y + dx * sinRotation + dy * cosRotation; + topLeft.x = x + dx*cosRotation - dy*sinRotation; + topLeft.y = y + dx*sinRotation + dy*cosRotation; } rlEnableTexture(GetShapesTexture().id); rlBegin(RL_QUADS); + rlNormal3f(0.0f, 0.0f, 1.0f); rlColor4ub(color.r, color.g, color.b, color.a); rlTexCoord2f(GetShapesTextureRec().x/GetShapesTexture().width, GetShapesTextureRec().y/GetShapesTexture().height); - rlVertex2f(bl.x, bl.y); + rlVertex2f(bottomLeft.x, bottomLeft.y); rlTexCoord2f(GetShapesTextureRec().x/GetShapesTexture().width, (GetShapesTextureRec().y + GetShapesTextureRec().height)/GetShapesTexture().height); - rlVertex2f(br.x, br.y); + rlVertex2f(bottomRight.x, bottomRight.y); rlTexCoord2f((GetShapesTextureRec().x + GetShapesTextureRec().width)/GetShapesTexture().width, (GetShapesTextureRec().y + GetShapesTextureRec().height)/GetShapesTexture().height); - rlVertex2f(tr.x, tr.y); + rlVertex2f(topRight.x, topRight.y); rlTexCoord2f((GetShapesTextureRec().x + GetShapesTextureRec().width)/GetShapesTexture().width, GetShapesTextureRec().y/GetShapesTexture().height); - rlVertex2f(tl.x, tl.y); + rlVertex2f(topLeft.x, topLeft.y); + rlEnd(); rlDisableTexture(); } |
