mirror of
https://github.com/clockworkpi/DevTerm.git
synced 2025-12-13 02:38:50 +01:00
add get_serial_cache_font_width to calc the whole line ser_cache width
This commit is contained in:
parent
8eff139781
commit
3237703ec3
@ -711,7 +711,15 @@ void parse_serial_stream(CONFIG*cfg,uint8_t input_ch){
|
|||||||
}
|
}
|
||||||
//read utf8 codename
|
//read utf8 codename
|
||||||
//
|
//
|
||||||
a = (ser_cache.idx+1)*current_font.width+(ser_cache.idx)*0+ g_config.margin.width;
|
if(cfg->font->mode == FONT_MODE_1) {
|
||||||
|
|
||||||
|
a = get_serial_cache_font_width(&g_config);
|
||||||
|
a+= (ser_cache.idx)*0+ g_config.margin.width;
|
||||||
|
|
||||||
|
}else {
|
||||||
|
a = (ser_cache.idx+1)*current_font.width+(ser_cache.idx)*0+ g_config.margin.width;
|
||||||
|
|
||||||
|
}
|
||||||
if( a >= MAX_DOTS)//got enough points to print
|
if( a >= MAX_DOTS)//got enough points to print
|
||||||
{
|
{
|
||||||
if(cfg->font->mode == FONT_MODE_1){
|
if(cfg->font->mode == FONT_MODE_1){
|
||||||
|
|||||||
@ -422,6 +422,24 @@ int glob_file(char*av) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
uint16_t get_serial_cache_font_width(CONFIG*cfg) {
|
||||||
|
|
||||||
|
int i;
|
||||||
|
uint8_t *ch;
|
||||||
|
uint32_t codename;
|
||||||
|
int w;
|
||||||
|
w = 0;
|
||||||
|
i = 0;
|
||||||
|
while( i <ser_cache.idx) {
|
||||||
|
ch = (uint8_t*)&ser_cache.data[i];
|
||||||
|
codename = utf8_to_utf32(ch);
|
||||||
|
FT_UInt gi = FT_Get_Char_Index ( cfg->face, codename);
|
||||||
|
FT_Load_Glyph ( cfg->face, gi, FT_LOAD_NO_BITMAP);
|
||||||
|
w += cfg->face->glyph->metrics.horiAdvance / 64;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return w+cfg->font->width;
|
||||||
|
}
|
||||||
|
|
||||||
//print with freetype font dots glyph
|
//print with freetype font dots glyph
|
||||||
uint8_t print_lines_ft(CONFIG*cfg) {
|
uint8_t print_lines_ft(CONFIG*cfg) {
|
||||||
@ -550,7 +568,6 @@ uint8_t print_lines_ft(CONFIG*cfg) {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
rv = IsPaper();
|
rv = IsPaper();
|
||||||
if( rv == IS_PAPER) {
|
if( rv == IS_PAPER) {
|
||||||
|
|||||||
@ -29,7 +29,7 @@ void print_dots_8bit(CONFIG*cfg,uint8_t *Array, uint8_t characters,uint8_t feed_
|
|||||||
uint16_t read_adc(char*);
|
uint16_t read_adc(char*);
|
||||||
uint16_t temperature();
|
uint16_t temperature();
|
||||||
int glob_file(char*);
|
int glob_file(char*);
|
||||||
|
uint16_t get_serial_cache_font_width(CONFIG*);
|
||||||
uint8_t print_lines_ft(CONFIG*);
|
uint8_t print_lines_ft(CONFIG*);
|
||||||
uint8_t print_lines8(CONFIG*);
|
uint8_t print_lines8(CONFIG*);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user