X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9321277925fc8eb439dd713fc7015cc873f0c38..b09857ae000a60704207d63290be937584805fb0:/interface/wx/font.h diff --git a/interface/wx/font.h b/interface/wx/font.h index 7d8316ce92..766ce5d225 100644 --- a/interface/wx/font.h +++ b/interface/wx/font.h @@ -112,8 +112,10 @@ enum wxFontFlag wxFONTFLAG_ANTIALIASED = 1 << 4, wxFONTFLAG_NOT_ANTIALIASED = 1 << 5, - /// underlined/strikethrough flags (default: no lines) + /// Underlined style (not underlined by default). wxFONTFLAG_UNDERLINED = 1 << 6, + + /// Strike-through style (only supported in wxMSW and wxGTK currently). wxFONTFLAG_STRIKETHROUGH = 1 << 7, /// the mask of all currently used flags @@ -189,6 +191,8 @@ enum wxFontEncoding wxFONTENCODING_CP1255, //!< WinHebrew wxFONTENCODING_CP1256, //!< WinArabic wxFONTENCODING_CP1257, //!< WinBaltic (same as Latin 7) + wxFONTENCODING_CP1258, //!< WinVietnamese (since 2.9.4) + wxFONTENCODING_CP1361, //!< Johab Korean character set (since 2.9.4) wxFONTENCODING_CP12_MAX, wxFONTENCODING_UTF7, //!< UTF-7 Unicode encoding @@ -260,11 +264,12 @@ enum wxFontEncoding wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, //!< Simplified Chinese wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, //!< Traditional Chinese wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, //!< Shift JIS - wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949 //!< Korean + wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949, //!< Korean + wxFONTENCODING_JOHAB = wxFONTENCODING_CP1361, //!< Korean Johab (since 2.9.4) + wxFONTENCODING_VIETNAMESE = wxFONTENCODING_CP1258 //!< Vietnamese (since 2.9.4) }; - /** @class wxFont @@ -304,7 +309,7 @@ public: wxFont(const wxFont& font); /** - Creates a font object with the specified attributes. + Creates a font object with the specified attributes and size in points. @param pointSize Size in points. See SetPointSize() for more info. @@ -350,7 +355,7 @@ public: wxFontEncoding encoding = wxFONTENCODING_DEFAULT); /** - Creates a font object with the specified attributes. + Creates a font object with the specified attributes and size in pixels. @param pixelSize Size in pixels. See SetPixelSize() for more info. @@ -395,6 +400,25 @@ public: const wxString& faceName = wxEmptyString, wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + /** + Creates a font object using font flags. + + This constructor is similar to the constructors above except it + specifies the font styles such as underlined, italic, bold, ... in a + single @a flags argument instead of using separate arguments for them. + This parameter can be a combination of ::wxFontFlag enum elements. + The meaning of the remaining arguments is the same as in the other + constructors, please see their documentation for details. + + Notice that this constructor provides the only way of creating fonts + with strike-through style. + + @since 2.9.4 + */ + wxFont(int pointSize, wxFontFamily family, int flags, + const wxString& faceName = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + /** Constructor from font description string. @@ -402,7 +426,12 @@ public: 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. @@ -487,6 +516,8 @@ public: */ wxString GetNativeFontInfoUserDesc() const; + const wxNativeFontInfo *GetNativeFontInfo() const; + /** Gets the point size. @@ -519,6 +550,15 @@ public: */ virtual bool GetUnderlined() const; + /** + Returns @true if the font is stricken-through, @false otherwise. + + @see SetStrikethrough() + + @since 2.9.4 + */ + virtual bool GetStrikethrough() const; + /** Gets the font weight. See ::wxFontWeight for a list of valid weight identifiers. @@ -605,6 +645,17 @@ public: */ wxFont Underlined() const; + /** + Returns stricken-through version of this font. + + Currently stricken-through fonts are only supported in wxMSW and wxGTK. + + @see MakeStrikethrough() + + @since 2.9.4 + */ + wxFont Strikethrough() const; + /** Changes this font to be bold. @@ -656,6 +707,17 @@ public: */ wxFont& MakeUnderlined(); + /** + Changes this font to be stricken-through. + + Currently stricken-through fonts are only supported in wxMSW and wxGTK. + + @see Strikethrough() + + @since 2.9.4 + */ + wxFont& MakeStrikethrough(); + /** Changes the size of this font. @@ -755,7 +817,7 @@ public: @beginTable @hdr3col{platform, generic syntax, example} - @row3col{wxGTK2, [FACE-NAME] [bold] [oblique|italic] [POINTSIZE], Monospace bold 10} + @row3col{wxGTK2, [underlined] [strikethrough] [FACE-NAME] [bold] [oblique|italic] [POINTSIZE], Monospace bold 10} @row3col{wxMSW, [light|bold] [italic] [FACE-NAME] [POINTSIZE] [ENCODING], Tahoma 10 WINDOWS-1252} @endTable @@ -763,7 +825,9 @@ public: For more detailed information about the allowed syntaxes you can look at the documentation of the native API used for font-rendering - (e.g. @c pango_font_description_from_string on GTK). + (e.g. @c pango_font_description_from_string under GTK, although notice + that it doesn't support the "underlined" and "strikethrough" attributes + and so those are handled by wxWidgets itself). Note that unlike SetNativeFontInfo(), this function doesn't always restore all attributes of the wxFont object under all platforms; e.g. on wxMSW the font family @@ -775,6 +839,8 @@ public: */ bool SetNativeFontInfoUserDesc(const wxString& info); + void SetNativeFontInfo(const wxNativeFontInfo& info); + /** Sets the point size. @@ -845,6 +911,20 @@ public: */ virtual void SetUnderlined(bool underlined); + /** + Sets strike-through attribute of the font. + + Currently stricken-through fonts are only supported in wxMSW and wxGTK. + + @param strikethrough + @true to add strike-through style, @false to remove it. + + @see GetStrikethrough() + + @since 2.9.4 + */ + virtual void SetStrikethrough(bool strikethrough); + /** Sets the font weight. @@ -923,6 +1003,11 @@ public: int flags = wxFONTFLAG_DEFAULT, const wxString& faceName = wxEmptyString, wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + + + static wxFont *New(const wxNativeFontInfo& nativeInfo); + static wxFont *New(const wxString& nativeInfoString); + //@} }; @@ -937,25 +1022,25 @@ wxFont wxNullFont; @see wxSystemSettings */ -wxFont wxNORMAL_FONT; +wxFont* wxNORMAL_FONT; /** A font using the @c wxFONTFAMILY_SWISS family and 2 points smaller than ::wxNORMAL_FONT. */ -wxFont wxSMALL_FONT; +wxFont* wxSMALL_FONT; /** A font using the @c wxFONTFAMILY_ROMAN family and @c wxFONTSTYLE_ITALIC style and of the same size of ::wxNORMAL_FONT. */ -wxFont wxITALIC_FONT; +wxFont* wxITALIC_FONT; /** A font identic to ::wxNORMAL_FONT except for the family used which is @c wxFONTFAMILY_SWISS. */ -wxFont wxSWISS_FONT; +wxFont* wxSWISS_FONT; /** @@ -977,7 +1062,7 @@ wxFont wxSWISS_FONT; @see wxFont */ -class wxFontList : public wxList +class wxFontList { public: /**