]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/font.h
MicroWindows tweaks
[wxWidgets.git] / include / wx / mac / font.h
index f7596f241b292a355094e08d4f1d23fa8e3a79dd..e65149037e90a6ac88b85ed0d2402464ea824aa8 100644 (file)
     #pragma interface "font.h"
 #endif
 
-// ----------------------------------------------------------------------------
-// public functions
-// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxFontRefData: public wxGDIRefData
+{
+    friend class WXDLLEXPORT wxFont;
+public:
+    wxFontRefData()
+    {
+        Init(10, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE,
+             "Geneva", wxFONTENCODING_DEFAULT);
+    }
 
-// convert wxFontEncoding into one of Windows XXX_CHARSET constants (fill exact
-// parameter if it's not NULL with TRUE if encoding is realyl supported under
-// Windows and FALSE if not and we just chose something close to it)
-extern int wxCharsetFromEncoding(wxFontEncoding encoding, bool *exact = NULL);
+    wxFontRefData(const wxFontRefData& data)
+    {
+        Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight,
+             data.m_underlined, data.m_faceName, data.m_encoding);
+
+               m_macFontNum = data.m_macFontNum ;
+               m_macFontSize = data.m_macFontSize;
+               m_macFontStyle = data.m_macFontStyle;
+               m_fontId = data.m_fontId;
+    }
+
+    wxFontRefData(int size,
+                  int family,
+                  int style,
+                  int weight,
+                  bool underlined,
+                  const wxString& faceName,
+                  wxFontEncoding encoding)
+    {
+        Init(size, family, style, weight, underlined, faceName, encoding);
+    }
 
+    virtual ~wxFontRefData();
+protected:
+    // common part of all ctors
+    void Init(int size,
+              int family,
+              int style,
+              int weight,
+              bool underlined,
+              const wxString& faceName,
+              wxFontEncoding encoding);
+
+    // font characterstics
+    int           m_fontId;
+    int           m_pointSize;
+    int           m_family;
+    int           m_style;
+    int           m_weight;
+    bool          m_underlined;
+    wxString      m_faceName;
+    wxFontEncoding m_encoding;
+
+public :
+       short           m_macFontNum ;
+       short           m_macFontSize ;
+       Style           m_macFontStyle ;
+public :
+       void            MacFindFont() ;
+};
 // ----------------------------------------------------------------------------
 // wxFont
 // ----------------------------------------------------------------------------
@@ -49,6 +100,15 @@ public:
         (void)Create(size, family, style, weight, underlined, face, encoding);
     }
 
+    wxFont(const wxNativeFontInfo& info)
+    {
+        Init();
+
+        (void)Create(info);
+    }
+
+    wxFont(const wxString& fontDesc);
+
     bool Create(int size,
                 int family,
                 int style,
@@ -57,6 +117,8 @@ public:
                 const wxString& face = wxEmptyString,
                 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 
+    bool Create(const wxNativeFontInfo& info);
+
     virtual ~wxFont();
 
     // assignment
@@ -82,15 +144,7 @@ public:
     // implementation only from now on
     // -------------------------------
 
-    int GetFontId() const;
-    virtual bool IsFree() const;
     virtual bool RealizeResource();
-    virtual WXHANDLE GetResourceHandle();
-    virtual bool FreeResource(bool force = FALSE);
-    /*
-       virtual bool UseResource();
-       virtual bool ReleaseResource();
-     */
 
 protected:
     // common part of all ctors