diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-01-30 20:09:01 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-01-30 20:30:05 +0400 |
commit | 3c86a1932f848f694ba3a88bb1af35325f3f89a2 (patch) | |
tree | 2b2fa7c9ea70436f5e650673c12300290dfd0f34 /source/blender/blenkernel/intern/image.c | |
parent | 0cb49286ce45f1b2ce16db0e174170ef2a671dba (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.c | 90 |
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) { |