X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/21802234dfc226c369e7d48af58e6c1b7f7242a3..85ab460e7d62b52b105b3dc0bbdd36cebc14fb4b:/include/wx/os2/font.h diff --git a/include/wx/os2/font.h b/include/wx/os2/font.h index d645c30e38..08e7ade7e3 100644 --- a/include/wx/os2/font.h +++ b/include/wx/os2/font.h @@ -13,6 +13,7 @@ #define _WX_FONT_H_ #include "wx/gdiobj.h" +#include "wx/os2/private.h" WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; @@ -24,74 +25,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() { } + + wxFont( int nSize + ,int nFamily + ,int nStyle + ,int nWeight + ,bool bUnderlined = false + ,const wxString& rsFace = wxEmptyString + ,wxFontEncoding vEncoding = wxFONTENCODING_DEFAULT + ) { - Init(); + (void)Create( nSize + ,nFamily + ,nStyle + ,nWeight + ,bUnderlined + ,rsFace + ,vEncoding + ); + } + + wxFont( const wxNativeFontInfo& rInfo + ,WXHFONT hFont = 0 + ) - (void)Create(size, family, style, weight, underlined, face, encoding); + { + (void)Create( rInfo + ,hFont + ); } - bool Create(int size, - int family, - int style, - int weight, - bool underlined = FALSE, - const wxString& face = wxEmptyString, - wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + 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& 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 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 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 bool SetFaceName(const wxString& rsFaceName); + virtual void SetUnderlined(bool bUnderlined); + virtual void SetEncoding(wxFontEncoding vEncoding); + + // + // 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); + 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); - void Unshare(); + void Unshare(void); private: DECLARE_DYNAMIC_CLASS(wxFont) -}; +}; // end of wxFont -#endif - // _WX_FONT_H_ +#endif // _WX_FONT_H_