diff --git a/src/fileformats.c b/src/fileformats.c index 1ba09158..632c4fee 100644 --- a/src/fileformats.c +++ b/src/fileformats.c @@ -1765,6 +1765,8 @@ printf("%d x %d = %d %d\n", tiny_width, tiny_height, tiny_width*tiny_height, s if ((context->Type == CONTEXT_PREVIEW || context->Type == CONTEXT_PREVIEW_PALETTE) && tiny_width > 0 && tiny_height > 0) { + context->Original_width = header.Width; + context->Original_height = header.Height; Pre_load(context, tiny_width, tiny_height,file_size,iff_format,ratio,bpp); context->Background_transparent = header.Mask == 2; context->Transparent_color = context->Background_transparent ? header.Transp_col : 0; diff --git a/src/loadsave.c b/src/loadsave.c index f9c18ece..69699856 100644 --- a/src/loadsave.c +++ b/src/loadsave.c @@ -426,18 +426,24 @@ void Pre_load(T_IO_Context *context, short width, short height, long file_size, context->Preview_bitmap=calloc(1, PREVIEW_WIDTH*PREVIEW_HEIGHT*Menu_factor_X*Menu_factor_Y); if (!context->Preview_bitmap) File_error=1; - + // Affichage des données "Image size:" - if ((width<10000) && (height<10000)) + memcpy(str, "VERY BIG!", 10); // default string + if (context->Original_width != 0) + { + if (context->Original_width < 10000 && context->Original_height < 10000) + { + Num2str(context->Original_width,str,4); + Num2str(context->Original_height,str+5,4); + str[4]='x'; + } + } + else if ((width<10000) && (height<10000)) { Num2str(width,str,4); Num2str(height,str+5,4); str[4]='x'; } - else - { - memcpy(str, "VERY BIG!", 10); - } Print_in_window(101,59,str,MC_Black,MC_Light); snprintf(str, sizeof(str), "%2dbpp", bpp); Print_in_window(181,59,str,MC_Black,MC_Light); diff --git a/src/loadsave.h b/src/loadsave.h index c075f99b..8b7da37d 100644 --- a/src/loadsave.h +++ b/src/loadsave.h @@ -65,6 +65,8 @@ typedef struct T_Palette Palette; short Width; short Height; + short Original_width; /// Size of the whole image in case of PREVIEW of a thumbnail + short Original_height; int Nb_layers; char Comment[COMMENT_SIZE+1]; byte Background_transparent;