Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-01-30 20:09:01 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-01-30 20:30:05 +0400
commit3c86a1932f848f694ba3a88bb1af35325f3f89a2 (patch)
tree2b2fa7c9ea70436f5e650673c12300290dfd0f34 /source/blender/blenkernel/intern/image.c
parent0cb49286ce45f1b2ce16db0e174170ef2a671dba (diff)
Code cleanup: add BLI_testextensie_n, replacing multuple calls to BLI_testextensie
also use attributes for BLI path functions
Diffstat (limited to 'source/blender/blenkernel/intern/image.c')
-rw-r--r--source/blender/blenkernel/intern/image.c90
1 files changed, 43 insertions, 47 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index 3e93ab0cbcc..322f09f48d5 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -598,20 +598,21 @@ static void image_init_color_management(Image *ima)
}
}
-void BKE_image_alpha_mode_from_extension(Image *image)
+char BKE_image_alpha_mode_from_extension_ex(const char *filepath)
{
- if (BLI_testextensie(image->name, ".exr") ||
- BLI_testextensie(image->name, ".cin") ||
- BLI_testextensie(image->name, ".dpx") ||
- BLI_testextensie(image->name, ".hdr"))
- {
- image->alpha_mode = IMA_ALPHA_PREMUL;
+ if (BLI_testextensie_n(filepath, ".exr", ".cin", ".dpx", ".hdr", NULL)) {
+ return IMA_ALPHA_PREMUL;
}
else {
- image->alpha_mode = IMA_ALPHA_STRAIGHT;
+ return IMA_ALPHA_STRAIGHT;
}
}
+void BKE_image_alpha_mode_from_extension(Image *image)
+{
+ image->alpha_mode = BKE_image_alpha_mode_from_extension_ex(image->name);
+}
+
Image *BKE_image_load(Main *bmain, const char *filepath)
{
Image *ima;
@@ -1266,98 +1267,93 @@ char BKE_imtype_from_arg(const char *imtype_arg)
static int do_add_image_extension(char *string, const char imtype, const ImageFormatData *im_format)
{
const char *extension = NULL;
+ const char *extension_test;
(void)im_format; /* may be unused, depends on build options */
if (imtype == R_IMF_IMTYPE_IRIS) {
- if (!BLI_testextensie(string, ".rgb"))
- extension = ".rgb";
+ if (!BLI_testextensie(string, extension_test = ".rgb"))
+ extension = extension_test;
}
else if (imtype == R_IMF_IMTYPE_IRIZ) {
- if (!BLI_testextensie(string, ".rgb"))
- extension = ".rgb";
+ if (!BLI_testextensie(string, extension_test = ".rgb"))
+ extension = extension_test;
}
#ifdef WITH_HDR
else if (imtype == R_IMF_IMTYPE_RADHDR) {
- if (!BLI_testextensie(string, ".hdr"))
- extension = ".hdr";
+ if (!BLI_testextensie(string, extension_test = ".hdr"))
+ extension = extension_test;
}
#endif
else if (ELEM5(imtype, R_IMF_IMTYPE_PNG, R_IMF_IMTYPE_FFMPEG, R_IMF_IMTYPE_H264, R_IMF_IMTYPE_THEORA, R_IMF_IMTYPE_XVID)) {
- if (!BLI_testextensie(string, ".png"))
- extension = ".png";
+ if (!BLI_testextensie(string, extension_test = ".png"))
+ extension = extension_test;
}
#ifdef WITH_DDS
else if (imtype == R_IMF_IMTYPE_DDS) {
- if (!BLI_testextensie(string, ".dds"))
- extension = ".dds";
+ if (!BLI_testextensie(string, extension_test = ".dds"))
+ extension = extension_test;
}
#endif
- else if (imtype == R_IMF_IMTYPE_RAWTGA) {
- if (!BLI_testextensie(string, ".tga"))
- extension = ".tga";
+ else if (ELEM(imtype, R_IMF_IMTYPE_TARGA, R_IMF_IMTYPE_RAWTGA)) {
+ if (!BLI_testextensie(string, extension_test = ".tga"))
+ extension = extension_test;
}
else if (imtype == R_IMF_IMTYPE_BMP) {
- if (!BLI_testextensie(string, ".bmp"))
- extension = ".bmp";
+ if (!BLI_testextensie(string, extension_test = ".bmp"))
+ extension = extension_test;
}
#ifdef WITH_TIFF
else if (imtype == R_IMF_IMTYPE_TIFF) {
- if (!BLI_testextensie(string, ".tif") &&
- !BLI_testextensie(string, ".tiff"))
- {
- extension = ".tif";
+ if (!BLI_testextensie_n(string, extension_test = ".tif", ".tiff", NULL)) {
+ extension = extension_test;
}
}
#endif
#ifdef WITH_OPENIMAGEIO
else if (imtype == R_IMF_IMTYPE_PSD) {
- if (!BLI_testextensie(string, ".psd"))
- extension = ".psd";
+ if (!BLI_testextensie(string, extension_test = ".psd"))
+ extension = extension_test;
}
#endif
#ifdef WITH_OPENEXR
else if (ELEM(imtype, R_IMF_IMTYPE_OPENEXR, R_IMF_IMTYPE_MULTILAYER)) {
- if (!BLI_testextensie(string, ".exr"))
- extension = ".exr";
+ if (!BLI_testextensie(string, extension_test = ".exr"))
+ extension = extension_test;
}
#endif
#ifdef WITH_CINEON
else if (imtype == R_IMF_IMTYPE_CINEON) {
- if (!BLI_testextensie(string, ".cin"))
- extension = ".cin";
+ if (!BLI_testextensie(string, extension_test = ".cin"))
+ extension = extension_test;
}
else if (imtype == R_IMF_IMTYPE_DPX) {
- if (!BLI_testextensie(string, ".dpx"))
- extension = ".dpx";
+ if (!BLI_testextensie(string, extension_test = ".dpx"))
+ extension = extension_test;
}
#endif
- else if (imtype == R_IMF_IMTYPE_TARGA) {
- if (!BLI_testextensie(string, ".tga"))
- extension = ".tga";
- }
#ifdef WITH_OPENJPEG
else if (imtype == R_IMF_IMTYPE_JP2) {
if (im_format) {
if (im_format->jp2_codec == R_IMF_JP2_CODEC_JP2) {
- if (!BLI_testextensie(string, ".jp2"))
- extension = ".jp2";
+ if (!BLI_testextensie(string, extension_test = ".jp2"))
+ extension = extension_test;
}
else if (im_format->jp2_codec == R_IMF_JP2_CODEC_J2K) {
- if (!BLI_testextensie(string, ".j2c"))
- extension = ".j2c";
+ if (!BLI_testextensie(string, extension_test = ".j2c"))
+ extension = extension_test;
}
else
BLI_assert(!"Unsupported jp2 codec was specified in im_format->jp2_codec");
}
else {
- if (!BLI_testextensie(string, ".jp2"))
- extension = ".jp2";
+ if (!BLI_testextensie(string, extension_test = ".jp2"))
+ extension = extension_test;
}
}
#endif
else { // R_IMF_IMTYPE_AVIRAW, R_IMF_IMTYPE_AVIJPEG, R_IMF_IMTYPE_JPEG90, R_IMF_IMTYPE_QUICKTIME etc
- if (!(BLI_testextensie(string, ".jpg") || BLI_testextensie(string, ".jpeg")))
- extension = ".jpg";
+ if (!(BLI_testextensie_n(string, extension_test = ".jpg", ".jpeg", NULL)))
+ extension = extension_test;
}
if (extension) {