X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..afbf46a31740bb05af12a8ba0069345a2c9aba46:/include/wx/os2/font.h diff --git a/include/wx/os2/font.h b/include/wx/os2/font.h index 11792862cf..39be035dfc 100644 --- a/include/wx/os2/font.h +++ b/include/wx/os2/font.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: font.h +// Name: wx/os2/font.h // Purpose: wxFont class // Author: David Webster // Modified by: @@ -15,47 +15,80 @@ #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& 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); + } + + wxFont(int pointSize, + wxFontFamily family, + int flags = wxFONTFLAG_DEFAULT, + const wxString& face = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT) + { + Create(pointSize, family, + GetStyleFromFlags(flags), + GetWeightFromFlags(flags), + GetUnderlinedFromFlags(flags), + face, encoding); } + 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 ) { - Init(); - (void)Create( rInfo ,hFont ); @@ -63,45 +96,33 @@ public: 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(); - // - // 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 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(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); + wxDECLARE_COMMON_FONT_METHODS(); + // // For internal use only! // @@ -115,19 +136,18 @@ public: // virtual bool IsFree(void) const; virtual bool RealizeResource(void); - virtual WXHANDLE GetResourceHandle(void); - virtual bool FreeResource(bool bForce = FALSE); + virtual WXHANDLE GetResourceHandle(void) const; + 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)