From 5bc97d1b81910a82e249f6227798b42089149f94 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 13 Oct 2003 23:47:22 +0000 Subject: [PATCH] added CanConvert() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/encconv.tex | 17 +++++++++++++++++ include/wx/encconv.h | 11 +++++++++++ 2 files changed, 28 insertions(+) diff --git a/docs/latex/wx/encconv.tex b/docs/latex/wx/encconv.tex index e5c2e0f021..0548703ba1 100644 --- a/docs/latex/wx/encconv.tex +++ b/docs/latex/wx/encconv.tex @@ -37,12 +37,14 @@ if you rely on {\tt wxCONVERT\_SUBSTITUTE} mode of operation (see \latexignore{\rtfignore{\wxheading{Members}}} + \membersection{wxEncodingConverter::wxEncodingConverter}\label{wxencodingconverterwxencodingconverter} \func{}{wxEncodingConverter}{\void} Constructor. + \membersection{wxEncodingConverter::Init}\label{wxencodingconverterinit} \func{bool}{Init}{\param{wxFontEncoding }{input\_enc}, \param{wxFontEncoding }{output\_enc}, \param{int }{method = wxCONVERT\_STRICT}} @@ -77,6 +79,19 @@ false if given conversion is impossible, true otherwise to Unicode with non-Unicode build of wxWindows or if input or output encoding is not supported.) + +\membersection{wxEncodingConverter::CanConvert}\label{wxencodingconvertercanconvert} + +\func{static bool}{CanConvert}{\param{wxFontEncoding}{encIn}, \param{wxFontEncoding }{encOut}} + +Return true if (any text in) multibyte encoding \arg{encIn} can be converted to +another one (\it{encOut}) losslessly. + +Do not call this method with \texttt{wxFONTENCODING\_UNICODE} as either +parameter, it doesn't make sense (always works in one sense and always depends +on the text to convert in the other). + + \membersection{wxEncodingConverter::Convert}\label{wxencodingconverterconvert} \constfunc{void}{Convert}{\param{const char* }{input}, \param{char* }{output}} @@ -109,6 +124,7 @@ You must call \helpref{Init}{wxencodingconverterinit} before using this method! {\tt wchar\_t} versions of the method are not available if wxWindows was compiled with {\tt wxUSE\_WCHAR\_T} set to 0. + \membersection{wxEncodingConverter::GetPlatformEquivalents}\label{wxencodingconvertergetplatformequivalents} \func{static wxFontEncodingArray}{GetPlatformEquivalents}{\param{wxFontEncoding }{enc}, \param{int }{platform = wxPLATFORM\_CURRENT}} @@ -162,6 +178,7 @@ item of it. \item Please note that the returned array may contain no items at all. \end{itemize} + \membersection{wxEncodingConverter::GetAllEquivalents}\label{wxencodingconvertergetallequivalents} \func{static wxFontEncodingArray}{GetAllEquivalents}{\param{wxFontEncoding }{enc}} diff --git a/include/wx/encconv.h b/include/wx/encconv.h index 2af9a9b597..5bf29e7470 100644 --- a/include/wx/encconv.h +++ b/include/wx/encconv.h @@ -138,6 +138,17 @@ class WXDLLIMPEXP_BASE wxEncodingConverter : public wxObject // equivalent encodings, regardless the platform, including itself. static wxFontEncodingArray GetAllEquivalents(wxFontEncoding enc); + // Return true if [any text in] one multibyte encoding can be + // converted to another one losslessly. + // + // Do not call this with wxFONTENCODING_UNICODE, it doesn't make + // sense (always works in one sense and always depends on the text + // to convert in the other) + static bool CanConvert(wxFontEncoding encIn, wxFontEncoding encOut) + { + return GetAllEquivalents(encIn).Find(encOut) != wxNOT_FOUND; + } + private: #if wxUSE_WCHAR_T -- 2.45.2