]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fontenc.h
compatibility changes: WXWIN_COMPATIBILITY_EVENT_TYPES and DECLARE_EVENT_TABLE_ENTRY...
[wxWidgets.git] / include / wx / fontenc.h
index 83300a6f403dcf3e0170fd44eee7e9407d9fa794..4494b6dea02cb55d831e4e55a95a598749e9a437 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef _WX_FONTENC_H_
 #define _WX_FONTENC_H_
 
+#include "wx/string.h"
+
 // font encodings
 enum wxFontEncoding
 {
@@ -68,4 +70,48 @@ enum wxFontEncoding
     wxFONTENCODING_MAX
 };
 
+// ----------------------------------------------------------------------------
+// types
+// ----------------------------------------------------------------------------
+
+#if wxUSE_GUI
+
+// This private structure specifies all the parameters needed to create a font
+// with the given encoding on this platform.
+//
+// Under X, it contains the last 2 elements of the font specifications
+// (registry and encoding).
+//
+// Under Windows, it contains a number which is one of predefined CHARSET_XXX
+// values.
+//
+// Under all platforms it also contains a facename string which should be
+// used, if not empty, to create fonts in this encoding (this is the only way
+// to create a font of non-standard encoding (like KOI8) under Windows - the
+// facename specifies the encoding then)
+
+struct WXDLLEXPORT wxNativeEncodingInfo
+{
+    wxString facename;          // may be empty meaning "any"
+    wxFontEncoding encoding;    // so that we know what this struct represents
+
+#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXMAC__)
+    wxNativeEncodingInfo() { charset = 0; /* ANSI_CHARSET */ }
+
+    int      charset;
+#elif defined(_WX_X_FONTLIKE)
+    wxString xregistry,
+             xencoding;
+#else
+    #error "Unsupported toolkit"
+#endif
+
+    // this struct is saved in config by wxFontMapper, so it should know to
+    // serialise itself (implemented in platform-specific code)
+    bool FromString(const wxString& s);
+    wxString ToString() const;
+};
+
+#endif // wxUSE_GUI
+
 #endif // _WX_FONTENC_H_