Patch level : 2.1 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento : Migliorata stampa di campi su piu' righe git-svn-id: svn://10.65.10.50/trunk@12173 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									75f854a3a0
								
							
						
					
					
						commit
						0986f0aa0c
					
				| @ -374,22 +374,19 @@ void advanced_draw_paragraph(TWindow& win, TString& para, const RCT& rct, | ||||
|                              char halign, char valign) | ||||
| { | ||||
|   const bool acapo = para.find('\n') >= 0; | ||||
|   const bool parag = para.find(char(0xB6)) >= 0; | ||||
| 
 | ||||
|   int leading, ascent, descent; | ||||
|   xvt_dwin_get_font_metrics(win.win(), &leading, &ascent, &descent); | ||||
|   const int ky = leading + ascent + descent; | ||||
| 
 | ||||
|   const int rct_height = rct.bottom - rct.top; | ||||
|   int rows = rct_height / ky; | ||||
|   int rows = (rct_height+ky/2) / ky; | ||||
| 
 | ||||
|   if (acapo || parag || rows > 1) // Devo scrivere piu' righe?
 | ||||
|   if (acapo || rows > 1) // Devo scrivere piu' righe?
 | ||||
|   { | ||||
|     const int kx = xvt_dwin_get_text_width(win.win(), "ABCDEFGH", 8) / 8;  | ||||
|     const unsigned columns = (rct.right - rct.left) / kx; | ||||
| 
 | ||||
|     if (parag) | ||||
|       para.replace(char('0xB6'), '\n'); | ||||
|     TParagraph_string str(para, columns); | ||||
|     if (str.items() < rows) | ||||
|       rows = str.items(); | ||||
| @ -1294,6 +1291,13 @@ const TString& TReport_field::formatted_text() const | ||||
|         tmp << _picture << ' ' << _var.as_string(); | ||||
|       return tmp; | ||||
|     } | ||||
|     if (dynamic_height() && _var.as_string().find(char(0xB6)) >= 0) | ||||
|     { | ||||
|       TString& tmp = get_tmp_string(); | ||||
|       tmp = _var.as_string(); | ||||
|       tmp.replace(char(0xB6), '\n'); | ||||
|       return tmp; | ||||
|     } | ||||
|     return _var.as_string(); | ||||
|   } | ||||
|   return EMPTY_STRING; | ||||
|  | ||||
| @ -905,6 +905,8 @@ bool TBook::print_page(TWindow& win, size_t page) | ||||
|         ifs.getline(buffer, str.size()); | ||||
|         if (str == "</text>") | ||||
|           break; | ||||
|         if (stringona.not_empty()) | ||||
|           stringona << '\n'; | ||||
|         stringona << str; | ||||
|       } | ||||
|       advanced_draw_paragraph(win, stringona, rct, _horizontal_alignment, _vertical_alignment); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user