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_*
|
||||
|
||||
// Taille des menus
|
||||
// Set menu size (software zoom)
|
||||
if (Screen_width/320 > Screen_height/200)
|
||||
factor=Screen_height/200;
|
||||
else
|
||||
@ -476,19 +476,23 @@ int Init_mode_video(int width, int height, int fullscreen, int pix_ratio)
|
||||
|
||||
switch (Config.Ratio)
|
||||
{
|
||||
case 1: // adapter tout
|
||||
case 1: // Always the biggest possible
|
||||
Menu_factor_X=factor;
|
||||
Menu_factor_Y=factor;
|
||||
break;
|
||||
case 2: // adapter légèrement
|
||||
case 2: // Only keep the aspect ratio
|
||||
Menu_factor_X=factor-1;
|
||||
if (Menu_factor_X<1) Menu_factor_X=1;
|
||||
Menu_factor_Y=factor-1;
|
||||
if (Menu_factor_Y<1) Menu_factor_Y=1;
|
||||
break;
|
||||
default: // ne pas adapter
|
||||
case 0: // Always smallest possible
|
||||
Menu_factor_X=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)
|
||||
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;
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@ -519,7 +519,7 @@ int Load_INI(T_Config * conf)
|
||||
|
||||
if ((return_code=Load_INI_get_values (file,buffer,"Menu_ratio",1,values)))
|
||||
goto Erreur_Retour;
|
||||
if ((values[0]<0) || (values[0]>2))
|
||||
if (values[0]>2)
|
||||
goto Erreur_ERREUR_INI_CORROMPU;
|
||||
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
|
||||
} __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
|
||||
{
|
||||
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_directories; ///< Boolean, true to show hidden directories in fileselectors.
|
||||
// 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.
|
||||
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 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 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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user