added wxFont::IsFixedWidth(), documented it and implemented for wxGTK/Motif

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-01-14 19:04:35 +00:00
parent f175912347
commit 53f6aab752
10 changed files with 133 additions and 12 deletions

View File

@@ -113,6 +113,8 @@ public:
virtual wxFontEncoding GetEncoding() const = 0;
virtual wxNativeFontInfo *GetNativeFontInfo() const;
virtual bool IsFixedWidth() const;
wxString GetNativeFontInfoDesc() const;
wxString GetNativeFontInfoUserDesc() const;

View File

@@ -31,6 +31,30 @@
#include "wx/msw/winundef.h"
#endif
#if defined(_WX_X_FONTLIKE)
// the symbolic names for the XLFD fields (with examples for their value)
enum wxXLFDField
{
wxXLFD_FOUNDRY, // adobe
wxXLFD_FAMILY, // courier, times, ...
wxXLFD_WEIGHT, // black, bold, demibold, medium, regular, light
wxXLFD_SLANT, // r/i/o (roman/italique/oblique)
wxXLFD_SETWIDTH, // condensed, expanded, ...
wxXLFD_ADDSTYLE, // whatever - usually nothing
wxXLFD_PIXELSIZE, // size in pixels
wxXLFD_POINTSIZE, // size in points
wxXLFD_RESX, // 72, 75, 100, ...
wxXLFD_RESY,
wxXLFD_SPACING, // m/p/c (monospaced/proportional/character cell)
wxXLFD_AVGWIDTH, // average width in 1/10 pixels
wxXLFD_REGISTRY, // iso8859, rawin, koi8, ...
wxXLFD_ENCODING, // 1, r, r, ...
wxXLFD_MAX
};
#endif // _WX_X_FONTLIKE
// ----------------------------------------------------------------------------
// types
// ----------------------------------------------------------------------------
@@ -45,10 +69,14 @@
// further it might make sense to make it a real class with virtual methods
struct WXDLLEXPORT wxNativeFontInfo
{
#if defined(__WXGTK__) || defined(__WXMOTIF__)
#if defined(_WX_X_FONTLIKE)
// the fonts array can't be accessed directly as we only parse the
// xFontName when needed
private:
// the components of the XLFD
wxString fontElements[14];
wxString fontElements[wxXLFD_MAX];
public:
// the full XLFD
wxString xFontName;
@@ -57,6 +85,9 @@ struct WXDLLEXPORT wxNativeFontInfo
// generate an XLFD using the fontElements
wxString GetXFontName() const;
// get the given XFLD component
wxString GetXFontComponent(wxXLFDField field) const;
#elif defined(__WXMSW__)
LOGFONT lf;
#elif defined(__WXPM__)

View File

@@ -86,6 +86,7 @@ public:
virtual bool GetUnderlined() const;
virtual wxFontEncoding GetEncoding() const;
virtual wxNativeFontInfo *GetNativeFontInfo() const;
virtual bool IsFixedWidth() const;
virtual void SetPointSize( int pointSize );
virtual void SetFamily( int family );
@@ -107,6 +108,9 @@ protected:
// common part of all ctors
void Init();
// do we have the XFLD for this font (or just wxWin description)?
inline bool HasNativeFont() const;
private:
DECLARE_DYNAMIC_CLASS(wxFont)
};

View File

@@ -86,6 +86,7 @@ public:
virtual bool GetUnderlined() const;
virtual wxFontEncoding GetEncoding() const;
virtual wxNativeFontInfo *GetNativeFontInfo() const;
virtual bool IsFixedWidth() const;
virtual void SetPointSize( int pointSize );
virtual void SetFamily( int family );
@@ -107,6 +108,9 @@ protected:
// common part of all ctors
void Init();
// do we have the XFLD for this font (or just wxWin description)?
inline bool HasNativeFont() const;
private:
DECLARE_DYNAMIC_CLASS(wxFont)
};