X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ef3ab50e9705c2724f74ef4fb275030d6fbe589..78cb09ec439962b53ba75fef814b9a3871412287:/docs/latex/wx/mbconv.tex

diff --git a/docs/latex/wx/mbconv.tex b/docs/latex/wx/mbconv.tex
index f1cc6811e2..554ccde92e 100644
--- a/docs/latex/wx/mbconv.tex
+++ b/docs/latex/wx/mbconv.tex
@@ -30,10 +30,29 @@ There are several predefined instances of this class:
 \twocolitem{\textbf{wxConvLibc}}{Uses the standard ANSI C \texttt{mbstowcs()} and
 \texttt{wcstombs()} functions to perform the conversions; thus depends on the
 current locale.}
+\twocolitem{\textbf{wxConvLocal}}{Another conversion corresponding to the
+current locale but this one uses the best available conversion.}
+\twocolitem{\textbf{wxConvUI}}{The conversion used for hte standard UI elements
+such as menu items and buttons. This is a pointer which is initially set to
+\texttt{wxConvLocal} as the program uses the current locale by default but can
+be set to some specific conversion if the program needs to use a specific
+encoding for its UI.}
+\twocolitem{\textbf{wxConvISO8859\_1}}{Conversion to and from ISO-8859-1 (Latin I)
+encoding.}
+\twocolitem{\textbf{wxConvUTF8}}{Conversion to and from UTF-8 encoding.}
 \twocolitem{\textbf{wxConvFile}}{The appropriate conversion for the file names,
 depends on the system.}
+% \twocolitem{\textbf{wxConvCurrent}}{Not really clear what is it for...}
 \end{twocollist}
 
+
+\wxheading{Constants}
+
+\texttt{wxCONV\_FAILED} value is defined as \texttt{(size\_t)$-1$} and is
+returned by the conversion functions instead of the length of the converted
+string if the conversion fails.
+
+
 \wxheading{Derived from}
 
 No base class
@@ -42,12 +61,17 @@ No base class
 
 <wx/strconv.h>
 
+\wxheading{Library}
+
+\helpref{wxBase}{librarieslist}
+
 \wxheading{See also}
 
 \helpref{wxCSConv}{wxcsconv}, 
 \helpref{wxEncodingConverter}{wxencodingconverter}, 
 \helpref{wxMBConv classes overview}{mbconvclasses}
 
+
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
@@ -55,12 +79,24 @@ No base class
 
 \func{}{wxMBConv}{\void}
 
-Constructor.
+Trivial default constructor.
+
+
+\membersection{wxMBConv::Clone}\label{wxmbconvclone}
+
+\constfunc{virtual wxMBConv *}{Clone}{\void}
+
+This pure virtual function is overridden in each of the derived classes to
+return a new copy of the object it is called on. It is used for copying the
+conversion objects while preserving their dynamic type.
+
 
 \membersection{wxMBConv::MB2WC}\label{wxmbconvmb2wc}
 
 \constfunc{virtual size\_t}{MB2WC}{\param{wchar\_t *}{out}, \param{const char *}{in}, \param{size\_t }{outLen}}
 
+\deprecated{\helpref{ToWChar}{wxmbconvtowchar}}
+
 Converts from a string \arg{in} in multibyte encoding to Unicode putting up to 
 \arg{outLen} characters into the buffer \arg{out}.
 
@@ -89,6 +125,8 @@ The length of the converted string \emph{excluding} the trailing \NUL.
 
 \constfunc{virtual size\_t}{WC2MB}{\param{char* }{buf}, \param{const wchar\_t* }{psz}, \param{size\_t }{n}}
 
+\deprecated{\helpref{FromWChar}{wxmbconvfromwchar}}
+
 Converts from Unicode to multibyte encoding. The semantics of this function
 (including the return value meaning) is the same as for 
 \helpref{MB2WC}{wxmbconvmb2wc}.
@@ -191,6 +229,25 @@ result in a wxWCharBuffer. The macro wxWX2WCbuf is defined as the correct
 return type (without const).
 
 
+\membersection{wxMBConv::FromWChar}\label{wxmbconvfromwchar}
+
+\constfunc{virtual size\_t}{FromWChar}{\param{char\_t *}{dst}, \param{size\_t }{dstLen}, \param{const wchar\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
+
+This function has the same semantics as \helpref{ToWChar}{wxmbconvtowchar} 
+except that it converts a wide string to multibyte one.
+
+\membersection{wxMBConv::GetMaxMBNulLen}\label{wxmbconvgetmaxmbnullen}
+
+\func{const size\_t}{GetMaxMBNulLen}{\void}
+
+Returns the maximal value which can be returned by 
+\helpref{GetMBNulLen}{wxmbconvgetmbnullen} for any conversion object. Currently
+this value is $4$.
+
+This method can be used to allocate the buffer with enough space for the
+trailing \NUL characters for any encoding.
+
+
 \membersection{wxMBConv::GetMBNulLen}\label{wxmbconvgetmbnullen}
 
 \constfunc{size\_t}{GetMBNulLen}{\void}
@@ -198,6 +255,35 @@ return type (without const).
 This function returns $1$ for most of the multibyte encodings in which the
 string is terminated by a single \NUL, $2$ for UTF-16 and $4$ for UTF-32 for
 which the string is terminated with $2$ and $4$ \NUL characters respectively.
-The other cases are not currently supported and $-1$ is returned for them.
+The other cases are not currently supported and \texttt{wxCONV\_FAILED} 
+(defined as $-1$) is returned for them.
+
+
+\membersection{wxMBConv::ToWChar}\label{wxmbconvtowchar}
+
+\constfunc{virtual size\_t}{ToWChar}{\param{wchar\_t *}{dst}, \param{size\_t }{dstLen}, \param{const char *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
+
+The most general function for converting a multibyte string to a wide string.
+The main case is when \arg{dst} is not \NULL and \arg{srcLen} is not 
+\texttt{wxNO\_LEN} (which is defined as \texttt{(size\_t)$-1$}): then
+the function converts exactly \arg{srcLen} bytes starting at \arg{src} into
+wide string which it output to \arg{dst}. If the length of the resulting wide
+string is greater than \arg{dstLen}, an error is returned. Note that if 
+\arg{srcLen} bytes don't include \NUL characters, the resulting wide string is
+not \NUL-terminated neither.
+
+If \arg{srcLen} is \texttt{wxNO\_LEN}, the function supposes that the string is
+properly (i.e. as necessary for the encoding handled by this conversion) 
+\NUL-terminated and converts the entire string, including any trailing \NUL 
+bytes. In this case the wide string is also \NUL-terminated.
+
+Finally, if \arg{dst} is \NULL, the function returns the length of the needed
+buffer.
+
+\wxheading{Return value}
+
+The number of characters written to \arg{dst} (or the number of characters
+which would have been written to it if it were non-\NULL) on success or 
+\texttt{wxCONV\_FAILED} on error.
 
 
