Added NormalizeFontSizes which will set the html font sizes based on

the size of a system font.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-08-05 23:59:44 +00:00
parent ebee3cd033
commit 7acd36259b
7 changed files with 120 additions and 1 deletions

View File

@ -130,6 +130,9 @@ public:
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
void NormalizeFontSizes(int size=-1);
// Sets space between text and window borders.
void SetBorders(int b) {m_Borders = b;}

View File

@ -59,6 +59,9 @@ public:
// 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);
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
// [x,y] is position of upper-left corner of printing rectangle (see SetSize)
// from is y-coordinate of the very first visible cell
// to is y-coordinate of the next following page break, if any
@ -142,6 +145,9 @@ public:
// 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);
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
void SetMargins(float top = 25.2, float bottom = 25.2, float left = 25.2, float right = 25.2,
float spaces = 5);
// sets margins in milimeters. Defaults to 1 inch for margins and 0.5cm for space
@ -237,6 +243,9 @@ public:
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)
void NormalizeFontSizes(int size=-1);
// Sets font sizes to be relative to the given size or the system default size
wxPrintData *GetPrintData();
wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;}
// return page setting data objects.

View File

@ -72,6 +72,9 @@ public:
// 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);
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
// Adds tags module. see wxHtmlTagsModule for details.
static void AddModule(wxHtmlTagsModule *module);

View File

@ -36,12 +36,12 @@
#include "wx/dataobj.h"
#include "wx/timer.h"
#include "wx/dcmemory.h"
#include "wx/settings.h"
#include "wx/arrimpl.cpp"
#include "wx/listimpl.cpp"
#if wxUSE_CLIPBOARD
// ----------------------------------------------------------------------------
// wxHtmlWinAutoScrollTimer: the timer used to generate a stream of scroll
@ -249,6 +249,22 @@ void wxHtmlWindow::SetFonts(wxString normal_face, wxString fixed_face, const int
if (!op.IsEmpty()) LoadPage(op);
}
void wxHtmlWindow::NormalizeFontSizes(int size)
{
int f_sizes[7];
if (size == -1)
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);
}
bool wxHtmlWindow::SetPage(const wxString& source)

View File

@ -37,6 +37,7 @@
#include "wx/wxhtml.h"
#include "wx/wfstream.h"
#include "wx/module.h"
#include "wx/settings.h"
//--------------------------------------------------------------------------------
@ -101,6 +102,24 @@ void wxHtmlDCRenderer::SetFonts(wxString normal_face, wxString fixed_face,
}
void wxHtmlDCRenderer::NormalizeFontSizes(int size)
{
int f_sizes[7];
if (size == -1)
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);
}
int wxHtmlDCRenderer::Render(int x, int y, int from, int dont_render, int to, int *known_pagebreaks, int number_of_pages)
{
int pbreak, hght;
@ -447,6 +466,24 @@ void wxHtmlPrintout::SetFonts(wxString normal_face, wxString fixed_face,
}
void wxHtmlPrintout::NormalizeFontSizes(int size)
{
int f_sizes[7];
if (size == -1)
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);
}
//----------------------------------------------------------------------------
// wxHtmlEasyPrinting
@ -634,6 +671,23 @@ void wxHtmlEasyPrinting::SetFonts(wxString normal_face, wxString fixed_face,
m_FontsSizes = NULL;
}
void wxHtmlEasyPrinting::NormalizeFontSizes(int size)
{
int f_sizes[7];
if (size == -1)
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);
}
wxHtmlPrintout *wxHtmlEasyPrinting::CreatePrintout()
{

View File

@ -154,6 +154,23 @@ void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face,
}
}
void wxHtmlWinParser::NormalizeFontSizes(int size)
{
int f_sizes[7];
if (size == -1)
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);
}
void wxHtmlWinParser::InitParser(const wxString& source)
{
wxHtmlParser::InitParser(source);

View File

@ -199,6 +199,9 @@ public:
}
}
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
wxHtmlContainerCell* GetContainer();
wxHtmlContainerCell* OpenContainer();
wxHtmlContainerCell *SetContainer(wxHtmlContainerCell *c);
@ -865,6 +868,9 @@ public:
}
}
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
DocDeclStr(
void, SetTitle(const wxString& title),
"", "");
@ -952,6 +958,10 @@ public:
delete [] temp;
}
}
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
int Render(int x, int y, int from = 0, int dont_render = False, int to = INT_MAX,
//int *known_pagebreaks = NULL, int number_of_pages = 0
int* choices=NULL, int LCOUNT = 0
@ -993,6 +1003,10 @@ public:
delete [] temp;
}
}
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
void SetMargins(float top = 25.2, float bottom = 25.2,
float left = 25.2, float right = 25.2,
float spaces = 5);
@ -1033,6 +1047,9 @@ public:
}
}
// Sets font sizes to be relative to the given size or the system default size
void NormalizeFontSizes(int size=-1);
wxPrintData *GetPrintData() {return m_PrintData;}
wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;}