X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/64932e4105654e784d0276671f5ac28f9bdb4ee9..03dede4dc15796ab5e3e49ef597ebbc461227bca:/interface/wx/font.h diff --git a/interface/wx/font.h b/interface/wx/font.h index a4283059b0..3d4d3b1fdc 100644 --- a/interface/wx/font.h +++ b/interface/wx/font.h @@ -3,7 +3,7 @@ // Purpose: interface of wxFont // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -36,11 +36,9 @@ enum wxFontFamily /// 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 + /// Invalid font family value, returned by wxFont::GetFamily() when the + /// font is invalid for example. + wxFONTFAMILY_UNKNOWN }; /** @@ -72,6 +70,27 @@ enum wxFontWeight 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. */ @@ -237,13 +256,10 @@ enum wxFontEncoding /// (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 }; @@ -425,16 +441,17 @@ public: 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() */ @@ -537,7 +554,7 @@ public: //@{ /** - Return a bold version of this font. + Returns a bold version of this font. @see MakeBold() @@ -546,7 +563,7 @@ public: wxFont Bold() const; /** - Return an italic version of this font. + Returns an italic version of this font. @see MakeItalic() @@ -555,17 +572,38 @@ public: 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. @@ -587,8 +625,8 @@ public: /** 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() @@ -597,17 +635,26 @@ public: 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. @@ -621,7 +668,7 @@ public: 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). @@ -632,18 +679,6 @@ public: */ 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; - //@} /** @@ -777,6 +812,28 @@ public: */ 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.