Return wxFONTFAMILY_DEFAULT, not UNKNOWN, from wxFont::GetFamily().
Although returning wxFONTFAMILY_UNKNOWN when the font family is not recognized makes more sense, it breaks a lot of existing code including all the font-related code generated by DialogBlocks, so prefer to return wxFONTFAMILY_DEFAULT instead -- which can't be confused for a valid font family neither but can be passed to wxFont ctor or SetFamily() without problems. To ensure that this behaviour is correctly implemented by all ports, rename the existing wxFont::GetFamily() to DoGetFamily() and call the new method from wxFontBase::GetFamily() which adjusts the return value if needed. Closes #12330. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -422,16 +420,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()
|
||||
*/
|
||||
|
Reference in New Issue
Block a user