< prev index next >

src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c

Print this page

        

*** 23,33 **** * questions. */ #include "splashscreen_impl.h" #include "splashscreen_gfx_impl.h" ! int splashIsVisible = 0; Splash * SplashGetInstance() { --- 23,38 ---- * questions. */ #include "splashscreen_impl.h" #include "splashscreen_gfx_impl.h" ! #define BUFF_SIZE 1024 ! #ifdef _MSC_VER ! # ifndef snprintf ! # define snprintf _snprintf ! # endif ! #endif int splashIsVisible = 0; Splash * SplashGetInstance() {
*** 390,396 **** return 1; } SPLASHEXPORT int SplashGetScaledImgNameMaxPstfixLen(const char *fileName){ ! return strlen(fileName) + strlen(".java-scale-200") + 1; } --- 395,460 ---- return 1; } SPLASHEXPORT int SplashGetScaledImgNameMaxPstfixLen(const char *fileName){ ! return strlen(fileName) + strlen("@100pct") + 1; ! } ! ! jboolean GetScaledImageName(const char *fileName,char *scaleImageName, ! float *scaleFactor, const size_t scaledImageLength) { ! FILE *fp = NULL; ! if (*scaleFactor > 1.0) { ! char strDpi[BUFF_SIZE]; ! char *dupFileName = strdup(fileName); ! char *fileExtension = strrchr(dupFileName, '.'); ! size_t length = 0; ! int retVal = 0; ! if((*scaleFactor * 100) != ((int)(*scaleFactor)) * 100) { ! snprintf(strDpi, BUFF_SIZE, "%s%d%s", "@", (int)(*scaleFactor * 100), "pct"); ! } else { ! snprintf(strDpi, BUFF_SIZE, "%s%d%s", "@", (int)(*scaleFactor), "x"); ! } ! /*File is missing extension */ ! if (fileExtension == NULL) { ! length = strlen(dupFileName) + ! strlen(strDpi) + 1; ! if (length > scaledImageLength) { ! *scaleFactor = 1; ! free(dupFileName); ! return JNI_FALSE; ! } ! retVal = snprintf(scaleImageName, length, "%s%s", dupFileName, ! strDpi); ! if (retVal < 0 || (retVal != length - 1)) { ! *scaleFactor = 1; ! free(dupFileName); ! return JNI_FALSE; ! } ! } else { ! int length_Without_Ext = fileExtension - dupFileName; ! length = length_Without_Ext + strlen(strDpi) + ! strlen(fileExtension) + 1; ! if (length > scaledImageLength) { ! *scaleFactor = 1; ! free(dupFileName); ! return JNI_FALSE; ! } ! retVal = snprintf(scaleImageName, length, "%.*s%s%s", ! length_Without_Ext, dupFileName, strDpi, fileExtension); ! if (retVal < 0 || (retVal != length - 1)) { ! *scaleFactor = 1; ! free(dupFileName); ! return JNI_FALSE; ! } ! } ! free(dupFileName); ! if (!(fp = fopen(scaleImageName, "r"))) { ! *scaleFactor = 1; ! return JNI_FALSE; ! } ! fclose(fp); ! return JNI_TRUE; ! } ! return JNI_FALSE; } +
< prev index next >