1
0
Fork 0
forked from Miroirs/x49gp

--font-size is more clear than text-scale

This commit is contained in:
Gwenhael Le Moine 2024-11-10 23:18:17 +01:00
parent ed48563f14
commit 5df16bb28f
No known key found for this signature in database
GPG key ID: FDFE3669426707A7
3 changed files with 80 additions and 40 deletions

View file

@ -22,7 +22,8 @@ struct options opt = {
.model = MODEL_50G, .model = MODEL_50G,
.newrpl = false, .newrpl = false,
.name = NULL, .name = NULL,
.text_scale = 2, .verbose = false,
.font_size = 12,
.display_scale = 2, .display_scale = 2,
#if defined( __linux__ ) #if defined( __linux__ )
.font = "urw gothic l", .font = "urw gothic l",
@ -95,6 +96,7 @@ static void print_config( void )
fprintf( stdout, "-- Configuration file for x49gpng\n" ); fprintf( stdout, "-- Configuration file for x49gpng\n" );
fprintf( stdout, "-- This is a comment\n" ); fprintf( stdout, "-- This is a comment\n" );
fprintf( stdout, "verbose = %s\n\n", opt.verbose ? "true" : "false" );
fprintf( stdout, "name = \"%s\"", opt.name ); fprintf( stdout, "name = \"%s\"", opt.name );
fprintf( stdout, " -- this customize the title of the window\n" ); fprintf( stdout, " -- this customize the title of the window\n" );
@ -112,7 +114,7 @@ static void print_config( void )
fprintf( stdout, "newrpl_keyboard = %s", opt.newrpl ? "true" : "false" ); fprintf( stdout, "newrpl_keyboard = %s", opt.newrpl ? "true" : "false" );
fprintf( stdout, " -- when true this makes the keyboard labels more suited to newRPL use\n" ); fprintf( stdout, " -- when true this makes the keyboard labels more suited to newRPL use\n" );
fprintf( stdout, "font = \"%s\"\n", opt.font ); fprintf( stdout, "font = \"%s\"\n", opt.font );
fprintf( stdout, "text_scale = %i\n", opt.text_scale ); fprintf( stdout, "font_size = %i\n", opt.font_size );
fprintf( stdout, "display_scale = %i\n", opt.display_scale ); fprintf( stdout, "display_scale = %i\n", opt.display_scale );
fprintf( stdout, "--- End of saturnng configuration ----------------------------------------------\n" ); fprintf( stdout, "--- End of saturnng configuration ----------------------------------------------\n" );
@ -130,11 +132,13 @@ void config_init( char* progname, int argc, char* argv[] )
bool do_reflash = false; bool do_reflash = false;
bool do_reflash_full = false; bool do_reflash_full = false;
int clopt_verbose = -1;
char* clopt_name = NULL; char* clopt_name = NULL;
char* clopt_font = NULL; char* clopt_font = NULL;
int clopt_model = -1; int clopt_model = -1;
int clopt_newrpl = -1; int clopt_newrpl = -1;
int clopt_text_scale = -1; int clopt_font_size = -1;
int clopt_display_scale = -1; int clopt_display_scale = -1;
int print_config_and_exit = false; int print_config_and_exit = false;
@ -143,6 +147,7 @@ void config_init( char* progname, int argc, char* argv[] )
struct option long_options[] = { struct option long_options[] = {
{"help", no_argument, NULL, 'h' }, {"help", no_argument, NULL, 'h' },
{"print-config", no_argument, &print_config_and_exit, true}, {"print-config", no_argument, &print_config_and_exit, true},
{"verbose", no_argument, &clopt_verbose, true},
{"config", required_argument, NULL, 'c' }, {"config", required_argument, NULL, 'c' },
@ -158,7 +163,7 @@ void config_init( char* progname, int argc, char* argv[] )
{"49gp", no_argument, NULL, 496 }, {"49gp", no_argument, NULL, 496 },
{"newrpl-keyboard", no_argument, &clopt_newrpl, true}, {"newrpl-keyboard", no_argument, &clopt_newrpl, true},
{"name", required_argument, NULL, 'n' }, {"name", required_argument, NULL, 'n' },
{"text-scale", required_argument, NULL, 's' }, {"font-size", required_argument, NULL, 's' },
{"display-scale", required_argument, NULL, 'S' }, {"display-scale", required_argument, NULL, 'S' },
{"font", required_argument, NULL, 't' }, {"font", required_argument, NULL, 't' },
@ -182,7 +187,7 @@ void config_init( char* progname, int argc, char* argv[] )
" --newrpl-keyboard label keyboard for newRPL\n" " --newrpl-keyboard label keyboard for newRPL\n"
" -n --name[=<name>] set alternate UI name\n" " -n --name[=<name>] set alternate UI name\n"
" -t --font[=<fontname>] set alternate UI font\n" " -t --font[=<fontname>] set alternate UI font\n"
" -s --text-scale[=<X>] scale text by X (default: 2)\n" " -s --font-size[=<X>] scale text by X (default: 3)\n"
" -S --display-scale[=<X>] scale LCD by X (default: 2)\n" " -S --display-scale[=<X>] scale LCD by X (default: 2)\n"
" -D --enable-debug[=<port>] enable the debugger interface\n" " -D --enable-debug[=<port>] enable the debugger interface\n"
" (default port: %u)\n" " (default port: %u)\n"
@ -235,7 +240,7 @@ void config_init( char* progname, int argc, char* argv[] )
clopt_name = strdup( optarg ); clopt_name = strdup( optarg );
break; break;
case 's': case 's':
clopt_text_scale = atoi( optarg ); clopt_font_size = atoi( optarg );
break; break;
case 'S': case 'S':
clopt_display_scale = atoi( optarg ); clopt_display_scale = atoi( optarg );
@ -287,16 +292,18 @@ void config_init( char* progname, int argc, char* argv[] )
lua_getglobal( config_lua_values, "font" ); lua_getglobal( config_lua_values, "font" );
opt.font = strdup( luaL_optstring( config_lua_values, -1, opt.font ) ); opt.font = strdup( luaL_optstring( config_lua_values, -1, opt.font ) );
lua_getglobal( config_lua_values, "text_scale" ); lua_getglobal( config_lua_values, "font_size" );
opt.text_scale = luaL_optinteger( config_lua_values, -1, 1 ); opt.font_size = luaL_optinteger( config_lua_values, -1, opt.font_size );
lua_getglobal( config_lua_values, "display_scale" ); lua_getglobal( config_lua_values, "display_scale" );
opt.display_scale = luaL_optinteger( config_lua_values, -1, 2 ); opt.display_scale = luaL_optinteger( config_lua_values, -1, opt.display_scale );
} }
/****************************************************/ /****************************************************/
/* 2. treat command-line params which have priority */ /* 2. treat command-line params which have priority */
/****************************************************/ /****************************************************/
if ( clopt_verbose != -1 )
opt.verbose = clopt_verbose;
if ( clopt_name != NULL ) if ( clopt_name != NULL )
opt.name = strdup( clopt_name ); opt.name = strdup( clopt_name );
if ( clopt_font != NULL ) if ( clopt_font != NULL )
@ -305,15 +312,17 @@ void config_init( char* progname, int argc, char* argv[] )
opt.model = clopt_model; opt.model = clopt_model;
if ( clopt_newrpl != -1 ) if ( clopt_newrpl != -1 )
opt.newrpl = clopt_newrpl; opt.newrpl = clopt_newrpl;
if ( clopt_text_scale != -1 ) if ( clopt_font_size > 0 )
opt.text_scale = clopt_text_scale; opt.font_size = clopt_font_size;
if ( clopt_display_scale != -1 ) if ( clopt_display_scale > 0 )
opt.display_scale = clopt_display_scale; opt.display_scale = clopt_display_scale;
if ( print_config_and_exit ) { if ( print_config_and_exit ) {
print_config(); print_config();
exit( EXIT_SUCCESS ); exit( EXIT_SUCCESS );
} }
if ( opt.verbose )
print_config();
if ( !haz_config_file ) { if ( !haz_config_file ) {
fprintf( stderr, "\nConfiguration file %s doesn't seem to exist or is invalid!\n", opt.config_lua_filename ); fprintf( stderr, "\nConfiguration file %s doesn't seem to exist or is invalid!\n", opt.config_lua_filename );

View file

@ -28,8 +28,9 @@ struct options {
char* font; char* font;
int display_scale; int display_scale;
int text_scale; int font_size;
char* config_lua_filename; char* config_lua_filename;
bool verbose;
}; };
extern struct options opt; extern struct options opt;

View file

@ -24,10 +24,10 @@
#define NB_KEYS 51 #define NB_KEYS 51
#define FONT_SIZE_SYMBOL ( 14 * opt.text_scale ) #define FONT_SIZE_KEY opt.font_size
#define FONT_SIZE_NUMBER ( 10 * opt.text_scale ) #define FONT_SIZE_SYMBOL ( 2 * opt.font_size )
#define FONT_SIZE_KEY ( 7 * opt.text_scale ) #define FONT_SIZE_NUMBER ( ( int )( 1.5 * opt.font_size ) )
#define FONT_SIZE_TINY ( 6 * opt.text_scale ) #define FONT_SIZE_TINY ( ( int )( 0.75 * opt.font_size ) )
#define TINY_TEXT_HEIGHT ( FONT_SIZE_TINY + 2 ) #define TINY_TEXT_HEIGHT ( FONT_SIZE_TINY + 2 )
#define TINY_TEXT_WIDTH ( TINY_TEXT_HEIGHT / 2 ) #define TINY_TEXT_WIDTH ( TINY_TEXT_HEIGHT / 2 )
@ -36,14 +36,13 @@
#define KB_NB_COLS_MENU 6 #define KB_NB_COLS_MENU 6
#define KB_NB_COLS 5 #define KB_NB_COLS 5
#define KB_WIDTH_6_KEYS ( 36 * opt.text_scale ) #define KB_WIDTH_6_KEYS ( 3 * opt.font_size )
#define KB_WIDTH_5_KEYS ( 46 * opt.text_scale ) #define KB_WIDTH_5_KEYS ( 4 * opt.font_size )
#define KB_HEIGHT_MENU_KEYS ( 11 * opt.text_scale ) #define KB_HEIGHT_MENU_KEYS ( 2 * opt.font_size )
#define KB_HEIGHT_SMALL_KEYS ( 14 * opt.text_scale ) #define KB_HEIGHT_SMALL_KEYS ( ( int )( 1.5 * opt.font_size ) )
#define KB_HEIGHT_BIG_KEYS ( 16 * opt.text_scale ) #define KB_HEIGHT_BIG_KEYS ( 3 * opt.font_size )
#define KB_LINE_HEIGHT ( KB_HEIGHT_BIG_KEYS + ( 1.5 * ( TINY_TEXT_HEIGHT + 2 ) ) )
#define KB_SPACING_KEYS TINY_TEXT_WIDTH #define KB_SPACING_KEYS TINY_TEXT_WIDTH
#define KB_COLUMN_WIDTH_6_KEYS ( KB_WIDTH_6_KEYS + KB_SPACING_KEYS ) #define KB_COLUMN_WIDTH_6_KEYS ( KB_WIDTH_6_KEYS + KB_SPACING_KEYS )
#define KB_COLUMN_WIDTH_5_KEYS ( KB_WIDTH_5_KEYS + KB_SPACING_KEYS ) #define KB_COLUMN_WIDTH_5_KEYS ( KB_WIDTH_5_KEYS + KB_SPACING_KEYS )
@ -58,7 +57,7 @@
#define KEYBOARD_PADDING ( TINY_TEXT_HEIGHT + 2 ) #define KEYBOARD_PADDING ( TINY_TEXT_HEIGHT + 2 )
#define WINDOW_WIDTH ( 300 ) #define WINDOW_WIDTH ( 384 )
#define LCD_PADDING ( ( WINDOW_WIDTH - LCD_WIDTH ) / 2 ) #define LCD_PADDING ( ( WINDOW_WIDTH - LCD_WIDTH ) / 2 )
@ -1713,6 +1712,37 @@ int gui_init( x49gp_t* x49gp )
{ {
x49gp_module_t* module; x49gp_module_t* module;
if ( opt.verbose ) {
fprintf( stderr,
" FONT_SIZE_KEY = %i\n"
" FONT_SIZE_SYMBOL = %i\n"
" FONT_SIZE_NUMBER = %i\n"
" FONT_SIZE_TINY = %i\n"
" TINY_TEXT_HEIGHT = %i\n"
" TINY_TEXT_WIDTH = %i\n"
" KB_WIDTH_6_KEYS = %i\n"
" KB_WIDTH_5_KEYS = %i\n"
" KB_HEIGHT_MENU_KEYS = %i\n"
" KB_HEIGHT_SMALL_KEYS = %i\n"
" KB_HEIGHT_BIG_KEYS = %i\n"
" KB_SPACING_KEYS = %i\n"
" KB_COLUMN_WIDTH_6_KEYS = %i\n"
" KB_COLUMN_WIDTH_5_KEYS = %i\n"
" ANNUNCIATOR_WIDTH = %i\n"
" ANNUNCIATOR_HEIGHT = %i\n"
" ANNUNCIATORS_HEIGHT = %i\n"
" LCD_PIXEL_SCALE = %i\n"
" LCD_WIDTH = %i\n"
" LCD_HEIGHT = %i\n"
" KEYBOARD_PADDING = %i\n"
" WINDOW_WIDTH = %i\n"
" LCD_PADDING = %i\n",
FONT_SIZE_KEY, FONT_SIZE_SYMBOL, FONT_SIZE_NUMBER, FONT_SIZE_TINY, TINY_TEXT_HEIGHT, TINY_TEXT_WIDTH, KB_WIDTH_6_KEYS,
KB_WIDTH_5_KEYS, KB_HEIGHT_MENU_KEYS, KB_HEIGHT_SMALL_KEYS, KB_HEIGHT_BIG_KEYS, KB_SPACING_KEYS, KB_COLUMN_WIDTH_6_KEYS,
KB_COLUMN_WIDTH_5_KEYS, ANNUNCIATOR_WIDTH, ANNUNCIATOR_HEIGHT, ANNUNCIATORS_HEIGHT, LCD_PIXEL_SCALE, LCD_WIDTH, LCD_HEIGHT,
KEYBOARD_PADDING, WINDOW_WIDTH, LCD_PADDING );
}
if ( x49gp_module_init( x49gp, "gui", ui_init, ui_exit, ui_reset, ui_load, ui_save, NULL, &module ) ) if ( x49gp_module_init( x49gp, "gui", ui_init, ui_exit, ui_reset, ui_load, ui_save, NULL, &module ) )
return -1; return -1;