From b356ef5564e7fa2f4e26232cac451f9d63984ba5 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 7 Nov 2018 17:58:26 +0100 Subject: [PATCH] Modifies some Image functions REVIEWED: ImageDrawRectangle() ADDED: ImageDrawRectangleLines() --- src/raylib.h | 3 ++- src/textures.c | 17 +++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 6b237f07..aba4e108 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1034,7 +1034,8 @@ RLAPI Color *ImageExtractPalette(Image image, int maxPaletteSize, int *extractCo RLAPI Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) RLAPI Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font) RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image -RLAPI void ImageDrawRectangle(Image *dst, Vector2 position, Rectangle rec, Color color); // Draw rectangle within an image +RLAPI void ImageDrawRectangle(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image +RLAPI void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, Font font, const char *text, float fontSize, float spacing, Color color); // Draw text (custom sprite font) within an image (destination) RLAPI void ImageFlipVertical(Image *image); // Flip image vertically diff --git a/src/textures.c b/src/textures.c index 17f2ae8a..6249287d 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1731,17 +1731,22 @@ Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Co } // Draw rectangle within an image -void ImageDrawRectangle(Image *dst, Vector2 position, Rectangle rec, Color color) +void ImageDrawRectangle(Image *dst, Rectangle rec, Color color) { Image imRec = GenImageColor((int)rec.width, (int)rec.height, color); - - Rectangle dstRec = { position.x, position.y, (float)imRec.width, (float)imRec.height }; - - ImageDraw(dst, imRec, rec, dstRec); - + ImageDraw(dst, imRec, (Rectangle){ 0, 0, rec.width, rec.height }, rec); UnloadImage(imRec); } +// Draw rectangle lines within an image +void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color) +{ + ImageDrawRectangle(&dst, (Rectangle){ rec.x, rec.y, rec.width, thick }, color); + ImageDrawRectangle(&dst, (Rectangle){ rec.x, rec.y + thick, thick, rec.height - thick*2 }, color); + ImageDrawRectangle(&dst, (Rectangle){ rec.x + rec.width - thick, rec.y + thick, thick, rec.height - thick*2 }, color); + ImageDrawRectangle(&dst, (Rectangle){ rec.x, rec.height - thick, rec.width, thick }, color); +} + // Draw text (default font) within an image (destination) void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color) {