]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/fontutil.cpp
define WM_CONTEXTMENU if the standard headers don't
[wxWidgets.git] / src / mgl / fontutil.cpp
index 3fcbc396d81d5c5077ee3816b495ab46354b21d1..7900bda0ec9d5671a962815bc4c57415cf5ac6a4 100644 (file)
@@ -4,12 +4,12 @@
 // Author:      Vaclav Slavik
 // Created:     2001/04/29
 // RCS-ID:      $Id$
 // Author:      Vaclav Slavik
 // Created:     2001/04/29
 // RCS-ID:      $Id$
-// Copyright:   (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
-// Licence:     wxWindows license
+// Copyright:   (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /////////////////////////////////////////////////////////////////////////////
 
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "fontutil.h"
 #endif
 
     #pragma implementation "fontutil.h"
 #endif
 
     #pragma hdrstop
 #endif
 
     #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
-    #include "wx/log.h"
-    #include "wx/fontutil.h"
-    #include "wx/fontmap.h"
-    #include "wx/tokenzr.h"
-    #include "wx/hash.h"
-#endif // PCH
-
+#include "wx/log.h"
+#include "wx/fontutil.h"
+#include "wx/encinfo.h"
+#include "wx/fontmap.h"
+#include "wx/tokenzr.h"
+#include "wx/hash.h"
 
 #include "wx/listimpl.cpp"
 #include "wx/sysopt.h"
 
 #include "wx/listimpl.cpp"
 #include "wx/sysopt.h"
@@ -189,8 +187,10 @@ wxMGLFontInstance::~wxMGLFontInstance()
         MGL_unloadFontInstance(m_font);
 }
     
         MGL_unloadFontInstance(m_font);
 }
     
-wxMGLFontLibrary::wxMGLFontLibrary(const wxString& filename, int type)
+wxMGLFontLibrary::wxMGLFontLibrary(const wxString& filename, int type, 
+                                   wxMGLFontFamily *parentFamily)
 {
 {
+    m_family = parentFamily;
     m_type = type;
     m_fileName = filename;
     m_refs = 0;
     m_type = type;
     m_fileName = filename;
     m_refs = 0;
@@ -245,7 +245,7 @@ wxMGLFontInstance *wxMGLFontLibrary::GetFontInstance(wxFont *font,
     {
         gs_antialiasingThreshold = 10;
 #if wxUSE_SYSTEM_OPTIONS
     {
         gs_antialiasingThreshold = 10;
 #if wxUSE_SYSTEM_OPTIONS
-        if ( wxSystemOptions::HasOption(wxT("mgl.aa-threshold") )
+        if ( wxSystemOptions::HasOption(wxT("mgl.aa-threshold")) )
             gs_antialiasingThreshold = 
                 wxSystemOptions::GetOptionInt(wxT("mgl.aa-threshold"));
         wxLogTrace("mgl_font", "AA threshold set to %i", gs_antialiasingThreshold);
             gs_antialiasingThreshold = 
                 wxSystemOptions::GetOptionInt(wxT("mgl.aa-threshold"));
         wxLogTrace("mgl_font", "AA threshold set to %i", gs_antialiasingThreshold);
@@ -299,25 +299,25 @@ wxMGLFontFamily::wxMGLFontFamily(const font_info_t *info)
         m_fontLibs[wxFONTFACE_REGULAR] = NULL;
     else
         m_fontLibs[wxFONTFACE_REGULAR] = 
         m_fontLibs[wxFONTFACE_REGULAR] = NULL;
     else
         m_fontLibs[wxFONTFACE_REGULAR] = 
-            new wxMGLFontLibrary(info->regularFace, wxFONTFACE_REGULAR);
+            new wxMGLFontLibrary(info->regularFace, wxFONTFACE_REGULAR, this);
     
     if ( info->italicFace[0] == '\0' )
         m_fontLibs[wxFONTFACE_ITALIC] = NULL;
     else
         m_fontLibs[wxFONTFACE_ITALIC] = 
     
     if ( info->italicFace[0] == '\0' )
         m_fontLibs[wxFONTFACE_ITALIC] = NULL;
     else
         m_fontLibs[wxFONTFACE_ITALIC] = 
-            new wxMGLFontLibrary(info->italicFace, wxFONTFACE_ITALIC);
+            new wxMGLFontLibrary(info->italicFace, wxFONTFACE_ITALIC, this);
     
     if ( info->boldFace[0] == '\0' )
         m_fontLibs[wxFONTFACE_BOLD] = NULL;
     else
         m_fontLibs[wxFONTFACE_BOLD] = 
     
     if ( info->boldFace[0] == '\0' )
         m_fontLibs[wxFONTFACE_BOLD] = NULL;
     else
         m_fontLibs[wxFONTFACE_BOLD] = 
-            new wxMGLFontLibrary(info->boldFace, wxFONTFACE_BOLD);
+            new wxMGLFontLibrary(info->boldFace, wxFONTFACE_BOLD, this);
     
     if ( info->boldItalicFace[0] == '\0' )
         m_fontLibs[wxFONTFACE_BOLD_ITALIC] = NULL;
     else
         m_fontLibs[wxFONTFACE_BOLD_ITALIC] = 
     
     if ( info->boldItalicFace[0] == '\0' )
         m_fontLibs[wxFONTFACE_BOLD_ITALIC] = NULL;
     else
         m_fontLibs[wxFONTFACE_BOLD_ITALIC] = 
-            new wxMGLFontLibrary(info->boldItalicFace, wxFONTFACE_BOLD_ITALIC);
+            new wxMGLFontLibrary(info->boldItalicFace, wxFONTFACE_BOLD_ITALIC, this);
             
     wxLogTrace("mgl_font", "new family '%s' (r=%s, i=%s, b=%s, bi=%s)\n",
                info->familyName, info->regularFace, info->italicFace, 
             
     wxLogTrace("mgl_font", "new family '%s' (r=%s, i=%s, b=%s, bi=%s)\n",
                info->familyName, info->regularFace, info->italicFace, 
@@ -414,7 +414,7 @@ wxMGLFontLibrary *wxFontsManager::GetFontLibrary(wxFont *font)
     return family->GetLibrary(type);
 }
 
     return family->GetLibrary(type);
 }
 
-static ibool enum_callback(const font_info_t *info, void *cookie)
+static ibool MGLAPI enum_callback(const font_info_t *info, void *cookie)
 {
     wxFontsManager *db = (wxFontsManager*)cookie;
     db->AddFamily(info);
 {
     wxFontsManager *db = (wxFontsManager*)cookie;
     db->AddFamily(info);