forked from Miroirs/x49gp
--font-size is more clear than text-scale
This commit is contained in:
parent
ed48563f14
commit
5df16bb28f
3 changed files with 80 additions and 40 deletions
|
@ -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,40 +132,43 @@ 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;
|
||||||
|
|
||||||
const char* optstring = "hrc:D:df:Fn:t:";
|
const char* optstring = "hrc:D:df:Fn:t:";
|
||||||
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' },
|
||||||
|
|
||||||
{"state", required_argument, NULL, 1 },
|
{"state", required_argument, NULL, 1 },
|
||||||
|
|
||||||
{"enable-debug", required_argument, NULL, 'D' },
|
{"enable-debug", required_argument, NULL, 'D' },
|
||||||
{"debug", no_argument, NULL, 'd' },
|
{"debug", no_argument, NULL, 'd' },
|
||||||
{"reflash", required_argument, NULL, 'f' },
|
{"reflash", required_argument, NULL, 'f' },
|
||||||
{"reflash-full", no_argument, NULL, 'F' },
|
{"reflash-full", no_argument, NULL, 'F' },
|
||||||
{"reboot", no_argument, NULL, 'r' },
|
{"reboot", no_argument, NULL, 'r' },
|
||||||
|
|
||||||
{"50g", no_argument, NULL, 506 },
|
{"50g", no_argument, NULL, 506 },
|
||||||
{"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' },
|
||||||
|
|
||||||
{0, 0, 0, 0 }
|
{0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
while ( c != EOF ) {
|
while ( c != EOF ) {
|
||||||
|
@ -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 );
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue