]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/font.h
moved MGL initialization to earlier stage (crashes otherwise...) and implemented...
[wxWidgets.git] / include / wx / os2 / font.h
index d645c30e389f713fe67fc58b04c3a5ff80e148dd..fc8c8e55560eb7f1915173d7d7be4773759933fe 100644 (file)
@@ -13,6 +13,8 @@
 #define _WX_FONT_H_
 
 #include "wx/gdiobj.h"
+#include "wx/os2/private.h"
+#include "wx/fontutil.h"
 
 WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
 
@@ -25,73 +27,98 @@ class WXDLLEXPORT wxFont : public wxFontBase
 public:
     // ctors and such
     wxFont() { Init(); }
-    wxFont(const wxFont& font) { Init(); Ref(font); }
-
-    wxFont(int size,
-           int family,
-           int style,
-           int weight,
-           bool underlined = FALSE,
-           const wxString& face = wxEmptyString,
-           wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
+    wxFont(const wxFont& rFont) { Init(); Ref(rFont); }
+
+    wxFont( int             nSize
+           ,int             nFamily
+           ,int             nStyle
+           ,int             nWeight
+           ,bool            bUnderlined = FALSE
+           ,const wxString& rsFace = wxEmptyString
+           ,wxFontEncoding  vEncoding = wxFONTENCODING_DEFAULT
+          )
     {
         Init();
 
-        (void)Create(size, family, style, weight, underlined, face, encoding);
+        (void)Create(nSize, nFamily, nStyle, nWeight, bUnderlined, rsFace, vEncoding);
     }
 
-    bool Create(int size,
-                int family,
-                int style,
-                int weight,
-                bool underlined = FALSE,
-                const wxString& face = wxEmptyString,
-                wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
+    wxFont(const wxNativeFontInfo& rInfo)
+    {
+        Init();
 
-    virtual ~wxFont();
+        (void)Create( rInfo.pointSize
+                     ,rInfo.family
+                     ,rInfo.style
+                     ,rInfo.weight
+                     ,rInfo.underlined
+                     ,rInfo.faceName
+                     ,rInfo.encoding
+                    );
+    }
 
-    // assignment
-    wxFont& operator=(const wxFont& font);
-
-    // implement base class pure virtuals
-    virtual int GetPointSize() const;
-    virtual int GetFamily() const;
-    virtual int GetStyle() const;
-    virtual int GetWeight() const;
-    virtual bool GetUnderlined() const;
-    virtual wxString GetFaceName() const;
-    virtual wxFontEncoding GetEncoding() const;
-
-    virtual void SetPointSize(int pointSize);
-    virtual void SetFamily(int family);
-    virtual void SetStyle(int style);
-    virtual void SetWeight(int weight);
-    virtual void SetFaceName(const wxString& faceName);
-    virtual void SetUnderlined(bool underlined);
-    virtual void SetEncoding(wxFontEncoding encoding);
-
-    // implementation only from now on
-    // -------------------------------
+    bool Create( int             nSize
+                ,int             nFamily
+                ,int             nStyle
+                ,int             nWeight
+                ,bool            bUnderlined = FALSE
+                ,const wxString& rsFace = wxEmptyString
+                ,wxFontEncoding  vEncoding = wxFONTENCODING_DEFAULT
+               );
 
-    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();
-     */
+    virtual ~wxFont();
 
+    //
+    // Assignment
+    //
+    wxFont& operator=(const wxFont& rFont);
+
+    //
+    // Implement base class pure virtuals
+    //
+    virtual int            GetPointSize(void) const;
+    virtual int            GetFamily(void) const;
+    virtual int            GetStyle(void) const;
+    virtual int            GetWeight(void) const;
+    virtual bool           GetUnderlined(void) const;
+    virtual wxString       GetFaceName(void) const;
+    virtual wxFontEncoding GetEncoding(void) const;
+    virtual HPS            GetPS(void) const;
+
+    virtual void SetPointSize(int nPointSize);
+    virtual void SetFamily(int nFamily);
+    virtual void SetStyle(int nStyle);
+    virtual void SetWeight(int nWeight);
+    virtual void SetFaceName(const wxString& rsFaceName);
+    virtual void SetUnderlined(bool bUnderlined);
+    virtual void SetEncoding(wxFontEncoding vEncoding);
+    virtual void SetPS(HPS hPS);
+    virtual void SetFM( PFONTMETRICS pFM
+                       ,int          nNumFonts
+                      );
+
+    //
+    // Implementation only from now on
+    // -------------------------------
+    //
+    int              GetFontId(void) const;
+    virtual bool     IsFree(void) const;
+    virtual bool     RealizeResource(void);
+    virtual WXHANDLE GetResourceHandle(void);
+    virtual bool     FreeResource(bool bForce = FALSE);
+
+    WXHFONT GetHFONT(void) const;
 protected:
-    // common part of all ctors
-    void Init();
-
-    void Unshare();
+    //
+    // Common part of all ctors
+    //
+    void Init(void);
+    void Unshare(void);
 
 private:
+    void OS2SelectMatchingFontByName(void);
+
     DECLARE_DYNAMIC_CLASS(wxFont)
-};
+}; // end of wxFont
 
-#endif
-    // _WX_FONT_H_
+#endif // _WX_FONT_H_