]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/strconv.h
added (and documented) wxULL(); fixes for wxINT64_SWAP macros
[wxWidgets.git] / include / wx / strconv.h
index 16be8b1aee7aeb4c7f9600f5e598fb76bc5c85e6..f129770ec16ab5fdfa10e14c849d4bd3d9f4d321 100644 (file)
@@ -91,16 +91,63 @@ public:
 
 WXDLLIMPEXP_DATA_BASE(extern wxMBConvUTF8) wxConvUTF8;
 
+// ----------------------------------------------------------------------------
+// wxMBConvUTF16LE (for conversion using UTF16 Little Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF16LE : public wxMBConv
+{
+public:
+    virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+    virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// wxMBConvUTF16BE (for conversion using UTF16 Big Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF16BE : public wxMBConv
+{
+public:
+    virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+    virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// wxMBConvUCS4LE (for conversion using UTF32 Little Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF32LE : public wxMBConv
+{
+public:
+    virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+    virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// wxMBConvUCS4BE (for conversion using UTF32 Big Endian encoding)
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxMBConvUTF32BE : public wxMBConv
+{
+public:
+    virtual size_t MB2WC(wchar_t *buf, const char *psz, size_t n) const;
+    virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
+};
+
 // ----------------------------------------------------------------------------
 // wxCSConv (for conversion based on loadable char sets)
 // ----------------------------------------------------------------------------
 
+#include "wx/fontenc.h"
+
 class WXDLLIMPEXP_BASE wxCharacterSet;
 
 class WXDLLIMPEXP_BASE wxCSConv : public wxMBConv
 {
 public:
     wxCSConv(const wxChar *charset);
+    wxCSConv(wxFontEncoding encoding);
     wxCSConv(const wxCSConv& conv);
     virtual ~wxCSConv();
 
@@ -114,12 +161,16 @@ public:
     void Clear() ;
 
 private:
+    // common part of all ctors
+    void Init();
+
     void SetName(const wxChar *charset);
 
     // note that we can't use wxString here because of compilation
     // dependencies: we're included from wx/string.h
     wxChar *m_name;
     wxCharacterSet *m_cset;
+    wxFontEncoding m_encoding;
     bool m_deferred;
 };
 
@@ -161,7 +212,11 @@ public:
     const char* cWX2MB(const char *psz) const { return psz; }
 };
 
-WXDLLIMPEXP_DATA_BASE(extern wxMBConv) wxConvLibc, wxConvFile, wxConvLocal, wxConvISO8859_1, wxConvUTF8;
+WXDLLIMPEXP_DATA_BASE(extern wxMBConv) wxConvLibc,
+                                       wxConvFile,
+                                       wxConvLocal,
+                                       wxConvISO8859_1,
+                                       wxConvUTF8;
 WXDLLIMPEXP_DATA_BASE(extern wxMBConv *) wxConvCurrent;
 
 #define wxFNCONV(name) name