]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/font.h
Add wxWebView backend wxUSE_ macros
[wxWidgets.git] / include / wx / os2 / font.h
index d645c30e389f713fe67fc58b04c3a5ff80e148dd..7060847d66b2f536e3f1797b9a1ede4d48c67bd5 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        font.h
+// Name:        wx/os2/font.h
 // Purpose:     wxFont class
 // Author:      David Webster
 // Modified by:
 #define _WX_FONT_H_
 
 #include "wx/gdiobj.h"
+#include "wx/os2/private.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
+WXDLLIMPEXP_DATA_CORE(extern const wxChar*) wxEmptyString;
 
 // ----------------------------------------------------------------------------
 // wxFont
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFont : public wxFontBase
+class WXDLLIMPEXP_CORE wxFont : public wxFontBase
 {
 public:
     // ctors and such
-    wxFont() { Init(); }
-    wxFont(const wxFont& font) { Init(); Ref(font); }
+    wxFont() { }
 
+#if FUTURE_WXWIN_COMPATIBILITY_3_0
     wxFont(int size,
            int family,
            int style,
            int weight,
-           bool underlined = FALSE,
+           bool underlined = false,
            const wxString& face = wxEmptyString,
            wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
     {
-        Init();
+        (void)Create(size, (wxFontFamily)family, (wxFontStyle)style, (wxFontWeight)weight, underlined, face, encoding);
+    }
+#endif
 
-        (void)Create(size, family, style, weight, underlined, face, encoding);
+    wxFont(int size,
+           wxFontFamily family,
+           wxFontStyle style,
+           wxFontWeight weight,
+           bool underlined = false,
+           const wxString& face = wxEmptyString,
+           wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
+    {
+        Create(size, family, style, weight, underlined, face, encoding);
+    }
+
+    wxFont(const wxSize& pixelSize,
+           wxFontFamily family,
+           wxFontStyle style,
+           wxFontWeight weight,
+           bool underlined = false,
+           const wxString& face = wxEmptyString,
+           wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
+    {
+        Create(10, family, style, weight, underlined, face, encoding);
+        SetPixelSize(pixelSize);
     }
 
     bool Create(int size,
-                int family,
-                int style,
-                int weight,
-                bool underlined = FALSE,
+                wxFontFamily family,
+                wxFontStyle style,
+                wxFontWeight weight,
+                bool underlined = false,
                 const wxString& face = wxEmptyString,
                 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 
+    wxFont( const wxNativeFontInfo& rInfo
+           ,WXHFONT                 hFont = 0
+          )
+
+    {
+        (void)Create( rInfo
+                     ,hFont
+                    );
+    }
+
+    wxFont(const wxString& rsFontDesc);
+
+    bool Create( const wxNativeFontInfo& rInfo
+                ,WXHFONT                 hFont = 0
+               );
+
     virtual ~wxFont();
 
-    // 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
+    //
+    // Implement base class pure virtuals
+    //
+    virtual int               GetPointSize(void) const;
+    virtual wxFontStyle GetStyle() const;
+    virtual wxFontWeight GetWeight() const;
+    virtual bool              GetUnderlined(void) const;
+    virtual wxString          GetFaceName(void) const;
+    virtual wxFontEncoding    GetEncoding(void) const;
+    virtual const wxNativeFontInfo* GetNativeFontInfo() const;
+
+    virtual void SetPointSize(int nPointSize);
+    virtual void SetFamily(wxFontFamily family);
+    virtual void SetStyle(wxFontStyle style);
+    virtual void SetWeight(wxFontWeight weight);
+    virtual bool SetFaceName(const wxString& rsFaceName);
+    virtual void SetUnderlined(bool bUnderlined);
+    virtual void SetEncoding(wxFontEncoding vEncoding);
+
+    wxDECLARE_COMMON_FONT_METHODS();
+
+    //
+    // For internal use only!
+    //
+    void SetPS(HPS hPS);
+    void SetFM( PFONTMETRICS pFM
+               ,int          nNumFonts
+              );
+    //
+    // Implementation only from now on
     // -------------------------------
+    //
+    virtual bool     IsFree(void) const;
+    virtual bool     RealizeResource(void);
+    virtual WXHANDLE GetResourceHandle(void) const;
+    virtual bool     FreeResource(bool bForce = false);
 
-    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();
-     */
+    WXHFONT GetHFONT(void) const;
 
 protected:
-    // common part of all ctors
-    void Init();
+    virtual void DoSetNativeFontInfo(const wxNativeFontInfo& rInfo);
+    virtual wxFontFamily DoGetFamily() const;
 
-    void Unshare();
+    // implement wxObject virtuals which are used by AllocExclusive()
+    virtual wxGDIRefData *CreateGDIRefData() const;
+    virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
 
 private:
     DECLARE_DYNAMIC_CLASS(wxFont)
-};
+}; // end of wxFont
 
-#endif
-    // _WX_FONT_H_
+#endif // _WX_FONT_H_