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:
@@ -214,7 +214,7 @@ public:
|
||||
virtual int GetPointSize() const = 0;
|
||||
virtual wxSize GetPixelSize() const;
|
||||
virtual bool IsUsingSizeInPixels() const;
|
||||
virtual wxFontFamily GetFamily() const = 0;
|
||||
wxFontFamily GetFamily() const;
|
||||
virtual wxFontStyle GetStyle() const = 0;
|
||||
virtual wxFontWeight GetWeight() const = 0;
|
||||
virtual bool GetUnderlined() const = 0;
|
||||
@@ -264,6 +264,10 @@ protected:
|
||||
// the function called by both overloads of SetNativeFontInfo()
|
||||
virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info);
|
||||
|
||||
// The function called by public GetFamily(): it can return
|
||||
// wxFONTFAMILY_UNKNOWN unlike the public method (see comment there).
|
||||
virtual wxFontFamily DoGetFamily() const = 0;
|
||||
|
||||
private:
|
||||
// the currently default encoding: by default, it's the default system
|
||||
// encoding, but may be changed by the application using
|
||||
|
Reference in New Issue
Block a user