// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
-// Licence: wxWindows Licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WINPARS_H_
#define _WX_WINPARS_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "winpars.h"
#endif
#include "wx/html/htmlcell.h"
#include "wx/encconv.h"
-class WXDLLEXPORT wxHtmlWindow;
-class WXDLLEXPORT wxHtmlWinParser;
-class WXDLLEXPORT wxHtmlWinTagHandler;
-class WXDLLEXPORT wxHtmlTagsModule;
+class WXDLLIMPEXP_HTML wxHtmlWindow;
+class WXDLLIMPEXP_HTML wxHtmlWinParser;
+class WXDLLIMPEXP_HTML wxHtmlWinTagHandler;
+class WXDLLIMPEXP_HTML wxHtmlTagsModule;
//--------------------------------------------------------------------------------
// wxHtmlWinParser
// wxHtmlWindow. It uses special wxHtmlWinTagHandler.
//--------------------------------------------------------------------------------
-class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser
+class WXDLLIMPEXP_HTML wxHtmlWinParser : public wxHtmlParser
{
+ DECLARE_ABSTRACT_CLASS(wxHtmlWinParser)
friend class wxHtmlWindow;
public:
// returns associated wxWindow
wxHtmlWindow *GetWindow() {return m_Window;}
- // sets fonts to be used when displaying HTML page.
- void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes);
+ // 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);
const wxHtmlLinkInfo& GetLink() const { return m_Link; }
void SetLink(const wxHtmlLinkInfo& link);
+#if !wxUSE_UNICODE
void SetInputEncoding(wxFontEncoding enc);
wxFontEncoding GetInputEncoding() const { return m_InputEnc; }
wxFontEncoding GetOutputEncoding() const { return m_OutputEnc; }
wxEncodingConverter *GetEncodingConverter() const { return m_EncConv; }
+#endif
// creates font depending on m_Font* members.
virtual wxFont* CreateCurrentFont();
// This list is used to initialize m_Handlers member.
wxHtmlContainerCell *m_Container;
- // actual container. See Open/CloseContainer for details.
+ // current container. See Open/CloseContainer for details.
int m_FontBold, m_FontItalic, m_FontUnderlined, m_FontFixed; // this is not TRUE,FALSE but 1,0, we need it for indexing
int m_FontSize; /* -2 to +4, 0 is default */
wxFont* m_FontsTable[2][2][2][2][7];
wxString m_FontsFacesTable[2][2][2][2][7];
+#if !wxUSE_UNICODE
wxFontEncoding m_FontsEncTable[2][2][2][2][7];
+#endif
// table of loaded fonts. 1st four indexes are 0 or 1, depending on on/off
// state of these flags (from left to right):
// [bold][italic][underlined][fixed_size]
wxString m_FontFaceFixed, m_FontFaceNormal;
// html font sizes and faces of fixed and proportional fonts
+#if !wxUSE_UNICODE
wxFontEncoding m_InputEnc, m_OutputEnc;
// I/O font encodings
wxEncodingConverter *m_EncConv;
+#endif
+
+ wxHtmlWordCell *m_lastWordCell;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlWinParser)
};
-//--------------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
// wxHtmlWinTagHandler
// This is basicly wxHtmlTagHandler except
// it is extended with protected member m_Parser pointing to
// the wxHtmlWinParser object
-//--------------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxHtmlWinTagHandler : public wxHtmlTagHandler
+class WXDLLIMPEXP_HTML wxHtmlWinTagHandler : public wxHtmlTagHandler
{
DECLARE_ABSTRACT_CLASS(wxHtmlWinTagHandler)
protected:
wxHtmlWinParser *m_WParser; // same as m_Parser, but overcasted
+
+ DECLARE_NO_COPY_CLASS(wxHtmlWinTagHandler)
};
-//--------------------------------------------------------------------------------
+//----------------------------------------------------------------------------
// wxHtmlTagsModule
// This is basic of dynamic tag handlers binding.
// The class provides methods for filling parser's handlers
// hash table.
// (See documentation for details)
-//--------------------------------------------------------------------------------
+//----------------------------------------------------------------------------
-class WXDLLEXPORT wxHtmlTagsModule : public wxModule
+class WXDLLIMPEXP_HTML wxHtmlTagsModule : public wxModule
{
DECLARE_DYNAMIC_CLASS(wxHtmlTagsModule)
virtual void OnExit();
// This is called by wxHtmlWinParser.
- // The method must simply call parser->AddTagHandler(new <handler_class_name>);
- // for each handler
+ // The method must simply call parser->AddTagHandler(new
+ // <handler_class_name>); for each handler
virtual void FillHandlersTable(wxHtmlWinParser * WXUNUSED(parser)) { }
};
#endif
#endif // _WX_WINPARS_H_
-
-
-
-
-