// Purpose: interface of wxFont
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/// See also wxFont::IsFixedWidth() for an easy way to test for monospace property.
wxFONTFAMILY_TELETYPE = wxTELETYPE,
- /// Returned by wxFont::GetFamily() when the face name of the font cannot
- /// be classified into one of the previous wxFontFamily values.
- wxFONTFAMILY_UNKNOWN = wxFONTFAMILY_MAX,
-
- wxFONTFAMILY_MAX
+ wxFONTFAMILY_MAX,
+ /// Invalid font family value, returned by wxFont::GetFamily() when the
+ /// font is invalid for example.
+ wxFONTFAMILY_UNKNOWN = wxFONTFAMILY_MAX
};
/**
wxFONTWEIGHT_MAX
};
+/**
+ Symbolic font sizes.
+
+ The elements of this enum correspond to CSS absolute size specifications,
+ see http://www.w3.org/TR/CSS21/fonts.html#font-size-props
+
+ @see wxFont::SetSymbolicSize()
+
+ @since 2.9.2
+ */
+enum wxFontSymbolicSize
+{
+ wxFONTSIZE_XX_SMALL = -3, //!< Extra small.
+ wxFONTSIZE_X_SMALL, //!< Very small.
+ wxFONTSIZE_SMALL, //!< Small.
+ wxFONTSIZE_MEDIUM, //!< Normal.
+ wxFONTSIZE_LARGE, //!< Large.
+ wxFONTSIZE_X_LARGE, //!< Very large.
+ wxFONTSIZE_XX_LARGE //!< Extra large.
+};
+
/**
The font flag bits for the new font ctor accepting one combined flags word.
*/
/// (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
-
- // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
- wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 //!< Shift JIS
+ wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, //!< Shift JIS
+ wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949 //!< Korean
};
-
/**
@class wxFont
If @a fontdesc is invalid the font remains uninitialized, i.e. its IsOk() method
will return @false.
*/
- wxFont(const wxString& fontdesc);
+ wxFont(const wxString& nativeInfoString);
+
+ /**
+ Construct font from a native font info structure.
+ */
+ wxFont(const wxNativeFontInfo& nativeInfo);
/**
Destructor.
virtual wxString GetFaceName() const;
/**
- Gets the font family.
+ Gets the font family if possible.
+
As described in ::wxFontFamily docs the returned value acts as a rough,
basic classification of the main font properties (look, spacing).
If the current font face name is not recognized by wxFont or by the
- underlying system, @c wxFONTFAMILY_UNKNOWN is returned.
+ underlying system, @c wxFONTFAMILY_DEFAULT is returned.
- Note that currently this function is rather unreliable (@c wxFONTFAMILY_UNKNOWN
- is returned in too many cases) and not particularly useful.
- Font families mostly make sense only for font creation; see SetFamily().
+ Note that currently this function is not very precise and so not
+ particularly useful. Font families mostly make sense only for font
+ creation, see SetFamily().
@see SetFamily()
*/
/**
Returns the platform-dependent string completely describing this font.
- Returned string is always non-empty.
+
+ Returned string is always non-empty unless the font is invalid (in
+ which case an assert is triggered).
Note that the returned string is not meant to be shown or edited by the user: a
typical use of this function is for serializing in string-form a wxFont object.
/**
Returns a user-friendly string for this font object.
- Returned string is always non-empty.
+
+ Returned string is always non-empty unless the font is invalid (in
+ which case an assert is triggered).
The string does not encode all wxFont infos under all platforms;
e.g. under wxMSW the font family is not present in the returned string.
*/
wxString GetNativeFontInfoUserDesc() const;
+ const wxNativeFontInfo *GetNativeFontInfo() const;
+
/**
Gets the point size.
//@{
/**
- Return a bold version of this font.
+ Returns a bold version of this font.
@see MakeBold()
wxFont Bold() const;
/**
- Return an italic version of this font.
+ Returns an italic version of this font.
@see MakeItalic()
wxFont Italic() const;
/**
- Return a larger version of this font.
+ Returns a larger version of this font.
- The font size is multiplied by CSS specification inspired factor of @c
- 1.2.
+ The font size is multiplied by @c 1.2, the factor of @c 1.2 being
+ inspired by the W3C CSS specification.
- @see Larger(), MakeSmaller(), Scale()
+ @see MakeLarger(), Smaller(), Scaled()
@since 2.9.1
*/
wxFont Larger() const;
+ /**
+ Returns a smaller version of this font.
+
+ The font size is divided by @c 1.2, the factor of @c 1.2 being
+ inspired by the W3C CSS specification.
+
+ @see MakeSmaller(), Larger(), Scaled()
+
+ @since 2.9.1
+ */
+ wxFont Smaller() const;
+
+ /**
+ Returns underlined version of this font.
+
+ @see MakeUnderlined()
+
+ @since 2.9.2
+ */
+ wxFont Underlined() const;
+
/**
Changes this font to be bold.
/**
Changes this font to be larger.
- The font size is multiplied by CSS specification inspired factor of @c
- 1.2.
+ The font size is multiplied by @c 1.2, the factor of @c 1.2 being
+ inspired by the W3C CSS specification.
@see Larger(), MakeSmaller(), Scale()
wxFont& MakeLarger();
/**
- Return a smaller version of this font.
+ Changes this font to be smaller.
- The font size is divided by CSS specification inspired factor of @c
- 1.2.
+ The font size is divided by @c 1.2, the factor of @c 1.2 being
+ inspired by the W3C CSS specification.
- @see MakeLarger(), Scale(), Smaller()
+ @see Smaller(), MakeLarger(), Scale()
@since 2.9.1
*/
wxFont& MakeSmaller();
+ /**
+ Changes this font to be underlined.
+
+ @see Underlined()
+
+ @since 2.9.2
+ */
+ wxFont& MakeUnderlined();
+
/**
Changes the size of this font.
wxFont& Scale(float x);
/**
- Return a scaled version of this font.
+ Returns a scaled version of this font.
The font size is multiplied by the given factor (which may be less than
1 to create a smaller version of the font).
*/
wxFont Scaled(float x) const;
- /**
- Return a smaller version of this font.
-
- The font size is divided by CSS specification inspired factor of @c
- 1.2.
-
- @see Larger(), MakeSmaller(), Scaled()
-
- @since 2.9.1
- */
- wxFont Smaller() const;
-
//@}
/**
*/
bool SetNativeFontInfoUserDesc(const wxString& info);
+ void SetNativeFontInfo(const wxNativeFontInfo& info);
+
/**
Sets the point size.
*/
virtual void SetStyle(wxFontStyle style);
+ /**
+ Sets the font size using a predefined symbolic size name.
+
+ This function allows to change font size to be (very) large or small
+ compared to the standard font size.
+
+ @see SetSymbolicSizeRelativeTo().
+
+ @since 2.9.2
+ */
+ void SetSymbolicSize(wxFontSymbolicSize size);
+
+ /**
+ Sets the font size compared to the base font size.
+
+ This is the same as SetSymbolicSize() except that it uses the given
+ font size as the normal font size instead of the standard font size.
+
+ @since 2.9.2
+ */
+ void SetSymbolicSizeRelativeTo(wxFontSymbolicSize size, int base);
+
/**
Sets underlining.
int flags = wxFONTFLAG_DEFAULT,
const wxString& faceName = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
+
+
+ static wxFont *New(const wxNativeFontInfo& nativeInfo);
+ static wxFont *New(const wxString& nativeInfoString);
+
//@}
};