+// Implementation
+
+ // Find an existing, or create a new, XFontStruct
+ // based on this wxFont and the given scale. Append the
+ // font to list in the private data for future reference.
+
+ // TODO This is a fairly basic implementation, that doesn't
+ // allow for different facenames, and also doesn't do a mapping
+ // between 'standard' facenames (e.g. Arial, Helvetica, Times Roman etc.)
+ // and the fonts that are available on a particular system.
+ // Maybe we need to scan the user's machine to build up a profile
+ // of the fonts and a mapping file.
+
+ // Return font struct, and optionally the Motif font list
+ wxXFont* GetInternalFont(double scale = 1.0, WXDisplay* display = NULL) const;
+
+ // These two are helper functions for convenient access of the above.
+ inline WXFontStructPtr GetFontStruct(double scale = 1.0, WXDisplay* display = NULL) const
+ {
+ wxXFont* f = GetInternalFont(scale, display);
+ return (f ? f->m_fontStruct : (WXFontStructPtr) 0);
+ }
+ WXFontList GetFontList(double scale = 1.0, WXDisplay* display = NULL) const
+ {
+ wxXFont* f = GetInternalFont(scale, display);
+ return (f ? f->m_fontList : (WXFontList) 0);
+ }
+
+ WXFontStructPtr LoadQueryFont(int pointSize, int family, int style,
+ int weight, bool underlined) const;