partially backported wxHTML SetFonts improvements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -44,8 +44,19 @@ in pixels (you should set it to page width minus margins).
|
|||||||
the screen width is always 800 pixels: it gives best results and ensures (almost) same printed outputs
|
the screen width is always 800 pixels: it gives best results and ensures (almost) same printed outputs
|
||||||
across platforms and differently configured desktops.}
|
across platforms and differently configured desktops.}
|
||||||
|
|
||||||
|
\membersection{wxHtmlDCRenderer::SetFonts}\label{wxhtmldcrenderersetfonts}
|
||||||
|
|
||||||
|
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
|
||||||
|
|
||||||
|
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
|
||||||
|
detailed description.
|
||||||
|
|
||||||
See also \helpref{SetSize}{wxhtmldcrenderersetsize}.
|
See also \helpref{SetSize}{wxhtmldcrenderersetsize}.
|
||||||
|
|
||||||
|
\wxheading{Note}
|
||||||
|
|
||||||
|
This method was added in wxWindows 2.4.1.
|
||||||
|
|
||||||
\membersection{wxHtmlDCRenderer::SetSize}\label{wxhtmldcrenderersetsize}
|
\membersection{wxHtmlDCRenderer::SetSize}\label{wxhtmldcrenderersetsize}
|
||||||
|
|
||||||
\func{void}{SetSize}{\param{int }{width}, \param{int }{height}}
|
\func{void}{SetSize}{\param{int }{width}, \param{int }{height}}
|
||||||
|
@@ -27,6 +27,16 @@ This class serves as printout class for HTML documents.
|
|||||||
Constructor.
|
Constructor.
|
||||||
|
|
||||||
|
|
||||||
|
\membersection{wxHtmlPrintout::SetFonts}\label{wxhtmlprintoutsetfonts}
|
||||||
|
|
||||||
|
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
|
||||||
|
|
||||||
|
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
|
||||||
|
detailed description.
|
||||||
|
|
||||||
|
\wxheading{Note}
|
||||||
|
|
||||||
|
This method was added in wxWindows 2.4.1.
|
||||||
|
|
||||||
\membersection{wxHtmlPrintout::SetFooter}\label{wxhtmlprintoutsetfooter}
|
\membersection{wxHtmlPrintout::SetFooter}\label{wxhtmlprintoutsetfooter}
|
||||||
|
|
||||||
|
@@ -14,8 +14,9 @@ file or downloaded via HTTP protocol) in a window. The width
|
|||||||
of the window is constant - given in the constructor - and virtual height
|
of the window is constant - given in the constructor - and virtual height
|
||||||
is changed dynamically depending on page size.
|
is changed dynamically depending on page size.
|
||||||
Once the window is created you can set its content by calling
|
Once the window is created you can set its content by calling
|
||||||
\helpref{SetPage(text)}{wxhtmlwindowsetpage} or
|
\helpref{SetPage(text)}{wxhtmlwindowsetpage},
|
||||||
\helpref{LoadPage(filename)}{wxhtmlwindowloadpage}.
|
\helpref{LoadPage(filename)}{wxhtmlwindowloadpage} or
|
||||||
|
\helpref{LoadFile}{wxhtmlwindowloadfile}.
|
||||||
|
|
||||||
\wxheading{Note}
|
\wxheading{Note}
|
||||||
|
|
||||||
@@ -146,6 +147,24 @@ Clears history.
|
|||||||
|
|
||||||
Moves to next page in history.
|
Moves to next page in history.
|
||||||
|
|
||||||
|
\membersection{wxHtmlWindow::LoadFile}\label{wxhtmlwindowloadfile}
|
||||||
|
|
||||||
|
\func{virtual bool}{LoadFile}{\param{const wxFileName\& }{filename}}
|
||||||
|
|
||||||
|
Loads HTML page from file and displays it.
|
||||||
|
|
||||||
|
\wxheading{Return value}
|
||||||
|
|
||||||
|
FALSE if an error occurred, TRUE otherwise
|
||||||
|
|
||||||
|
\wxheading{Note}
|
||||||
|
|
||||||
|
This method was added in wxWindows 2.4.1.
|
||||||
|
|
||||||
|
\wxheading{See also}
|
||||||
|
|
||||||
|
\helpref{LoadPage}{wxhtmlwindowloadpage}
|
||||||
|
|
||||||
\membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
|
\membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
|
||||||
|
|
||||||
\func{virtual bool}{LoadPage}{\param{const wxString\& }{location}}
|
\func{virtual bool}{LoadPage}{\param{const wxString\& }{location}}
|
||||||
@@ -154,7 +173,7 @@ Unlike SetPage this function first loads HTML page from {\it location}
|
|||||||
and then displays it. See example:
|
and then displays it. See example:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
htmlwin -> SetPage("help/myproject/index.htm");
|
htmlwin->LoadPage("help/myproject/index.htm");
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\wxheading{Parameters}
|
\wxheading{Parameters}
|
||||||
@@ -165,6 +184,10 @@ htmlwin -> SetPage("help/myproject/index.htm");
|
|||||||
|
|
||||||
FALSE if an error occurred, TRUE otherwise
|
FALSE if an error occurred, TRUE otherwise
|
||||||
|
|
||||||
|
\wxheading{See also}
|
||||||
|
|
||||||
|
\helpref{LoadFile}{wxhtmlwindowloadfile}
|
||||||
|
|
||||||
\membersection{wxHtmlWindow::OnCellClicked}\label{wxhtmlwindowoncellclicked}
|
\membersection{wxHtmlWindow::OnCellClicked}\label{wxhtmlwindowoncellclicked}
|
||||||
|
|
||||||
\func{virtual void}{OnCellClicked}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}, \param{const wxMouseEvent\& }{event}}
|
\func{virtual void}{OnCellClicked}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}, \param{const wxMouseEvent\& }{event}}
|
||||||
@@ -278,7 +301,7 @@ This function sets the space between border of window and HTML contents. See ima
|
|||||||
|
|
||||||
\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
|
\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
|
||||||
|
|
||||||
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes}}
|
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
|
||||||
|
|
||||||
This function sets font sizes and faces.
|
This function sets font sizes and faces.
|
||||||
|
|
||||||
@@ -293,24 +316,20 @@ platform-specific face name. Examples are "helvetica" under Unix or
|
|||||||
|
|
||||||
\docparam{sizes}{This is an array of 7 items of {\it int} type.
|
\docparam{sizes}{This is an array of 7 items of {\it int} type.
|
||||||
The values represent size of font with HTML size from -2 to +4
|
The values represent size of font with HTML size from -2 to +4
|
||||||
( <FONT SIZE=-2> to <FONT SIZE=+4> )}
|
( <FONT SIZE=-2> to <FONT SIZE=+4> ). Default sizes are used if {\it sizes}
|
||||||
|
is NULL.}
|
||||||
|
|
||||||
\wxheading{Defaults}
|
\wxheading{Defaults}
|
||||||
|
|
||||||
Under wxGTK:
|
Default font sizes are defined by constants wxHTML\_FONT\_SIZE\_1,
|
||||||
|
wxHTML\_FONT\_SIZE\_2, ..., wxHTML\_FONT\_SIZE\_7. Note that they differ among
|
||||||
|
platforms. Default face names are empty strings.
|
||||||
|
|
||||||
\begin{verbatim}
|
\wxheading{Note}
|
||||||
SetFonts("", "", {10, 12, 14, 16, 19, 24, 32});
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
Under Windows:
|
{\tt NULL} is valid value of {\it sizes} since wxWindows 2.4.1. Older
|
||||||
|
versions did not accept {\tt NULL} value. wxHTML\_FONT\_SIZE\_n constants
|
||||||
\begin{verbatim}
|
were added in wxWindows 2.4.1.
|
||||||
SetFonts("", "", {7, 8, 10, 12, 16, 22, 30});
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
Although it seems different the fact is that the fonts are of approximately
|
|
||||||
same size under both platforms (due to wxMSW / wxGTK inconsistency)
|
|
||||||
|
|
||||||
\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
|
\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
|
||||||
|
|
||||||
|
@@ -269,9 +269,10 @@ Sets underlined flag of actualfont. {\it x} is either TRUE of FALSE.
|
|||||||
|
|
||||||
\membersection{wxHtmlWinParser::SetFonts}\label{wxhtmlwinparsersetfonts}
|
\membersection{wxHtmlWinParser::SetFonts}\label{wxhtmlwinparsersetfonts}
|
||||||
|
|
||||||
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes}}
|
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
|
||||||
|
|
||||||
Sets fonts. This method is identical to \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts}
|
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
|
||||||
|
detailed description.
|
||||||
|
|
||||||
\membersection{wxHtmlWinParser::SetInputEncoding}\label{wxhtmlwinparsersetinputencoding}
|
\membersection{wxHtmlWinParser::SetInputEncoding}\label{wxhtmlwinparsersetinputencoding}
|
||||||
|
|
||||||
|
@@ -99,10 +99,32 @@
|
|||||||
/* maximum number of pages printable via html printing */
|
/* maximum number of pages printable via html printing */
|
||||||
|
|
||||||
|
|
||||||
|
/* default font sizes */
|
||||||
|
#ifdef __WXMSW__
|
||||||
|
#define wxHTML_FONT_SIZE_1 7
|
||||||
|
#define wxHTML_FONT_SIZE_2 8
|
||||||
|
#define wxHTML_FONT_SIZE_3 10
|
||||||
|
#define wxHTML_FONT_SIZE_4 12
|
||||||
|
#define wxHTML_FONT_SIZE_5 16
|
||||||
|
#define wxHTML_FONT_SIZE_6 22
|
||||||
|
#define wxHTML_FONT_SIZE_7 30
|
||||||
|
#elif defined(__WXMAC__)
|
||||||
|
#define wxHTML_FONT_SIZE_1 9
|
||||||
|
#define wxHTML_FONT_SIZE_2 12
|
||||||
|
#define wxHTML_FONT_SIZE_3 14
|
||||||
|
#define wxHTML_FONT_SIZE_4 18
|
||||||
|
#define wxHTML_FONT_SIZE_5 24
|
||||||
|
#define wxHTML_FONT_SIZE_6 30
|
||||||
|
#define wxHTML_FONT_SIZE_7 36
|
||||||
|
#else
|
||||||
|
#define wxHTML_FONT_SIZE_1 10
|
||||||
|
#define wxHTML_FONT_SIZE_2 12
|
||||||
|
#define wxHTML_FONT_SIZE_3 14
|
||||||
|
#define wxHTML_FONT_SIZE_4 16
|
||||||
|
#define wxHTML_FONT_SIZE_5 19
|
||||||
|
#define wxHTML_FONT_SIZE_6 24
|
||||||
|
#define wxHTML_FONT_SIZE_7 32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_2
|
#if WXWIN_COMPATIBILITY_2
|
||||||
|
@@ -26,6 +26,7 @@
|
|||||||
#include "wx/html/htmlcell.h"
|
#include "wx/html/htmlcell.h"
|
||||||
#include "wx/filesys.h"
|
#include "wx/filesys.h"
|
||||||
#include "wx/html/htmlfilt.h"
|
#include "wx/html/htmlfilt.h"
|
||||||
|
#include "wx/filename.h"
|
||||||
|
|
||||||
class wxHtmlProcessor;
|
class wxHtmlProcessor;
|
||||||
class wxHtmlWinModule;
|
class wxHtmlWinModule;
|
||||||
@@ -100,6 +101,9 @@ public:
|
|||||||
// Return value : same as SetPage
|
// Return value : same as SetPage
|
||||||
virtual bool LoadPage(const wxString& location);
|
virtual bool LoadPage(const wxString& location);
|
||||||
|
|
||||||
|
// Loads HTML page from file
|
||||||
|
bool LoadFile(const wxFileName& filename);
|
||||||
|
|
||||||
// Returns full location of opened page
|
// Returns full location of opened page
|
||||||
wxString GetOpenedPage() const {return m_OpenedPage;}
|
wxString GetOpenedPage() const {return m_OpenedPage;}
|
||||||
// Returns anchor within opened page
|
// Returns anchor within opened page
|
||||||
@@ -117,7 +121,8 @@ public:
|
|||||||
void SetRelatedStatusBar(int bar);
|
void SetRelatedStatusBar(int bar);
|
||||||
|
|
||||||
// Sets fonts to be used when displaying HTML page.
|
// Sets fonts to be used when displaying HTML page.
|
||||||
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes);
|
void SetFonts(wxString normal_face, wxString fixed_face,
|
||||||
|
const int *sizes = NULL);
|
||||||
|
|
||||||
// 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;}
|
||||||
|
@@ -53,6 +53,9 @@ public:
|
|||||||
// (see wxFileSystem for detailed explanation)
|
// (see wxFileSystem for detailed explanation)
|
||||||
void SetHtmlText(const wxString& html, const wxString& basepath = wxEmptyString, bool isdir = TRUE);
|
void SetHtmlText(const wxString& html, const wxString& basepath = wxEmptyString, bool isdir = TRUE);
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
|
||||||
// [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
|
||||||
// Returned value is y coordinate of first cell than didn't fit onto page.
|
// Returned value is y coordinate of first cell than didn't fit onto page.
|
||||||
@@ -123,6 +126,9 @@ public:
|
|||||||
// pg is one of wxPAGE_ODD, wxPAGE_EVEN and wx_PAGE_ALL constants.
|
// pg is one of wxPAGE_ODD, wxPAGE_EVEN and wx_PAGE_ALL constants.
|
||||||
// You can set different header/footer for odd and even pages
|
// You can set different header/footer for odd and even pages
|
||||||
|
|
||||||
|
// 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 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);
|
||||||
// sets margins in milimeters. Defaults to 1 inch for margins and 0.5cm for space
|
// sets margins in milimeters. Defaults to 1 inch for margins and 0.5cm for space
|
||||||
|
@@ -68,8 +68,8 @@ public:
|
|||||||
// returns associated wxWindow
|
// returns associated wxWindow
|
||||||
wxHtmlWindow *GetWindow() {return m_Window;}
|
wxHtmlWindow *GetWindow() {return m_Window;}
|
||||||
|
|
||||||
// sets fonts to be used when displaying HTML page.
|
// 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);
|
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
|
||||||
|
|
||||||
// Adds tags module. see wxHtmlTagsModule for details.
|
// Adds tags module. see wxHtmlTagsModule for details.
|
||||||
static void AddModule(wxHtmlTagsModule *module);
|
static void AddModule(wxHtmlTagsModule *module);
|
||||||
|
@@ -93,6 +93,13 @@ void wxHtmlDCRenderer::SetHtmlText(const wxString& html, const wxString& basepat
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void wxHtmlDCRenderer::SetFonts(wxString normal_face, wxString fixed_face,
|
||||||
|
const int *sizes)
|
||||||
|
{
|
||||||
|
m_Parser->SetFonts(normal_face, fixed_face, sizes);
|
||||||
|
if (m_DC == NULL && m_Cells != NULL) m_Cells->Layout(m_Width);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int wxHtmlDCRenderer::Render(int x, int y, int from, int dont_render)
|
int wxHtmlDCRenderer::Render(int x, int y, int from, int dont_render)
|
||||||
{
|
{
|
||||||
@@ -408,11 +415,18 @@ void wxHtmlPrintout::SetMargins(float top, float bottom, float left, float right
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void wxHtmlPrintout::SetFonts(wxString normal_face, wxString fixed_face,
|
||||||
|
const int *sizes)
|
||||||
|
{
|
||||||
|
m_Renderer->SetFonts(normal_face, fixed_face, sizes);
|
||||||
|
m_RendererHdr->SetFonts(normal_face, fixed_face, sizes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
// wxHtmlEasyPrinting
|
// wxHtmlEasyPrinting
|
||||||
//--------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
wxHtmlEasyPrinting::wxHtmlEasyPrinting(const wxString& name, wxFrame *parent_frame)
|
wxHtmlEasyPrinting::wxHtmlEasyPrinting(const wxString& name, wxFrame *parent_frame)
|
||||||
|
@@ -69,14 +69,8 @@ wxHtmlWinParser::wxHtmlWinParser(wxHtmlWindow *wnd) : wxHtmlParser()
|
|||||||
m_FontsEncTable[i][j][k][l][m] = wxFONTENCODING_DEFAULT;
|
m_FontsEncTable[i][j][k][l][m] = wxFONTENCODING_DEFAULT;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef __WXMSW__
|
|
||||||
static int default_sizes[7] = {7, 8, 10, 12, 16, 22, 30};
|
SetFonts(wxEmptyString, wxEmptyString, NULL);
|
||||||
#elif defined(__WXMAC__)
|
|
||||||
static int default_sizes[7] = {9, 12, 14, 18, 24, 30, 36};
|
|
||||||
#else
|
|
||||||
static int default_sizes[7] = {10, 12, 14, 16, 19, 24, 32};
|
|
||||||
#endif
|
|
||||||
SetFonts(wxT(""), wxT(""), default_sizes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// fill in wxHtmlParser's tables:
|
// fill in wxHtmlParser's tables:
|
||||||
@@ -118,8 +112,22 @@ void wxHtmlWinParser::RemoveModule(wxHtmlTagsModule *module)
|
|||||||
m_Modules.DeleteObject(module);
|
m_Modules.DeleteObject(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face, const int *sizes)
|
void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face,
|
||||||
|
const int *sizes)
|
||||||
{
|
{
|
||||||
|
static int default_sizes[7] =
|
||||||
|
{
|
||||||
|
wxHTML_FONT_SIZE_1,
|
||||||
|
wxHTML_FONT_SIZE_2,
|
||||||
|
wxHTML_FONT_SIZE_3,
|
||||||
|
wxHTML_FONT_SIZE_4,
|
||||||
|
wxHTML_FONT_SIZE_5,
|
||||||
|
wxHTML_FONT_SIZE_6,
|
||||||
|
wxHTML_FONT_SIZE_7
|
||||||
|
};
|
||||||
|
|
||||||
|
if (sizes == NULL) sizes = default_sizes;
|
||||||
|
|
||||||
int i, j, k, l, m;
|
int i, j, k, l, m;
|
||||||
|
|
||||||
for (i = 0; i < 7; i++) m_FontsSizes[i] = sizes[i];
|
for (i = 0; i < 7; i++) m_FontsSizes[i] = sizes[i];
|
||||||
|
Reference in New Issue
Block a user