]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_fonts.cpp
added DoPrepareDC()
[wxWidgets.git] / src / html / m_fonts.cpp
index 61e59f86c3c9c9339da99c3dc0c0e86076345e3c..1a0aefdd18703c90067bbdd134f0adf69f209662 100644 (file)
@@ -4,10 +4,10 @@
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vaclav Slavik
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vaclav Slavik
-// Licence:     wxWindows Licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation
 #endif
 
 #pragma implementation
 #endif
 
@@ -16,7 +16,7 @@
 #include "wx/defs.h"
 #if wxUSE_HTML && wxUSE_STREAMS
 
 #include "wx/defs.h"
 #if wxUSE_HTML && wxUSE_STREAMS
 
-#ifdef __BORDLANDC__
+#ifdef __BORLANDC__
 #pragma hdrstop
 #endif
 
 #pragma hdrstop
 #endif
 
 FORCE_LINK_ME(m_fonts)
 
 
 FORCE_LINK_ME(m_fonts)
 
 
-TAG_HANDLER_BEGIN(FONT, "FONT")
+TAG_HANDLER_BEGIN(FONT, "FONT" )
 
     TAG_HANDLER_VARS
 
     TAG_HANDLER_VARS
-        wxSortedArrayString m_Faces;
+        wxArrayString m_Faces;
+
+    TAG_HANDLER_CONSTR(FONT) { }
 
     TAG_HANDLER_PROC(tag)
     {
 
     TAG_HANDLER_PROC(tag)
     {
@@ -73,14 +75,16 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
             {
                 wxFontEnumerator enu;
                 enu.EnumerateFacenames();
             {
                 wxFontEnumerator enu;
                 enu.EnumerateFacenames();
-                m_Faces = *enu.GetFacenames();
+                const wxArrayString *faces = enu.GetFacenames();
+                if ( faces )
+                    m_Faces = *faces;
             }
             wxStringTokenizer tk(tag.GetParam(wxT("FACE")), wxT(","));
             int index;
 
             while (tk.HasMoreTokens())
             {
             }
             wxStringTokenizer tk(tag.GetParam(wxT("FACE")), wxT(","));
             int index;
 
             while (tk.HasMoreTokens())
             {
-                if ((index = m_Faces.Index(tk.GetNextToken())) != wxNOT_FOUND)
+                if ((index = m_Faces.Index(tk.GetNextToken(), FALSE)) != wxNOT_FOUND)
                 {
                     m_WParser->SetFontFace(m_Faces[index]);
                     m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
                 {
                     m_WParser->SetFontFace(m_Faces[index]);
                     m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
@@ -114,6 +118,8 @@ TAG_HANDLER_END(FONT)
 
 TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE")
 
 
 TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE")
 
+    TAG_HANDLER_CONSTR(FACES_U) { }
+
     TAG_HANDLER_PROC(tag)
     {
         int underlined = m_WParser->GetFontUnderlined();
     TAG_HANDLER_PROC(tag)
     {
         int underlined = m_WParser->GetFontUnderlined();
@@ -136,6 +142,7 @@ TAG_HANDLER_END(FACES_U)
 
 
 TAG_HANDLER_BEGIN(FACES_B, "B,STRONG")
 
 
 TAG_HANDLER_BEGIN(FACES_B, "B,STRONG")
+    TAG_HANDLER_CONSTR(FACES_B) { }
 
     TAG_HANDLER_PROC(tag)
     {
 
     TAG_HANDLER_PROC(tag)
     {
@@ -159,6 +166,7 @@ TAG_HANDLER_END(FACES_B)
 
 
 TAG_HANDLER_BEGIN(FACES_I, "I,EM,CITE,ADDRESS")
 
 
 TAG_HANDLER_BEGIN(FACES_I, "I,EM,CITE,ADDRESS")
+    TAG_HANDLER_CONSTR(FACES_I) { }
 
     TAG_HANDLER_PROC(tag)
     {
 
     TAG_HANDLER_PROC(tag)
     {
@@ -182,6 +190,7 @@ TAG_HANDLER_END(FACES_I)
 
 
 TAG_HANDLER_BEGIN(FACES_TT, "TT,CODE,KBD,SAMP")
 
 
 TAG_HANDLER_BEGIN(FACES_TT, "TT,CODE,KBD,SAMP")
+    TAG_HANDLER_CONSTR(FACES_TT) { }
 
     TAG_HANDLER_PROC(tag)
     {
 
     TAG_HANDLER_PROC(tag)
     {
@@ -206,6 +215,7 @@ TAG_HANDLER_END(FACES_TT)
 
 
 TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
 
 
 TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
+    TAG_HANDLER_CONSTR(Hx) { }
 
     TAG_HANDLER_PROC(tag)
     {
 
     TAG_HANDLER_PROC(tag)
     {
@@ -246,7 +256,7 @@ TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
         }
 
         c = m_WParser->GetContainer();
         }
 
         c = m_WParser->GetContainer();
-        if (c->GetFirstCell())
+        if (c->GetFirstChild())
         {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
@@ -282,6 +292,7 @@ TAG_HANDLER_END(Hx)
 
 
 TAG_HANDLER_BEGIN(BIGSMALL, "BIG,SMALL")
 
 
 TAG_HANDLER_BEGIN(BIGSMALL, "BIG,SMALL")
+    TAG_HANDLER_CONSTR(BIGSMALL) { }
 
     TAG_HANDLER_PROC(tag)
     {
 
     TAG_HANDLER_PROC(tag)
     {