text: /////////////////////////////////////////////////////////////////////////////
  // Name:        wx/fontdata.h
  // Author:      Julian Smart
  // Copyright:   (c) Julian Smart
  // Licence:     wxWindows licence
  /////////////////////////////////////////////////////////////////////////////
  #ifndef _WX_FONTDATA_H_
  #  define _WX_FONTDATA_H_
  #  include "wx/font.h"
  #  include "wx/colour.h"
  #  include "wx/encinfo.h"
  // Possible values for RestrictSelection() flags.
  enum
  {
    wxFONTRESTRICT_NONE = 0,
    wxFONTRESTRICT_SCALABLE = 1 << 0,
    wxFONTRESTRICT_FIXEDPITCH = 1 << 1
  };
  class WXDLLIMPEXP_CORE wxFontData : public wxObject
  {
  public:
    wxFontData();
    virtual ~wxFontData();
    wxFontData(const wxFontData& data);
    wxFontData& operator=(const wxFontData& data);
    void SetAllowSymbols(bool flag)
    {
      m_allowSymbols = flag;
    }
    bool GetAllowSymbols() const
    {
      return m_allowSymbols;
    }
    void SetColour(const wxColour& colour)
    {
      m_fontColour = colour;
    }
    const wxColour& GetColour() const
    {
      return m_fontColour;
    }
    void SetShowHelp(bool flag)
    {
      m_showHelp = flag;
    }
    bool GetShowHelp() const
    {
      return m_showHelp;
    }
    void EnableEffects(bool flag)
    {
      m_enableEffects = flag;
    }
    bool GetEnableEffects() const
    {
      return m_enableEffects;
    }
    void RestrictSelection(int flags)
    {
      m_restrictSelection = flags;
    }
    int GetRestrictSelection() const
    {
      return m_restrictSelection;
    }
    void SetInitialFont(const wxFont& font)
    {
      m_initialFont = font;
    }
    wxFont GetInitialFont() const
    {
      return m_initialFont;
    }
    void SetChosenFont(const wxFont& font)
    {
      m_chosenFont = font;
    }
    wxFont GetChosenFont() const
    {
      return m_chosenFont;
    }
    void SetRange(int minRange, int maxRange)
    {
      m_minSize = minRange;
      m_maxSize = maxRange;
    }
      // encoding info is split into 2 parts: the logical wxWin encoding
      // (wxFontEncoding) and a structure containing the native parameters for
      // it (wxNativeEncodingInfo)
    wxFontEncoding GetEncoding() const
    {
      return m_encoding;
    }
    void SetEncoding(wxFontEncoding encoding)
    {
      m_encoding = encoding;
    }
    wxNativeEncodingInfo& EncodingInfo()
    {
      return m_encodingInfo;
    }
      // public for backwards compatibility only: don't use directly
    wxColour m_fontColour;
    bool m_showHelp;
    bool m_allowSymbols;
    bool m_enableEffects;
    wxFont m_initialFont;
    wxFont m_chosenFont;
    int m_minSize;
    int m_maxSize;
  private:
    wxFontEncoding m_encoding;
    wxNativeEncodingInfo m_encodingInfo;
    int m_restrictSelection;
    wxDECLARE_DYNAMIC_CLASS(wxFontData);
  };
  #endif
  