summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rshapes.c43
1 files changed, 36 insertions, 7 deletions
diff --git a/src/rshapes.c b/src/rshapes.c
index f8d9db71..7e4cad74 100644
--- a/src/rshapes.c
+++ b/src/rshapes.c
@@ -104,21 +104,50 @@ void SetShapesTexture(Texture2D texture, Rectangle source)
// Draw a pixel
void DrawPixel(int posX, int posY, Color color)
{
- rlBegin(RL_LINES);
- rlColor4ub(color.r, color.g, color.b, color.a);
- rlVertex2f(posX, posY);
- rlVertex2f(posX + 1, posY + 1);
- rlEnd();
+ DrawPixelV((Vector2){ posX, posY }, color);
}
// Draw a pixel (Vector version)
void DrawPixelV(Vector2 position, Color color)
{
- rlBegin(RL_LINES);
+#if defined(SUPPORT_QUADS_DRAW_MODE)
+ rlSetTexture(texShapes.id);
+
+ rlBegin(RL_QUADS);
+
+ rlNormal3f(0.0f, 0.0f, 1.0f);
+ rlColor4ub(color.r, color.g, color.b, color.a);
+
+ rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height);
+ rlVertex2f(position.x, position.y);
+
+ rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height);
+ rlVertex2f(position.x, position.y + 1);
+
+ rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height);
+ rlVertex2f(position.x + 1, position.y + 1);
+
+ rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height);
+ rlVertex2f(position.x + 1, position.y);
+
+ rlEnd();
+
+ rlSetTexture(0);
+#else
+ rlBegin(RL_TRIANGLES);
+
rlColor4ub(color.r, color.g, color.b, color.a);
+
rlVertex2f(position.x, position.y);
- rlVertex2f(position.x + 1.0f, position.y + 1.0f);
+ rlVertex2f(position.x, position.y + 1);
+ rlVertex2f(position.x + 1, position.y);
+
+ rlVertex2f(position.x + 1, position.y);
+ rlVertex2f(position.x, position.y + 1);
+ rlVertex2f(position.x + 1, position.y + 1);
+
rlEnd();
+#endif
}
// Draw a line