replaced NormalizeFontSizes with SetStandardFonts

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2004-09-24 09:55:10 +00:00
parent 84fe931ddf
commit 10e5c7eaa0
6 changed files with 84 additions and 73 deletions

View File

@@ -130,8 +130,11 @@ public:
void SetFonts(wxString normal_face, wxString fixed_face, void SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes = NULL); const int *sizes = NULL);
// Sets font sizes to be relative to the given size or the system default size // Sets font sizes to be relative to the given size or the system
void NormalizeFontSizes(int size=-1); // default size; use either specified or default font
void SetStandardFonts(int size = -1,
const wxString& normal_face = wxEmptyString,
const wxString& fixed_face = wxEmptyString);
// Sets space between text and window borders. // Sets space between text and window borders.
void SetBorders(int b) {m_Borders = b;} void SetBorders(int b) {m_Borders = b;}

View File

@@ -59,8 +59,11 @@ public:
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used). // Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL); void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
// Sets font sizes to be relative to the given size or the system default size // Sets font sizes to be relative to the given size or the system
void NormalizeFontSizes(int size=-1); // default size; use either specified or default font
void SetStandardFonts(int size = -1,
const wxString& normal_face = wxEmptyString,
const wxString& fixed_face = wxEmptyString);
// [x,y] is position of upper-left corner of printing rectangle (see SetSize) // [x,y] is position of upper-left corner of printing rectangle (see SetSize)
// from is y-coordinate of the very first visible cell // from is y-coordinate of the very first visible cell
@@ -145,8 +148,11 @@ public:
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used). // Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL); void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
// Sets font sizes to be relative to the given size or the system default size // Sets font sizes to be relative to the given size or the system
void NormalizeFontSizes(int size=-1); // default size; use either specified or default font
void SetStandardFonts(int size = -1,
const wxString& normal_face = wxEmptyString,
const wxString& fixed_face = wxEmptyString);
void SetMargins(float top = 25.2, float bottom = 25.2, float left = 25.2, float right = 25.2, void SetMargins(float top = 25.2, float bottom = 25.2, float left = 25.2, float right = 25.2,
float spaces = 5); float spaces = 5);
@@ -243,8 +249,11 @@ public:
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = 0); void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = 0);
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used) // Sets fonts to be used when displaying HTML page. (if size null then default sizes used)
void NormalizeFontSizes(int size=-1); // Sets font sizes to be relative to the given size or the system
// Sets font sizes to be relative to the given size or the system default size // default size; use either specified or default font
void SetStandardFonts(int size = -1,
const wxString& normal_face = wxEmptyString,
const wxString& fixed_face = wxEmptyString);
wxPrintData *GetPrintData(); wxPrintData *GetPrintData();
wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;} wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;}
@@ -263,6 +272,14 @@ private:
int m_FontsSizesArr[7]; int m_FontsSizesArr[7];
int *m_FontsSizes; int *m_FontsSizes;
wxString m_FontFaceFixed, m_FontFaceNormal; wxString m_FontFaceFixed, m_FontFaceNormal;
enum FontMode
{
FontMode_Explicit,
FontMode_Standard
};
FontMode m_fontMode;
wxString m_Headers[2], m_Footers[2]; wxString m_Headers[2], m_Footers[2];
wxWindow *m_ParentWindow; wxWindow *m_ParentWindow;

View File

@@ -72,8 +72,11 @@ public:
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used). // Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL); void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
// Sets font sizes to be relative to the given size or the system default size // Sets font sizes to be relative to the given size or the system
void NormalizeFontSizes(int size=-1); // default size; use either specified or default font
void SetStandardFonts(int size = -1,
const wxString& normal_face = wxEmptyString,
const wxString& fixed_face = wxEmptyString);
// Adds tags module. see wxHtmlTagsModule for details. // Adds tags module. see wxHtmlTagsModule for details.
static void AddModule(wxHtmlTagsModule *module); static void AddModule(wxHtmlTagsModule *module);

View File

@@ -246,24 +246,21 @@ void wxHtmlWindow::SetFonts(wxString normal_face, wxString fixed_face, const int
m_Parser->SetFonts(normal_face, fixed_face, sizes); m_Parser->SetFonts(normal_face, fixed_face, sizes);
// fonts changed => contents invalid, so reload the page: // fonts changed => contents invalid, so reload the page:
SetPage(wxT("<html><body></body></html>")); SetPage(wxT("<html><body></body></html>"));
if (!op.IsEmpty()) LoadPage(op); if (!op.empty())
LoadPage(op);
} }
void wxHtmlWindow::NormalizeFontSizes(int size) void wxHtmlWindow::SetStandardFonts(int size,
const wxString& normal_face,
const wxString& fixed_face)
{ {
int f_sizes[7]; wxString op = m_OpenedPage;
if (size == -1)
size = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize();
f_sizes[0] = int(size * 0.6); m_Parser->SetStandardFonts(size, normal_face, fixed_face);
f_sizes[1] = int(size * 0.8); // fonts changed => contents invalid, so reload the page:
f_sizes[2] = size; SetPage(wxT("<html><body></body></html>"));
f_sizes[3] = int(size * 1.2); if (!op.empty())
f_sizes[4] = int(size * 1.4); LoadPage(op);
f_sizes[5] = int(size * 1.6);
f_sizes[6] = int(size * 1.8);
SetFonts(wxEmptyString, wxEmptyString, f_sizes);
} }

View File

@@ -98,25 +98,17 @@ void wxHtmlDCRenderer::SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes) const int *sizes)
{ {
m_Parser->SetFonts(normal_face, fixed_face, sizes); m_Parser->SetFonts(normal_face, fixed_face, sizes);
if (m_DC == NULL && m_Cells != NULL) m_Cells->Layout(m_Width); if (m_DC == NULL && m_Cells != NULL)
m_Cells->Layout(m_Width);
} }
void wxHtmlDCRenderer::SetStandardFonts(int size,
void wxHtmlDCRenderer::NormalizeFontSizes(int size) const wxString& normal_face,
const wxString& fixed_face)
{ {
int f_sizes[7]; m_Parser->SetStandardFonts(size, normal_face, fixed_face);
if (size == -1) if (m_DC == NULL && m_Cells != NULL)
size = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(); m_Cells->Layout(m_Width);
f_sizes[0] = int(size * 0.6);
f_sizes[1] = int(size * 0.8);
f_sizes[2] = size;
f_sizes[3] = int(size * 1.2);
f_sizes[4] = int(size * 1.4);
f_sizes[5] = int(size * 1.6);
f_sizes[6] = int(size * 1.8);
SetFonts(wxEmptyString, wxEmptyString, f_sizes);
} }
@@ -470,22 +462,12 @@ void wxHtmlPrintout::SetFonts(wxString normal_face, wxString fixed_face,
m_RendererHdr->SetFonts(normal_face, fixed_face, sizes); m_RendererHdr->SetFonts(normal_face, fixed_face, sizes);
} }
void wxHtmlPrintout::SetStandardFonts(int size,
void wxHtmlPrintout::NormalizeFontSizes(int size) const wxString& normal_face,
const wxString& fixed_face)
{ {
int f_sizes[7]; m_Renderer->SetStandardFonts(size, normal_face, fixed_face);
if (size == -1) m_RendererHdr->SetStandardFonts(size, normal_face, fixed_face);
size = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize();
f_sizes[0] = int(size * 0.6);
f_sizes[1] = int(size * 0.8);
f_sizes[2] = size;
f_sizes[3] = int(size * 1.2);
f_sizes[4] = int(size * 1.4);
f_sizes[5] = int(size * 1.6);
f_sizes[6] = int(size * 1.8);
SetFonts(wxEmptyString, wxEmptyString, f_sizes);
} }
@@ -664,6 +646,7 @@ void wxHtmlEasyPrinting::SetFooter(const wxString& footer, int pg)
void wxHtmlEasyPrinting::SetFonts(wxString normal_face, wxString fixed_face, void wxHtmlEasyPrinting::SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes) const int *sizes)
{ {
m_fontMode = FontMode_Explicit;
m_FontFaceNormal = normal_face; m_FontFaceNormal = normal_face;
m_FontFaceFixed = fixed_face; m_FontFaceFixed = fixed_face;
@@ -676,21 +659,14 @@ void wxHtmlEasyPrinting::SetFonts(wxString normal_face, wxString fixed_face,
m_FontsSizes = NULL; m_FontsSizes = NULL;
} }
void wxHtmlEasyPrinting::NormalizeFontSizes(int size) void wxHtmlEasyPrinting::SetStandardFonts(int size,
const wxString& normal_face,
const wxString& fixed_face)
{ {
int f_sizes[7]; m_fontMode = FontMode_Standard;
if (size == -1) m_FontFaceNormal = normal_face;
size = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(); m_FontFaceFixed = fixed_face;
m_FontsSizesArr[0] = size;
f_sizes[0] = int(size * 0.6);
f_sizes[1] = int(size * 0.8);
f_sizes[2] = size;
f_sizes[3] = int(size * 1.2);
f_sizes[4] = int(size * 1.4);
f_sizes[5] = int(size * 1.6);
f_sizes[6] = int(size * 1.8);
SetFonts(wxEmptyString, wxEmptyString, f_sizes);
} }
@@ -698,7 +674,15 @@ wxHtmlPrintout *wxHtmlEasyPrinting::CreatePrintout()
{ {
wxHtmlPrintout *p = new wxHtmlPrintout(m_Name); wxHtmlPrintout *p = new wxHtmlPrintout(m_Name);
if (m_fontMode == FontMode_Explicit)
{
p->SetFonts(m_FontFaceNormal, m_FontFaceFixed, m_FontsSizes); p->SetFonts(m_FontFaceNormal, m_FontFaceFixed, m_FontsSizes);
}
else // FontMode_Standard
{
p->SetStandardFonts(m_FontsSizesArr[0],
m_FontFaceNormal, m_FontFaceFixed);
}
p->SetHeader(m_Headers[0], wxPAGE_EVEN); p->SetHeader(m_Headers[0], wxPAGE_EVEN);
p->SetHeader(m_Headers[1], wxPAGE_ODD); p->SetHeader(m_Headers[1], wxPAGE_ODD);

View File

@@ -154,11 +154,15 @@ void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face,
} }
} }
void wxHtmlWinParser::NormalizeFontSizes(int size) void wxHtmlWinParser::SetStandardFonts(int size,
const wxString& normal_face,
const wxString& fixed_face)
{ {
wxFont defaultFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
int f_sizes[7]; int f_sizes[7];
if (size == -1) if (size == -1)
size = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(); size = defaultFont.GetPointSize();
f_sizes[0] = int(size * 0.6); f_sizes[0] = int(size * 0.6);
f_sizes[1] = int(size * 0.8); f_sizes[1] = int(size * 0.8);
@@ -168,7 +172,10 @@ void wxHtmlWinParser::NormalizeFontSizes(int size)
f_sizes[5] = int(size * 1.6); f_sizes[5] = int(size * 1.6);
f_sizes[6] = int(size * 1.8); f_sizes[6] = int(size * 1.8);
SetFonts(wxEmptyString, wxEmptyString, f_sizes); wxString normal = normal_face.empty() ?
defaultFont.GetFaceName() : normal_face;
SetFonts(normal, fixed_face, f_sizes);
} }
void wxHtmlWinParser::InitParser(const wxString& source) void wxHtmlWinParser::InitParser(const wxString& source)