Skip to content

Commit

Permalink
implemented fill color TODO in ImageResizeCanvas() (#3720)
Browse files Browse the repository at this point in the history
  • Loading branch information
LievenPetersen authored Jan 11, 2024
1 parent 746f129 commit a820c37
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/rtextures.c
Original file line number Diff line number Diff line change
Expand Up @@ -1741,8 +1741,22 @@ void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, i
int bytesPerPixel = GetPixelDataSize(1, 1, image->format);
unsigned char *resizedData = (unsigned char *)RL_CALLOC(newWidth*newHeight*bytesPerPixel, 1);

// TODO: Fill resized canvas with fill color (must be formatted to image->format)
// Fill resized canvas with fill color
// Set first pixel with image->format
SetPixelColor(resizedData, fill, image->format);

// Fill remaining bytes of first row
for (int x = 1; x < newWidth; x++)
{
memcpy(resizedData + x*bytesPerPixel, resizedData, bytesPerPixel);
}
// Copy the first row into the other rows
for (int y = 1; y < newHeight; y++)
{
memcpy(resizedData + y*newWidth*bytesPerPixel, resizedData, newWidth*bytesPerPixel);
}

// Copy old image to resized canvas
int dstOffsetSize = ((int)dstPos.y*newWidth + (int)dstPos.x)*bytesPerPixel;

for (int y = 0; y < (int)srcRec.height; y++)
Expand Down

0 comments on commit a820c37

Please sign in to comment.