]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/font.h
Split wxWebHistoryItem headers out into separate files for each backend. This will...
[wxWidgets.git] / include / wx / os2 / font.h
index 314d445d7bd9ce74f2456d116bbe04ea71fcc050..7060847d66b2f536e3f1797b9a1ede4d48c67bd5 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        font.h
+// Name:        wx/os2/font.h
 // Purpose:     wxFont class
 // Author:      David Webster
 // Modified by:
 // Purpose:     wxFont class
 // Author:      David Webster
 // Modified by:
 #include "wx/gdiobj.h"
 #include "wx/os2/private.h"
 
 #include "wx/gdiobj.h"
 #include "wx/os2/private.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
+WXDLLIMPEXP_DATA_CORE(extern const wxChar*) wxEmptyString;
 
 // ----------------------------------------------------------------------------
 // wxFont
 // ----------------------------------------------------------------------------
 
 
 // ----------------------------------------------------------------------------
 // wxFont
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFont : public wxFontBase
+class WXDLLIMPEXP_CORE wxFont : public wxFontBase
 {
 public:
     // ctors and such
 {
 public:
     // ctors and such
-    wxFont() { Init(); }
-    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
-          )
+    wxFont() { }
+
+#if FUTURE_WXWIN_COMPATIBILITY_3_0
+    wxFont(int size,
+           int family,
+           int style,
+           int weight,
+           bool underlined = false,
+           const wxString& face = wxEmptyString,
+           wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
     {
     {
-        Init();
-
-        (void)Create( nSize
-                     ,nFamily
-                     ,nStyle
-                     ,nWeight
-                     ,bUnderlined
-                     ,rsFace
-                     ,vEncoding
-                    );
+        (void)Create(size, (wxFontFamily)family, (wxFontStyle)style, (wxFontWeight)weight, underlined, face, encoding);
+    }
+#endif
+
+    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,
+                wxFontFamily family,
+                wxFontStyle style,
+                wxFontWeight weight,
+                bool underlined = false,
+                const wxString& face = wxEmptyString,
+                wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
+
     wxFont( const wxNativeFontInfo& rInfo
            ,WXHFONT                 hFont = 0
           )
 
     {
     wxFont( const wxNativeFontInfo& rInfo
            ,WXHFONT                 hFont = 0
           )
 
     {
-        Init();
-
         (void)Create( rInfo
                      ,hFont
                     );
         (void)Create( rInfo
                      ,hFont
                     );
@@ -63,45 +83,33 @@ public:
 
     wxFont(const wxString& rsFontDesc);
 
 
     wxFont(const wxString& rsFontDesc);
 
-    bool Create( int             nSize
-                ,int             nFamily
-                ,int             nStyle
-                ,int             nWeight
-                ,bool            bUnderlined = false
-                ,const wxString& rsFace = wxEmptyString
-                ,wxFontEncoding  vEncoding = wxFONTENCODING_DEFAULT
-               );
     bool Create( const wxNativeFontInfo& rInfo
                 ,WXHFONT                 hFont = 0
                );
 
     virtual ~wxFont();
 
     bool Create( const wxNativeFontInfo& rInfo
                 ,WXHFONT                 hFont = 0
                );
 
     virtual ~wxFont();
 
-    //
-    // Assignment
-    //
-    wxFont& operator=(const wxFont& rFont);
-
     //
     // Implement base class pure virtuals
     //
     virtual int               GetPointSize(void) const;
     //
     // 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 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 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(int nFamily);
-    virtual void SetStyle(int nStyle);
-    virtual void SetWeight(int nWeight);
-    virtual void SetFaceName(const wxString& rsFaceName);
+    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);
 
     virtual void SetUnderlined(bool bUnderlined);
     virtual void SetEncoding(wxFontEncoding vEncoding);
 
+    wxDECLARE_COMMON_FONT_METHODS();
+
     //
     // For internal use only!
     //
     //
     // For internal use only!
     //
@@ -115,19 +123,18 @@ public:
     //
     virtual bool     IsFree(void) const;
     virtual bool     RealizeResource(void);
     //
     virtual bool     IsFree(void) const;
     virtual bool     RealizeResource(void);
-    virtual WXHANDLE GetResourceHandle(void);
+    virtual WXHANDLE GetResourceHandle(void) const;
     virtual bool     FreeResource(bool bForce = false);
 
     WXHFONT GetHFONT(void) const;
 
 protected:
     virtual void DoSetNativeFontInfo(const wxNativeFontInfo& rInfo);
     virtual bool     FreeResource(bool bForce = false);
 
     WXHFONT GetHFONT(void) const;
 
 protected:
     virtual void DoSetNativeFontInfo(const wxNativeFontInfo& rInfo);
+    virtual wxFontFamily DoGetFamily() const;
 
 
-    //
-    // Common part of all ctors
-    //
-    void Init(void);
-    void Unshare(void);
+    // implement wxObject virtuals which are used by AllocExclusive()
+    virtual wxGDIRefData *CreateGDIRefData() const;
+    virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
 
 private:
     DECLARE_DYNAMIC_CLASS(wxFont)
 
 private:
     DECLARE_DYNAMIC_CLASS(wxFont)