2001 const char *file_name = getenv(SPLASH_FILE_ENV_ENTRY); |
2001 const char *file_name = getenv(SPLASH_FILE_ENV_ENTRY); |
2002 int data_size; |
2002 int data_size; |
2003 void *image_data = NULL; |
2003 void *image_data = NULL; |
2004 float scale_factor = 1; |
2004 float scale_factor = 1; |
2005 char *scaled_splash_name = NULL; |
2005 char *scaled_splash_name = NULL; |
2006 |
2006 jboolean isImageScaled = JNI_FALSE; |
|
2007 size_t maxScaledImgNameLength = 0; |
2007 if (file_name == NULL){ |
2008 if (file_name == NULL){ |
2008 return; |
2009 return; |
2009 } |
2010 } |
2010 |
2011 maxScaledImgNameLength = DoSplashGetScaledImgNameMaxPstfixLen(file_name); |
2011 scaled_splash_name = DoSplashGetScaledImageName( |
2012 |
2012 jar_name, file_name, &scale_factor); |
2013 scaled_splash_name = JLI_MemAlloc( |
|
2014 maxScaledImgNameLength * sizeof(char)); |
|
2015 isImageScaled = DoSplashGetScaledImageName(jar_name, file_name, |
|
2016 &scale_factor, |
|
2017 scaled_splash_name, maxScaledImgNameLength); |
2013 if (jar_name) { |
2018 if (jar_name) { |
2014 |
2019 |
2015 if (scaled_splash_name) { |
2020 if (isImageScaled) { |
2016 image_data = JLI_JarUnpackFile( |
2021 image_data = JLI_JarUnpackFile( |
2017 jar_name, scaled_splash_name, &data_size); |
2022 jar_name, scaled_splash_name, &data_size); |
2018 } |
2023 } |
2019 |
2024 |
2020 if (!image_data) { |
2025 if (!image_data) { |
2028 DoSplashLoadMemory(image_data, data_size); |
2033 DoSplashLoadMemory(image_data, data_size); |
2029 JLI_MemFree(image_data); |
2034 JLI_MemFree(image_data); |
2030 } |
2035 } |
2031 } else { |
2036 } else { |
2032 DoSplashInit(); |
2037 DoSplashInit(); |
2033 if (scaled_splash_name) { |
2038 if (isImageScaled) { |
2034 DoSplashSetScaleFactor(scale_factor); |
2039 DoSplashSetScaleFactor(scale_factor); |
2035 DoSplashLoadFile(scaled_splash_name); |
2040 DoSplashLoadFile(scaled_splash_name); |
2036 } else { |
2041 } else { |
2037 DoSplashLoadFile(file_name); |
2042 DoSplashLoadFile(file_name); |
2038 } |
2043 } |
2039 } |
2044 } |
2040 |
2045 JLI_MemFree(scaled_splash_name); |
2041 if (scaled_splash_name) { |
|
2042 JLI_MemFree(scaled_splash_name); |
|
2043 } |
|
2044 |
2046 |
2045 DoSplashSetFileJarName(file_name, jar_name); |
2047 DoSplashSetFileJarName(file_name, jar_name); |
2046 |
2048 |
2047 /* |
2049 /* |
2048 * Done with all command line processing and potential re-execs so |
2050 * Done with all command line processing and potential re-execs so |