Patch level : 2.2
Files correlati : xvaga Ricompilazione Demo : [ ] Commento : Ora i report (ed anche i form) si accorgono di un eventuale cambiamento della stampante o della sua risoluzione e ricalcolano correttamente il font di stampa git-svn-id: svn://10.65.10.50/trunk@13664 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a37012d240
commit
ac5d36ee3b
@ -2164,18 +2164,16 @@ wxFont& TFontId::Font(wxDC* dc, WINDOW win) const
|
|||||||
if (win == PRINTER_WIN)
|
if (win == PRINTER_WIN)
|
||||||
{
|
{
|
||||||
static wxDC* lastDC = NULL;
|
static wxDC* lastDC = NULL;
|
||||||
|
static wxSize lastPPI;
|
||||||
static double dPrintScale = 1.0;
|
static double dPrintScale = 1.0;
|
||||||
if (dc != lastDC)
|
const wxSize ppi = dc->GetPPI();
|
||||||
|
if (dc != lastDC || ppi != lastPPI)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
const char* DEFAULT_FONT_NAME = "Courier New";
|
const char* const DEFAULT_FONT_NAME = "Courier New";
|
||||||
#else
|
#else
|
||||||
const char* DEFAULT_FONT_NAME = "Courier";
|
const char* const DEFAULT_FONT_NAME = "Courier";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const wxSize ppi = dc->GetPPI();
|
|
||||||
|
|
||||||
|
|
||||||
const int nTarget10 = 10 * ppi.x; // pixel in 10 pollici in larghezza
|
const int nTarget10 = 10 * ppi.x; // pixel in 10 pollici in larghezza
|
||||||
const int cpi10 = 10 * 120 / nSize; // caratteri stimati in 10 pollici
|
const int cpi10 = 10 * 120 / nSize; // caratteri stimati in 10 pollici
|
||||||
const wxString str('M', cpi10); // stringa campione per stimare la larghezza
|
const wxString str('M', cpi10); // stringa campione per stimare la larghezza
|
||||||
@ -2227,6 +2225,7 @@ wxFont& TFontId::Font(wxDC* dc, WINDOW win) const
|
|||||||
dPrintScale /= 10.0; // * wxPostScriptDC::GetResolution()) / 72.0);
|
dPrintScale /= 10.0; // * wxPostScriptDC::GetResolution()) / 72.0);
|
||||||
#endif
|
#endif
|
||||||
lastDC = dc;
|
lastDC = dc;
|
||||||
|
lastPPI = ppi;
|
||||||
}
|
}
|
||||||
nSize = (int)(nSize * dPrintScale + 0.5);
|
nSize = (int)(nSize * dPrintScale + 0.5);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user