Allow to use a negative number as menu ratio. This will set it as the max allowed zoom for the GUI display. Fixes issue 101
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@949 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
ff402b204b
commit
5a59dc4abb
15
graph.c
15
graph.c
@ -468,7 +468,7 @@ int Init_mode_video(int width, int height, int fullscreen, int pix_ratio)
|
|||||||
|
|
||||||
Clear_border(MC_Black); // Requires up-to-date Screen_* and Pixel_*
|
Clear_border(MC_Black); // Requires up-to-date Screen_* and Pixel_*
|
||||||
|
|
||||||
// Taille des menus
|
// Set menu size (software zoom)
|
||||||
if (Screen_width/320 > Screen_height/200)
|
if (Screen_width/320 > Screen_height/200)
|
||||||
factor=Screen_height/200;
|
factor=Screen_height/200;
|
||||||
else
|
else
|
||||||
@ -476,19 +476,23 @@ int Init_mode_video(int width, int height, int fullscreen, int pix_ratio)
|
|||||||
|
|
||||||
switch (Config.Ratio)
|
switch (Config.Ratio)
|
||||||
{
|
{
|
||||||
case 1: // adapter tout
|
case 1: // Always the biggest possible
|
||||||
Menu_factor_X=factor;
|
Menu_factor_X=factor;
|
||||||
Menu_factor_Y=factor;
|
Menu_factor_Y=factor;
|
||||||
break;
|
break;
|
||||||
case 2: // adapter légèrement
|
case 2: // Only keep the aspect ratio
|
||||||
Menu_factor_X=factor-1;
|
Menu_factor_X=factor-1;
|
||||||
if (Menu_factor_X<1) Menu_factor_X=1;
|
if (Menu_factor_X<1) Menu_factor_X=1;
|
||||||
Menu_factor_Y=factor-1;
|
Menu_factor_Y=factor-1;
|
||||||
if (Menu_factor_Y<1) Menu_factor_Y=1;
|
if (Menu_factor_Y<1) Menu_factor_Y=1;
|
||||||
break;
|
break;
|
||||||
default: // ne pas adapter
|
case 0: // Always smallest possible
|
||||||
Menu_factor_X=1;
|
Menu_factor_X=1;
|
||||||
Menu_factor_Y=1;
|
Menu_factor_Y=1;
|
||||||
|
break;
|
||||||
|
default: // Stay below some reasonable size
|
||||||
|
Menu_factor_X=Min(factor,abs(Config.Ratio));
|
||||||
|
Menu_factor_Y=Min(factor,abs(Config.Ratio));
|
||||||
}
|
}
|
||||||
if (Pixel_height>Pixel_width && Screen_width>=Menu_factor_X*2*320)
|
if (Pixel_height>Pixel_width && Screen_width>=Menu_factor_X*2*320)
|
||||||
Menu_factor_X*=2;
|
Menu_factor_X*=2;
|
||||||
@ -496,7 +500,8 @@ int Init_mode_video(int width, int height, int fullscreen, int pix_ratio)
|
|||||||
Menu_factor_Y*=2;
|
Menu_factor_Y*=2;
|
||||||
|
|
||||||
free(Horizontal_line_buffer);
|
free(Horizontal_line_buffer);
|
||||||
Horizontal_line_buffer=(byte *)malloc(Pixel_width*((Screen_width>Main_image_width)?Screen_width:Main_image_width));
|
Horizontal_line_buffer=(byte *)malloc(Pixel_width *
|
||||||
|
((Screen_width>Main_image_width)?Screen_width:Main_image_width));
|
||||||
|
|
||||||
Set_palette(Main_palette);
|
Set_palette(Main_palette);
|
||||||
|
|
||||||
|
|||||||
@ -519,7 +519,7 @@ int Load_INI(T_Config * conf)
|
|||||||
|
|
||||||
if ((return_code=Load_INI_get_values (file,buffer,"Menu_ratio",1,values)))
|
if ((return_code=Load_INI_get_values (file,buffer,"Menu_ratio",1,values)))
|
||||||
goto Erreur_Retour;
|
goto Erreur_Retour;
|
||||||
if ((values[0]<0) || (values[0]>2))
|
if (values[0]>2)
|
||||||
goto Erreur_ERREUR_INI_CORROMPU;
|
goto Erreur_ERREUR_INI_CORROMPU;
|
||||||
conf->Ratio=values[0];
|
conf->Ratio=values[0];
|
||||||
|
|
||||||
|
|||||||
6
struct.h
6
struct.h
@ -258,11 +258,11 @@ typedef struct
|
|||||||
word Key2; ///< Alternate keyboard shortcut: SDLK_something, or -1 for none
|
word Key2; ///< Alternate keyboard shortcut: SDLK_something, or -1 for none
|
||||||
} __attribute__((__packed__)) T_Config_shortcut_info;
|
} __attribute__((__packed__)) T_Config_shortcut_info;
|
||||||
|
|
||||||
/// This structure holds all the settings which are saved and loaded as gfx2.ini.
|
/// This structure holds all the settings saved and loaded as gfx2.ini.
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char *Font_file; ///< Name of the font used in the menus. Matches file skins/font_*.png (Case-sensitive on some filesystems)
|
char *Font_file; ///< Name of the font used in the menus. Matches file skins/font_*.png (Case-sensitive on some filesystems)
|
||||||
char *Skin_file; ///< String, name of the file where all the graphic data is stored
|
char *Skin_file; ///< String, name of the file where all the graphic data is stored
|
||||||
int Show_hidden_files; ///< Boolean, true to show hidden files in fileselectors.
|
int Show_hidden_files; ///< Boolean, true to show hidden files in fileselectors.
|
||||||
int Show_hidden_directories; ///< Boolean, true to show hidden directories in fileselectors.
|
int Show_hidden_directories; ///< Boolean, true to show hidden directories in fileselectors.
|
||||||
// int Show_system_directories; ///< (removed when converted from DOS)
|
// int Show_system_directories; ///< (removed when converted from DOS)
|
||||||
@ -287,7 +287,7 @@ typedef struct
|
|||||||
int Nb_max_vertices_per_polygon; ///< Limit for the number of vertices in polygon tools.
|
int Nb_max_vertices_per_polygon; ///< Limit for the number of vertices in polygon tools.
|
||||||
byte Clear_palette; ///< Boolean, true to reset the palette (to black) before loading an image.
|
byte Clear_palette; ///< Boolean, true to reset the palette (to black) before loading an image.
|
||||||
byte Set_resolution_according_to; ///< When Auto_set_res is on, this determines if the mode should be chosen according to the "original screen" information in the file (1) or the picture dimensons (2)
|
byte Set_resolution_according_to; ///< When Auto_set_res is on, this determines if the mode should be chosen according to the "original screen" information in the file (1) or the picture dimensons (2)
|
||||||
byte Ratio; ///< Determines the scaling of menu and windows: 0 no scaling, 1 scaling, 2 slight scaling.
|
int8_t Ratio; ///< Determines the scaling of menu and windows: 0 no scaling, 1 scaling, 2 slight scaling, negative= opposite of max scaling
|
||||||
byte Fast_zoom; ///< Boolean, true if the magnifier shortcut should automatically view the mouse area.
|
byte Fast_zoom; ///< Boolean, true if the magnifier shortcut should automatically view the mouse area.
|
||||||
byte Find_file_fast; ///< In fileselectors, this determines which entries should be sought when typing letters: 0 all, 1 files only, 2 directories only.
|
byte Find_file_fast; ///< In fileselectors, this determines which entries should be sought when typing letters: 0 all, 1 files only, 2 directories only.
|
||||||
byte Separate_colors; ///< Boolean, true if the menu palette should separate color cells with a black outline.
|
byte Separate_colors; ///< Boolean, true if the menu palette should separate color cells with a black outline.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user