font.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/dfb/font.h
  3. // Author: Vaclav Slavik
  4. // Purpose: wxFont declaration
  5. // Created: 2006-08-08
  6. // Copyright: (c) 2006 REA Elektronik GmbH
  7. // Licence: wxWindows licence
  8. /////////////////////////////////////////////////////////////////////////////
  9. #ifndef _WX_DFB_FONT_H_
  10. #define _WX_DFB_FONT_H_
  11. #include "wx/dfb/dfbptr.h"
  12. wxDFB_DECLARE_INTERFACE(IDirectFBFont);
  13. // ----------------------------------------------------------------------------
  14. // wxFont
  15. // ----------------------------------------------------------------------------
  16. class WXDLLIMPEXP_CORE wxFont : public wxFontBase
  17. {
  18. public:
  19. wxFont() {}
  20. wxFont(const wxFontInfo& info)
  21. {
  22. Create(info.GetPointSize(),
  23. info.GetFamily(),
  24. info.GetStyle(),
  25. info.GetWeight(),
  26. info.IsUnderlined(),
  27. info.GetFaceName(),
  28. info.GetEncoding());
  29. if ( info.IsUsingSizeInPixels() )
  30. SetPixelSize(info.GetPixelSize());
  31. }
  32. wxFont(const wxNativeFontInfo& info) { Create(info); }
  33. #if FUTURE_WXWIN_COMPATIBILITY_3_0
  34. wxFont(int size,
  35. int family,
  36. int style,
  37. int weight,
  38. bool underlined = false,
  39. const wxString& face = wxEmptyString,
  40. wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
  41. {
  42. (void)Create(size, (wxFontFamily)family, (wxFontStyle)style, (wxFontWeight)weight, underlined, face, encoding);
  43. }
  44. #endif
  45. wxFont(int size,
  46. wxFontFamily family,
  47. wxFontStyle style,
  48. wxFontWeight weight,
  49. bool underlined = false,
  50. const wxString& face = wxEmptyString,
  51. wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
  52. {
  53. Create(size, family, style, weight, underlined, face, encoding);
  54. }
  55. wxFont(const wxSize& pixelSize,
  56. wxFontFamily family,
  57. wxFontStyle style,
  58. wxFontWeight weight,
  59. bool underlined = false,
  60. const wxString& face = wxEmptyString,
  61. wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
  62. {
  63. Create(10, family, style, weight, underlined, face, encoding);
  64. SetPixelSize(pixelSize);
  65. }
  66. bool Create(int size,
  67. wxFontFamily family,
  68. wxFontStyle style,
  69. wxFontWeight weight,
  70. bool underlined = false,
  71. const wxString& face = wxEmptyString,
  72. wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
  73. bool Create(const wxNativeFontInfo& fontinfo);
  74. // implement base class pure virtuals
  75. virtual int GetPointSize() const;
  76. virtual wxFontStyle GetStyle() const;
  77. virtual wxFontWeight GetWeight() const;
  78. virtual wxString GetFaceName() const;
  79. virtual bool GetUnderlined() const;
  80. virtual wxFontEncoding GetEncoding() const;
  81. virtual bool IsFixedWidth() const;
  82. virtual const wxNativeFontInfo *GetNativeFontInfo() const;
  83. virtual void SetPointSize(int pointSize);
  84. virtual void SetFamily(wxFontFamily family);
  85. virtual void SetStyle(wxFontStyle style);
  86. virtual void SetWeight(wxFontWeight weight);
  87. virtual bool SetFaceName(const wxString& faceName);
  88. virtual void SetUnderlined(bool underlined);
  89. virtual void SetEncoding(wxFontEncoding encoding);
  90. wxDECLARE_COMMON_FONT_METHODS();
  91. // implementation from now on:
  92. wxIDirectFBFontPtr GetDirectFBFont(bool antialiased) const;
  93. protected:
  94. virtual wxGDIRefData *CreateGDIRefData() const;
  95. virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
  96. virtual wxFontFamily DoGetFamily() const;
  97. private:
  98. DECLARE_DYNAMIC_CLASS(wxFont)
  99. };
  100. #endif // _WX_DFB_FONT_H_