X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/882678ebb43804d34d20ba8781647fe136ae67d9..f1ddb476b1d90a1e24f904eb74462f5dc5165442:/interface/wx/font.h?ds=sidebyside
diff --git a/interface/wx/font.h b/interface/wx/font.h
index 193dbaae1f..6b600a95f7 100644
--- a/interface/wx/font.h
+++ b/interface/wx/font.h
@@ -97,63 +97,63 @@ enum wxFontEncoding
wxFONTENCODING_DEFAULT, // current default encoding
// ISO8859 standard defines a number of single-byte charsets
- wxFONTENCODING_ISO8859_1, // West European (Latin1)
- wxFONTENCODING_ISO8859_2, // Central and East European (Latin2)
- wxFONTENCODING_ISO8859_3, // Esperanto (Latin3)
- wxFONTENCODING_ISO8859_4, // Baltic (old) (Latin4)
- wxFONTENCODING_ISO8859_5, // Cyrillic
- wxFONTENCODING_ISO8859_6, // Arabic
- wxFONTENCODING_ISO8859_7, // Greek
- wxFONTENCODING_ISO8859_8, // Hebrew
- wxFONTENCODING_ISO8859_9, // Turkish (Latin5)
- wxFONTENCODING_ISO8859_10, // Variation of Latin4 (Latin6)
- wxFONTENCODING_ISO8859_11, // Thai
- wxFONTENCODING_ISO8859_12, // doesn't exist currently, but put it
- // here anyhow to make all ISO8859
- // consecutive numbers
- wxFONTENCODING_ISO8859_13, // Baltic (Latin7)
- wxFONTENCODING_ISO8859_14, // Latin8
- wxFONTENCODING_ISO8859_15, // Latin9 (a.k.a. Latin0, includes euro)
+ wxFONTENCODING_ISO8859_1, //!< West European (Latin1)
+ wxFONTENCODING_ISO8859_2, //!< Central and East European (Latin2)
+ wxFONTENCODING_ISO8859_3, //!< Esperanto (Latin3)
+ wxFONTENCODING_ISO8859_4, //!< Baltic (old) (Latin4)
+ wxFONTENCODING_ISO8859_5, //!< Cyrillic
+ wxFONTENCODING_ISO8859_6, //!< Arabic
+ wxFONTENCODING_ISO8859_7, //!< Greek
+ wxFONTENCODING_ISO8859_8, //!< Hebrew
+ wxFONTENCODING_ISO8859_9, //!< Turkish (Latin5)
+ wxFONTENCODING_ISO8859_10, //!< Variation of Latin4 (Latin6)
+ wxFONTENCODING_ISO8859_11, //!< Thai
+ wxFONTENCODING_ISO8859_12, //!< doesn't exist currently, but put it
+ //!< here anyhow to make all ISO8859
+ //!< consecutive numbers
+ wxFONTENCODING_ISO8859_13, //!< Baltic (Latin7)
+ wxFONTENCODING_ISO8859_14, //!< Latin8
+ wxFONTENCODING_ISO8859_15, //!< Latin9 (a.k.a. Latin0, includes euro)
wxFONTENCODING_ISO8859_MAX,
// Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
- wxFONTENCODING_KOI8, // KOI8 Russian
- wxFONTENCODING_KOI8_U, // KOI8 Ukrainian
- wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866
- wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria
+ wxFONTENCODING_KOI8, //!< KOI8 Russian
+ wxFONTENCODING_KOI8_U, //!< KOI8 Ukrainian
+ wxFONTENCODING_ALTERNATIVE, //!< same as MS-DOS CP866
+ wxFONTENCODING_BULGARIAN, //!< used under Linux in Bulgaria
// what would we do without Microsoft? They have their own encodings
// for DOS
- wxFONTENCODING_CP437, // original MS-DOS codepage
- wxFONTENCODING_CP850, // CP437 merged with Latin1
- wxFONTENCODING_CP852, // CP437 merged with Latin2
- wxFONTENCODING_CP855, // another cyrillic encoding
- wxFONTENCODING_CP866, // and another one
+ wxFONTENCODING_CP437, //!< original MS-DOS codepage
+ wxFONTENCODING_CP850, //!< CP437 merged with Latin1
+ wxFONTENCODING_CP852, //!< CP437 merged with Latin2
+ wxFONTENCODING_CP855, //!< another cyrillic encoding
+ wxFONTENCODING_CP866, //!< and another one
// and for Windows
- wxFONTENCODING_CP874, // WinThai
- wxFONTENCODING_CP932, // Japanese (shift-JIS)
- wxFONTENCODING_CP936, // Chinese simplified (GB)
- wxFONTENCODING_CP949, // Korean (Hangul charset)
- wxFONTENCODING_CP950, // Chinese (traditional - Big5)
- wxFONTENCODING_CP1250, // WinLatin2
- wxFONTENCODING_CP1251, // WinCyrillic
- wxFONTENCODING_CP1252, // WinLatin1
- wxFONTENCODING_CP1253, // WinGreek (8859-7)
- wxFONTENCODING_CP1254, // WinTurkish
- wxFONTENCODING_CP1255, // WinHebrew
- wxFONTENCODING_CP1256, // WinArabic
- wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7)
+ wxFONTENCODING_CP874, //!< WinThai
+ wxFONTENCODING_CP932, //!< Japanese (shift-JIS)
+ wxFONTENCODING_CP936, //!< Chinese simplified (GB)
+ wxFONTENCODING_CP949, //!< Korean (Hangul charset)
+ wxFONTENCODING_CP950, //!< Chinese (traditional - Big5)
+ wxFONTENCODING_CP1250, //!< WinLatin2
+ wxFONTENCODING_CP1251, //!< WinCyrillic
+ wxFONTENCODING_CP1252, //!< WinLatin1
+ wxFONTENCODING_CP1253, //!< WinGreek (8859-7)
+ wxFONTENCODING_CP1254, //!< WinTurkish
+ wxFONTENCODING_CP1255, //!< WinHebrew
+ wxFONTENCODING_CP1256, //!< WinArabic
+ wxFONTENCODING_CP1257, //!< WinBaltic (same as Latin 7)
wxFONTENCODING_CP12_MAX,
- wxFONTENCODING_UTF7, // UTF-7 Unicode encoding
- wxFONTENCODING_UTF8, // UTF-8 Unicode encoding
- wxFONTENCODING_EUC_JP, // Extended Unix Codepage for Japanese
- wxFONTENCODING_UTF16BE, // UTF-16 Big Endian Unicode encoding
- wxFONTENCODING_UTF16LE, // UTF-16 Little Endian Unicode encoding
- wxFONTENCODING_UTF32BE, // UTF-32 Big Endian Unicode encoding
+ wxFONTENCODING_UTF7, //!< UTF-7 Unicode encoding
+ wxFONTENCODING_UTF8, //!< UTF-8 Unicode encoding
+ wxFONTENCODING_EUC_JP, //!< Extended Unix Codepage for Japanese
+ wxFONTENCODING_UTF16BE, //!< UTF-16 Big Endian Unicode encoding
+ wxFONTENCODING_UTF16LE, //!< UTF-16 Little Endian Unicode encoding
+ wxFONTENCODING_UTF32BE, //!< UTF-32 Big Endian Unicode encoding
wxFONTENCODING_UTF32LE, // UTF-32 Little Endian Unicode encoding
- wxFONTENCODING_MACROMAN, // the standard mac encodings
+ wxFONTENCODING_MACROMAN, //!< the standard mac encodings
wxFONTENCODING_MACJAPANESE,
wxFONTENCODING_MACCHINESETRAD,
wxFONTENCODING_MACKOREAN,
@@ -196,37 +196,28 @@ enum wxFontEncoding
// more CJK encodings (for historical reasons some are already declared
// above)
- wxFONTENCODING_ISO2022_JP, // ISO-2022-JP JIS encoding
+ wxFONTENCODING_ISO2022_JP, //!< ISO-2022-JP JIS encoding
- wxFONTENCODING_MAX, // highest enumerated encoding value
+ wxFONTENCODING_MAX, //!< highest enumerated encoding value
wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
// aliases for endian-dependent UTF encodings
-#ifdef WORDS_BIGENDIAN
- wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16BE, // native UTF-16
- wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32BE, // native UTF-32
-#else // WORDS_BIGENDIAN
- wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE, // native UTF-16
- wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE, // native UTF-32
-#endif // WORDS_BIGENDIAN
-
- // alias for the native Unicode encoding on this platform
- // (this is used by wxEncodingConverter and wxUTFFile only for now)
-#if SIZEOF_WCHAR_T == 2
- wxFONTENCODING_UNICODE = wxFONTENCODING_UTF16,
-#else // SIZEOF_WCHAR_T == 4
- wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
-#endif
+ wxFONTENCODING_UTF16, //!< native UTF-16
+ wxFONTENCODING_UTF32, //!< native UTF-32
+
+ /// Alias for the native Unicode encoding on this platform
+ /// (this is used by wxEncodingConverter and wxUTFFile only for now)
+ wxFONTENCODING_UNICODE,
// alternative names for Far Eastern encodings
// Chinese
- wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, // Simplified Chinese
- wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, // Traditional Chinese
+ wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, //!< Simplified Chinese
+ wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, //!< Traditional Chinese
// Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
- wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 // Shift JIS
+ wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 //!< Shift JIS
};
@@ -259,7 +250,6 @@ enum wxFontEncoding
class wxFont : public wxGDIObject
{
public:
- //@{
/**
Default ctor.
*/
@@ -274,15 +264,15 @@ public:
Creates a font object with the specified attributes.
@param pointSize
- Size in points.
+ Size in points. See SetPointSize() for more info.
@param family
Font family, a generic way of referring to fonts without specifying actual
facename. One of the ::wxFontFamily enumeration values.
@param style
- One of wxFONTSTYLE_NORMAL, wxFONTSTYLE_SLANT and wxFONTSTYLE_ITALIC.
+ One of @c wxFONTSTYLE_NORMAL, @c wxFONTSTYLE_SLANT and @c wxFONTSTYLE_ITALIC.
@param weight
- Font weight, sometimes also referred to as font boldness. One of
- the ::wxFontWeight enumeration values.
+ Font weight, sometimes also referred to as font boldness.
+ One of the ::wxFontWeight enumeration values.
@param underline
The value can be @true or @false.
At present this has an effect on Windows and Motif 2.x only.
@@ -293,19 +283,18 @@ public:
An encoding which may be one of the enumeration values of ::wxFontEncoding.
Briefly these can be summed up as:
- wxFONTENCODING_SYSTEM | Default system encoding. |
- wxFONTENCODING_DEFAULT |
- Default application encoding: this
- is the encoding set by calls to
- SetDefaultEncoding and which may be set to,
- say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
- default application encoding is the same as default system encoding. |
- wxFONTENCODING_ISO8859_1...15 | ISO8859 encodings. |
- wxFONTENCODING_KOI8 | The standard Russian encoding for Internet. |
- wxFONTENCODING_CP1250...1252 | Windows encodings similar to ISO8859 (but not identical). |
+ @c wxFONTENCODING_SYSTEM | Default system encoding. |
+ @c wxFONTENCODING_DEFAULT |
+ Default application encoding: this is the encoding set by calls to
+ SetDefaultEncoding() and which may be set to, say, KOI8 to create all
+ fonts by default with KOI8 encoding. Initially, the default application
+ encoding is the same as default system encoding. |
+ @c wxFONTENCODING_ISO8859_1...15 | ISO8859 encodings. |
+ @c wxFONTENCODING_KOI8 | The standard Russian encoding for Internet. |
+ @c wxFONTENCODING_CP1250...1252 | Windows encodings similar to ISO8859 (but not identical). |
If the specified encoding isn't available, no font is created
- (see also font encoding overview).
+ (see also @ref overview_fontencoding).
@remarks If the desired font does not exist, the closest match will be
chosen. Under Windows, only scalable TrueType fonts are used.
@@ -320,15 +309,12 @@ public:
Creates a font object with the specified attributes.
@param pixelSize
- Size in pixels: this is directly supported only under MSW currently
- where this constructor can be used directly, under other platforms a
- font with the closest size to the given one is found using binary search
- and the static New method must be used.
+ Size in pixels. See SetPixelSize() for more info.
@param family
Font family, a generic way of referring to fonts without specifying actual
facename. One of ::wxFontFamily enumeration values.
@param style
- One of wxFONTSTYLE_NORMAL, wxFONTSTYLE_SLANT and wxFONTSTYLE_ITALIC.
+ One of @c wxFONTSTYLE_NORMAL, @c wxFONTSTYLE_SLANT and @c wxFONTSTYLE_ITALIC.
@param weight
Font weight, sometimes also referred to as font boldness.
One of the ::wxFontWeight enumeration values.
@@ -342,19 +328,18 @@ public:
An encoding which may be one of the enumeration values of ::wxFontEncoding.
Briefly these can be summed up as:
- wxFONTENCODING_SYSTEM | Default system encoding. |
- wxFONTENCODING_DEFAULT |
- Default application encoding: this
- is the encoding set by calls to
- SetDefaultEncoding and which may be set to,
- say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
- default application encoding is the same as default system encoding. |
- wxFONTENCODING_ISO8859_1...15 | ISO8859 encodings. |
- wxFONTENCODING_KOI8 | The standard Russian encoding for Internet. |
- wxFONTENCODING_CP1250...1252 | Windows encodings similar to ISO8859 (but not identical). |
+ @c wxFONTENCODING_SYSTEM | Default system encoding. |
+ @c wxFONTENCODING_DEFAULT |
+ Default application encoding: this is the encoding set by calls to
+ SetDefaultEncoding() and which may be set to, say, KOI8 to create all
+ fonts by default with KOI8 encoding. Initially, the default application
+ encoding is the same as default system encoding. |
+ @c wxFONTENCODING_ISO8859_1...15 | ISO8859 encodings. |
+ @c wxFONTENCODING_KOI8 | The standard Russian encoding for Internet. |
+ @c wxFONTENCODING_CP1250...1252 | Windows encodings similar to ISO8859 (but not identical). |
If the specified encoding isn't available, no font is created
- (see also font encoding overview).
+ (see also @ref overview_fontencoding).
@remarks If the desired font does not exist, the closest match will be
chosen. Under Windows, only scalable TrueType fonts are used.
@@ -364,7 +349,6 @@ public:
bool underline = false,
const wxString& faceName = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
- //@}
/**
Destructor.
@@ -433,7 +417,18 @@ public:
virtual int GetPointSize() const;
/**
- Gets the font style. See wxFontStyle for a list of valid styles.
+ Gets the pixel size.
+
+ Note that under wxMSW if you passed to SetPixelSize() (or to the ctor)
+ a wxSize object with a null width value, you'll get a null width in
+ the returned object.
+
+ @see SetPixelSize()
+ */
+ virtual wxSize GetPixelSize() const;
+
+ /**
+ Gets the font style. See ::wxFontStyle for a list of valid styles.
@see SetStyle()
*/
@@ -447,7 +442,7 @@ public:
virtual bool GetUnderlined() const;
/**
- Gets the font weight. See wxFontWeight for a list of valid weight identifiers.
+ Gets the font weight. See ::wxFontWeight for a list of valid weight identifiers.
@see SetWeight()
*/
@@ -466,12 +461,9 @@ public:
//@{
/**
- These functions take the same parameters as
- @ref wxFont::wxFont "wxFont constructors" and return a new font
+ This function takes the same parameters as the relative
+ @ref wxFont::wxFont "wxFont constructor" and returns a new font
object allocated on the heap.
-
- Using @c New() is currently the only way to directly create a font with
- the given size in pixels on platforms other than wxMSW.
*/
static wxFont* New(int pointSize, wxFontFamily family, wxFontStyle style,
wxFontWeight weight,
@@ -554,8 +546,8 @@ public:
@beginTable
@hdr3col{platform, generic syntax, example}
- @row3col{wxGTK2, @c [FACE-NAME] [bold] [oblique|italic] [POINTSIZE], Monospace bold 10}
- @row3col{wxMSW, @c [light|bold] [italic] [FACE-NAME] [POINTSIZE] [ENCODING], Tahoma 10 WINDOWS-1252}
+ @row3col{wxGTK2, [FACE-NAME] [bold] [oblique|italic] [POINTSIZE], Monospace bold 10}
+ @row3col{wxMSW, [light|bold] [italic] [FACE-NAME] [POINTSIZE] [ENCODING], Tahoma 10 WINDOWS-1252}
@endTable
@todo add an example for wxMac
@@ -570,6 +562,9 @@ public:
/**
Sets the point size.
+
+ The point size is defined as 1/72 of the anglo-Saxon inch
+ (25.4 mm): it is approximately 0.0139 inch or 352.8 um.
@param pointSize
Size in points.
@@ -578,6 +573,21 @@ public:
*/
virtual void SetPointSize(int pointSize);
+ /**
+ Sets the pixel size.
+
+ The height parameter of @a pixelSize must be positive while the width
+ parameter may also be zero (to indicate that you're not interested in the
+ width of the characters: a suitable width will be chosen for best rendering).
+
+ This feature (specifying the font pixel size) is directly supported only
+ under wxMSW and wxGTK currently; under other platforms a font with the
+ closest size to the given one is found using binary search (this maybe slower).
+
+ @see GetPixelSize()
+ */
+ virtual void SetPixelSize(const wxSize& pixelSize);
+
/**
Sets the font style.
@@ -638,24 +648,26 @@ wxFont wxNullFont;
/**
Equivalent to wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).
+
+ @see wxSystemSettings
*/
wxFont wxNORMAL_FONT;
/**
- A font using the wxFONTFAMILY_SWISS family and 2 points smaller than
+ A font using the @c wxFONTFAMILY_SWISS family and 2 points smaller than
::wxNORMAL_FONT.
*/
wxFont wxSMALL_FONT;
/**
- A font using the wxFONTFAMILY_ROMAN family and wxFONTSTYLE_ITALIC style and
+ A font using the @c wxFONTFAMILY_ROMAN family and @c wxFONTSTYLE_ITALIC style and
of the same size of ::wxNORMAL_FONT.
*/
wxFont wxITALIC_FONT;
/**
A font identic to ::wxNORMAL_FONT except for the family used which is
- wxFONTFAMILY_SWISS.
+ @c wxFONTFAMILY_SWISS.
*/
wxFont wxSWISS_FONT;