WARNING: API BREAK: Removed LoadImagePro()

Actually this function is useless and potentially dangerous, internally, a shallow copy of data was done. Same could be accomplished accesing image.data directly.
This commit is contained in:
raysan5 2020-04-10 19:26:36 +02:00
parent b132da0ac2
commit cc816345bf
3 changed files with 17 additions and 30 deletions

View File

@ -3430,13 +3430,18 @@ static Image LoadImageFromCgltfImage(cgltf_image *image, const char *texPath, Co
if (image->uri[i] == 0) TRACELOG(LOG_WARNING, "IMAGE: glTF data URI is not a valid image"); if (image->uri[i] == 0) TRACELOG(LOG_WARNING, "IMAGE: glTF data URI is not a valid image");
else else
{ {
int size; int size = 0;
unsigned char *data = DecodeBase64(image->uri + i + 1, &size); unsigned char *data = DecodeBase64(image->uri + i + 1, &size);
int w, h; int width, height;
unsigned char *raw = stbi_load_from_memory(data, size, &w, &h, NULL, 4); unsigned char *raw = stbi_load_from_memory(data, size, &width, &height, NULL, 4);
free(data);
rimage = LoadImagePro(raw, w, h, UNCOMPRESSED_R8G8B8A8); rimage.data = raw;
rimage.width = width;
rimage.height = height;
rimage.format = UNCOMPRESSED_R8G8B8A8;
rimage.mipmaps = 1;
// TODO: Tint shouldn't be applied here! // TODO: Tint shouldn't be applied here!
ImageColorTint(&rimage, tint); ImageColorTint(&rimage, tint);
@ -3462,20 +3467,20 @@ static Image LoadImageFromCgltfImage(cgltf_image *image, const char *texPath, Co
n += stride; n += stride;
} }
int w, h; int width, height;
unsigned char *raw = stbi_load_from_memory(data, image->buffer_view->size, &w, &h, NULL, 4); unsigned char *raw = stbi_load_from_memory(data, image->buffer_view->size, &width, &height, NULL, 4);
free(data); free(data);
rimage = LoadImagePro(raw, w, h, UNCOMPRESSED_R8G8B8A8); rimage.data = raw;
free(raw); rimage.width = width;
rimage.height = height;
rimage.format = UNCOMPRESSED_R8G8B8A8;
rimage.mipmaps = 1;
// TODO: Tint shouldn't be applied here! // TODO: Tint shouldn't be applied here!
ImageColorTint(&rimage, tint); ImageColorTint(&rimage, tint);
} }
else else rimage = GenImageColor(1, 1, tint);
{
rimage = LoadImageEx(&tint, 1, 1);
}
return rimage; return rimage;
} }

View File

@ -1106,7 +1106,6 @@ RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Ve
// NOTE: This functions do not require GPU access // NOTE: This functions do not require GPU access
RLAPI Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM) RLAPI Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
RLAPI Image LoadImageEx(Color *pixels, int width, int height); // Load image from Color array data (RGBA - 32bit) RLAPI Image LoadImageEx(Color *pixels, int width, int height); // Load image from Color array data (RGBA - 32bit)
RLAPI Image LoadImagePro(void *data, int width, int height, int format); // Load image from raw data with parameters
RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM) RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM)
RLAPI void ExportImage(Image image, const char *fileName); // Export image data to file RLAPI void ExportImage(Image image, const char *fileName); // Export image data to file

View File

@ -332,23 +332,6 @@ Image LoadImageEx(Color *pixels, int width, int height)
return image; return image;
} }
// Load image from raw data with parameters
// NOTE: This functions makes a copy of provided data
Image LoadImagePro(void *data, int width, int height, int format)
{
Image srcImage = { 0 };
srcImage.data = data;
srcImage.width = width;
srcImage.height = height;
srcImage.mipmaps = 1;
srcImage.format = format;
Image dstImage = ImageCopy(srcImage);
return dstImage;
}
// Load an image from RAW file data // Load an image from RAW file data
Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize) Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize)
{ {