\hypertarget{class_ogre_1_1_s_t_b_i_image_codec}{}\doxysection{Ogre\+::S\+T\+B\+I\+Image\+Codec Class Reference}
\label{class_ogre_1_1_s_t_b_i_image_codec}\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}


{\ttfamily \#include $<$Ogre\+S\+T\+B\+I\+Codec.\+h$>$}



Inheritance diagram for Ogre\+::S\+T\+B\+I\+Image\+Codec\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=208pt]{class_ogre_1_1_s_t_b_i_image_codec__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \mbox{\hyperlink{class_ogre_1_1_shared_ptr}{Shared\+Ptr}}$<$ \mbox{\hyperlink{class_ogre_1_1_codec_1_1_codec_data}{Codec\+Data}} $>$ \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}}
\item 
typedef \mbox{\hyperlink{class_ogre_1_1_const_map_iterator}{Const\+Map\+Iterator}}$<$ Codec\+List $>$ \mbox{\hyperlink{class_ogre_1_1_codec_a21f4b8a16d070793d576f827c9fee218}{Codec\+Iterator}}
\item 
typedef std\+::pair$<$ \mbox{\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr}}, \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}} $>$ \mbox{\hyperlink{class_ogre_1_1_codec_a8cc81c85bd7d4e25393aa153c5e01454}{Decode\+Result}}
\begin{DoxyCompactList}\small\item\em Result of a decoding; both a decoded data stream and \mbox{\hyperlink{class_ogre_1_1_codec_1_1_codec_data}{Codec\+Data}} metadata. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_af1f778f6c0c79b362906595051dc018a}{S\+T\+B\+I\+Image\+Codec}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&type)
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_a3a6786b418be005ff8b75b9152c94898}{$\sim$\+S\+T\+B\+I\+Image\+Codec}} ()
\item 
\mbox{\hyperlink{class_ogre_1_1_codec_a8cc81c85bd7d4e25393aa153c5e01454}{Decode\+Result}} \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_aef0eb6d70068813c59f4be30af564516}{decode}} (const \mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \&input) const
\begin{DoxyCompactList}\small\item\em Codes the data from the input chunk into the output chunk. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_a2218b499470d28eb0415b3b4f87e5eb3}{encode}} (const \mbox{\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr}} \&input, const \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}} \&p\+Data) const
\begin{DoxyCompactList}\small\item\em Codes the data in the input stream and saves the result in the output stream. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_a07b3bd71ae44517eaf316340f09bfd01}{encode\+To\+File}} (const \mbox{\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr}} \&input, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&out\+File\+Name, const \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}} \&p\+Data) const
\begin{DoxyCompactList}\small\item\em Codes the data in the input chunk and saves the result in the output filename provided. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\hyperlink{class_ogre_1_1_image_codec_a6e9a3bb697c7249e822725eda274615c}{get\+Data\+Type}} () const
\begin{DoxyCompactList}\small\item\em Returns the type of the data that supported by this codec as a String. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_a1763365ccd236b49d56e9c8b60f16844}{get\+Type}} () const
\begin{DoxyCompactList}\small\item\em Returns the type of the codec as a String. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_codec_a270be35471eb9ef28fdbd4b7dced21b9}{magic\+Number\+Match}} (const char $\ast$magic\+Number\+Ptr, size\+\_\+t maxbytes) const
\begin{DoxyCompactList}\small\item\em Returns whether a magic number header matches this codec. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_ad70f382ca4da6f2f55de053f80ebea0e}{magic\+Number\+To\+File\+Ext}} (const char $\ast$magic\+Number\+Ptr, size\+\_\+t maxbytes) const
\begin{DoxyCompactList}\small\item\em Maps a magic number header to a file extension, if this codec recognises it. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{class_ogre_1_1_codec}{Codec}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_codec_ac8775b1052fb8ba72abdfb55df20a6af}{get\+Codec}} (char $\ast$magic\+Number\+Ptr, size\+\_\+t maxbytes)
\begin{DoxyCompactList}\small\item\em Gets the codec that can handle the given \textquotesingle{}magic\textquotesingle{} identifier. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_codec}{Codec}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_codec_acc4ee751f92b6e54051393e74e0a2884}{get\+Codec}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&extension)
\begin{DoxyCompactList}\small\item\em Gets the codec registered for the passed in file extension. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_codec_a21f4b8a16d070793d576f827c9fee218}{Codec\+Iterator}} \mbox{\hyperlink{class_ogre_1_1_codec_a55bf1d49e91958f8e412a583666bbd58}{get\+Codec\+Iterator}} (void)
\begin{DoxyCompactList}\small\item\em Gets the iterator for the registered codecs. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector}} \mbox{\hyperlink{class_ogre_1_1_codec_a6092324fd74dd0221f7c63ca8bec4fc1}{get\+Extensions}} (void)
\begin{DoxyCompactList}\small\item\em Gets the file extension list for the registered codecs. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{class_ogre_1_1_codec_ae5b74cfd0cb797a2ac139b4adb7ac557}{is\+Codec\+Registered}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&codec\+Type)
\begin{DoxyCompactList}\small\item\em Return whether a codec is registered already. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{class_ogre_1_1_codec_a60f445cc6919df56af6611fd14eec47d}{register\+Codec}} (\mbox{\hyperlink{class_ogre_1_1_codec}{Codec}} $\ast$p\+Codec)
\begin{DoxyCompactList}\small\item\em Registers a new codec in the database. \end{DoxyCompactList}\item 
static \+\_\+\+Ogre\+S\+T\+B\+I\+Codec\+Export void \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_a6d61006387ccb5c517aec9c397444ac0}{shutdown}} (void)
\begin{DoxyCompactList}\small\item\em Static method to shutdown and unregister the codecs. \end{DoxyCompactList}\item 
static \+\_\+\+Ogre\+S\+T\+B\+I\+Codec\+Export void \mbox{\hyperlink{class_ogre_1_1_s_t_b_i_image_codec_af95bb9c106aa7dd901963dd47ccb812b}{startup}} (void)
\begin{DoxyCompactList}\small\item\em Static method to startup and register the codecs. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{class_ogre_1_1_codec_a7aa2599cd9db05e590fb7f7786076852}{unregister\+Codec}} (\mbox{\hyperlink{class_ogre_1_1_codec}{Codec}} $\ast$p\+Codec)
\begin{DoxyCompactList}\small\item\em Unregisters a codec from the database. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}\label{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!CodecDataPtr@{CodecDataPtr}}
\index{CodecDataPtr@{CodecDataPtr}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{CodecDataPtr}{CodecDataPtr}}
{\footnotesize\ttfamily typedef \mbox{\hyperlink{class_ogre_1_1_shared_ptr}{Shared\+Ptr}}$<$\mbox{\hyperlink{class_ogre_1_1_codec_1_1_codec_data}{Codec\+Data}}$>$ \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Ogre\+::\+Codec\+::\+Codec\+Data\+Ptr}}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_codec_a21f4b8a16d070793d576f827c9fee218}\label{class_ogre_1_1_codec_a21f4b8a16d070793d576f827c9fee218}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!CodecIterator@{CodecIterator}}
\index{CodecIterator@{CodecIterator}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{CodecIterator}{CodecIterator}}
{\footnotesize\ttfamily typedef \mbox{\hyperlink{class_ogre_1_1_const_map_iterator}{Const\+Map\+Iterator}}$<$Codec\+List$>$ \mbox{\hyperlink{class_ogre_1_1_codec_a21f4b8a16d070793d576f827c9fee218}{Ogre\+::\+Codec\+::\+Codec\+Iterator}}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_codec_a8cc81c85bd7d4e25393aa153c5e01454}\label{class_ogre_1_1_codec_a8cc81c85bd7d4e25393aa153c5e01454}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!DecodeResult@{DecodeResult}}
\index{DecodeResult@{DecodeResult}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{DecodeResult}{DecodeResult}}
{\footnotesize\ttfamily typedef std\+::pair$<$\mbox{\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr}}, \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}}$>$ \mbox{\hyperlink{class_ogre_1_1_codec_a8cc81c85bd7d4e25393aa153c5e01454}{Ogre\+::\+Codec\+::\+Decode\+Result}}\hspace{0.3cm}{\ttfamily [inherited]}}



Result of a decoding; both a decoded data stream and Codec\+Data metadata. 



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_af1f778f6c0c79b362906595051dc018a}\label{class_ogre_1_1_s_t_b_i_image_codec_af1f778f6c0c79b362906595051dc018a}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!STBIImageCodec@{STBIImageCodec}}
\index{STBIImageCodec@{STBIImageCodec}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{STBIImageCodec()}{STBIImageCodec()}}
{\footnotesize\ttfamily Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::\+S\+T\+B\+I\+Image\+Codec (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_a3a6786b418be005ff8b75b9152c94898}\label{class_ogre_1_1_s_t_b_i_image_codec_a3a6786b418be005ff8b75b9152c94898}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!````~STBIImageCodec@{$\sim$STBIImageCodec}}
\index{````~STBIImageCodec@{$\sim$STBIImageCodec}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{$\sim$STBIImageCodec()}{~STBIImageCodec()}}
{\footnotesize\ttfamily virtual Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::$\sim$\+S\+T\+B\+I\+Image\+Codec (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_a2218b499470d28eb0415b3b4f87e5eb3}\label{class_ogre_1_1_s_t_b_i_image_codec_a2218b499470d28eb0415b3b4f87e5eb3}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!encode@{encode}}
\index{encode@{encode}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{encode()}{encode()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::encode (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr}} \&}]{input,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}} \&}]{p\+Data }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Codes the data in the input stream and saves the result in the output stream. 



Implements \mbox{\hyperlink{class_ogre_1_1_codec_a4134526fadbb63af778e17a8d6301c3c}{Ogre\+::\+Codec}}.

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_a07b3bd71ae44517eaf316340f09bfd01}\label{class_ogre_1_1_s_t_b_i_image_codec_a07b3bd71ae44517eaf316340f09bfd01}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!encodeToFile@{encodeToFile}}
\index{encodeToFile@{encodeToFile}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{encodeToFile()}{encodeToFile()}}
{\footnotesize\ttfamily void Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::encode\+To\+File (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr}} \&}]{input,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{out\+File\+Name,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_codec_a29e31ad112b08ea7fb648b63f426ff1f}{Codec\+Data\+Ptr}} \&}]{p\+Data }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Codes the data in the input chunk and saves the result in the output filename provided. 

Provided for efficiency since coding to memory is progressive therefore memory required is unknown leading to reallocations. 
\begin{DoxyParams}{Parameters}
{\em input} & The input data \\
\hline
{\em out\+File\+Name} & The filename to write to \\
\hline
{\em p\+Data} & Extra information to be passed to the codec (codec type specific) \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{class_ogre_1_1_codec_aa8c8c94007bd13ccab9ca54fb3e8bf81}{Ogre\+::\+Codec}}.

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_aef0eb6d70068813c59f4be30af564516}\label{class_ogre_1_1_s_t_b_i_image_codec_aef0eb6d70068813c59f4be30af564516}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!decode@{decode}}
\index{decode@{decode}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{decode()}{decode()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_codec_a8cc81c85bd7d4e25393aa153c5e01454}{Decode\+Result}} Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::decode (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \&}]{input }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Codes the data from the input chunk into the output chunk. 


\begin{DoxyParams}{Parameters}
{\em input} & Stream containing the encoded data \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{class_ogre_1_1_codec_a1eae89f8ca897b68ba6473e7b3d058f4}{Ogre\+::\+Codec}}.

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_a1763365ccd236b49d56e9c8b60f16844}\label{class_ogre_1_1_s_t_b_i_image_codec_a1763365ccd236b49d56e9c8b60f16844}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!getType@{getType}}
\index{getType@{getType}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the type of the codec as a String. 



Implements \mbox{\hyperlink{class_ogre_1_1_codec_ada1a5477ab6a563565f1b3599d7b806a}{Ogre\+::\+Codec}}.

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_ad70f382ca4da6f2f55de053f80ebea0e}\label{class_ogre_1_1_s_t_b_i_image_codec_ad70f382ca4da6f2f55de053f80ebea0e}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!magicNumberToFileExt@{magicNumberToFileExt}}
\index{magicNumberToFileExt@{magicNumberToFileExt}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{magicNumberToFileExt()}{magicNumberToFileExt()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::magic\+Number\+To\+File\+Ext (\begin{DoxyParamCaption}\item[{const char $\ast$}]{magic\+Number\+Ptr,  }\item[{size\+\_\+t}]{maxbytes }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Maps a magic number header to a file extension, if this codec recognises it. 


\begin{DoxyParams}{Parameters}
{\em magic\+Number\+Ptr} & Pointer to a stream of bytes which should identify the file. Note that this may be more than needed -\/ each codec may be looking for a different size magic number. \\
\hline
{\em maxbytes} & The number of bytes passed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A blank string if the magic number was unknown, or a file extension. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{class_ogre_1_1_codec_af90756f690827353e18347d328bc5180}{Ogre\+::\+Codec}}.

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_af95bb9c106aa7dd901963dd47ccb812b}\label{class_ogre_1_1_s_t_b_i_image_codec_af95bb9c106aa7dd901963dd47ccb812b}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!startup@{startup}}
\index{startup@{startup}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{startup()}{startup()}}
{\footnotesize\ttfamily static \+\_\+\+Ogre\+S\+T\+B\+I\+Codec\+Export void Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::startup (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Static method to startup and register the codecs. 



Referenced by Ogre\+::\+S\+T\+B\+I\+Plugin\+::install().

\mbox{\Hypertarget{class_ogre_1_1_s_t_b_i_image_codec_a6d61006387ccb5c517aec9c397444ac0}\label{class_ogre_1_1_s_t_b_i_image_codec_a6d61006387ccb5c517aec9c397444ac0}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{shutdown()}{shutdown()}}
{\footnotesize\ttfamily static \+\_\+\+Ogre\+S\+T\+B\+I\+Codec\+Export void Ogre\+::\+S\+T\+B\+I\+Image\+Codec\+::shutdown (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Static method to shutdown and unregister the codecs. 



Referenced by Ogre\+::\+S\+T\+B\+I\+Plugin\+::uninstall().

\mbox{\Hypertarget{class_ogre_1_1_image_codec_a6e9a3bb697c7249e822725eda274615c}\label{class_ogre_1_1_image_codec_a6e9a3bb697c7249e822725eda274615c}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!getDataType@{getDataType}}
\index{getDataType@{getDataType}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{getDataType()}{getDataType()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+Image\+Codec\+::get\+Data\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns the type of the data that supported by this codec as a String. 



Implements \mbox{\hyperlink{class_ogre_1_1_codec_aeb344d293259ec352c308d81fdf3e94c}{Ogre\+::\+Codec}}.

\mbox{\Hypertarget{class_ogre_1_1_codec_a60f445cc6919df56af6611fd14eec47d}\label{class_ogre_1_1_codec_a60f445cc6919df56af6611fd14eec47d}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!registerCodec@{registerCodec}}
\index{registerCodec@{registerCodec}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{registerCodec()}{registerCodec()}}
{\footnotesize\ttfamily static void Ogre\+::\+Codec\+::register\+Codec (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_codec}{Codec}} $\ast$}]{p\+Codec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [inherited]}}



Registers a new codec in the database. 



References Ogre\+::\+Exception\+::\+E\+R\+R\+\_\+\+D\+U\+P\+L\+I\+C\+A\+T\+E\+\_\+\+I\+T\+EM, Ogre\+::\+Codec\+::get\+Type(), and O\+G\+R\+E\+\_\+\+E\+X\+C\+E\+PT.

\mbox{\Hypertarget{class_ogre_1_1_codec_ae5b74cfd0cb797a2ac139b4adb7ac557}\label{class_ogre_1_1_codec_ae5b74cfd0cb797a2ac139b4adb7ac557}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!isCodecRegistered@{isCodecRegistered}}
\index{isCodecRegistered@{isCodecRegistered}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{isCodecRegistered()}{isCodecRegistered()}}
{\footnotesize\ttfamily static bool Ogre\+::\+Codec\+::is\+Codec\+Registered (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{codec\+Type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [inherited]}}



Return whether a codec is registered already. 

\mbox{\Hypertarget{class_ogre_1_1_codec_a7aa2599cd9db05e590fb7f7786076852}\label{class_ogre_1_1_codec_a7aa2599cd9db05e590fb7f7786076852}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!unregisterCodec@{unregisterCodec}}
\index{unregisterCodec@{unregisterCodec}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{unregisterCodec()}{unregisterCodec()}}
{\footnotesize\ttfamily static void Ogre\+::\+Codec\+::unregister\+Codec (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_codec}{Codec}} $\ast$}]{p\+Codec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [inherited]}}



Unregisters a codec from the database. 



References Ogre\+::\+Codec\+::get\+Type().

\mbox{\Hypertarget{class_ogre_1_1_codec_a55bf1d49e91958f8e412a583666bbd58}\label{class_ogre_1_1_codec_a55bf1d49e91958f8e412a583666bbd58}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!getCodecIterator@{getCodecIterator}}
\index{getCodecIterator@{getCodecIterator}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{getCodecIterator()}{getCodecIterator()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_codec_a21f4b8a16d070793d576f827c9fee218}{Codec\+Iterator}} Ogre\+::\+Codec\+::get\+Codec\+Iterator (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [inherited]}}



Gets the iterator for the registered codecs. 

\mbox{\Hypertarget{class_ogre_1_1_codec_a6092324fd74dd0221f7c63ca8bec4fc1}\label{class_ogre_1_1_codec_a6092324fd74dd0221f7c63ca8bec4fc1}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!getExtensions@{getExtensions}}
\index{getExtensions@{getExtensions}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{getExtensions()}{getExtensions()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector}} Ogre\+::\+Codec\+::get\+Extensions (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}



Gets the file extension list for the registered codecs. 

\mbox{\Hypertarget{class_ogre_1_1_codec_acc4ee751f92b6e54051393e74e0a2884}\label{class_ogre_1_1_codec_acc4ee751f92b6e54051393e74e0a2884}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!getCodec@{getCodec}}
\index{getCodec@{getCodec}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{getCodec()}{getCodec()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_codec}{Codec}}$\ast$ Ogre\+::\+Codec\+::get\+Codec (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{extension }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}



Gets the codec registered for the passed in file extension. 

\mbox{\Hypertarget{class_ogre_1_1_codec_ac8775b1052fb8ba72abdfb55df20a6af}\label{class_ogre_1_1_codec_ac8775b1052fb8ba72abdfb55df20a6af}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!getCodec@{getCodec}}
\index{getCodec@{getCodec}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{getCodec()}{getCodec()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_codec}{Codec}}$\ast$ Ogre\+::\+Codec\+::get\+Codec (\begin{DoxyParamCaption}\item[{char $\ast$}]{magic\+Number\+Ptr,  }\item[{size\+\_\+t}]{maxbytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}



Gets the codec that can handle the given \textquotesingle{}magic\textquotesingle{} identifier. 


\begin{DoxyParams}{Parameters}
{\em magic\+Number\+Ptr} & Pointer to a stream of bytes which should identify the file. Note that this may be more than needed -\/ each codec may be looking for a different size magic number. \\
\hline
{\em maxbytes} & The number of bytes passed \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_codec_a270be35471eb9ef28fdbd4b7dced21b9}\label{class_ogre_1_1_codec_a270be35471eb9ef28fdbd4b7dced21b9}} 
\index{Ogre::STBIImageCodec@{Ogre::STBIImageCodec}!magicNumberMatch@{magicNumberMatch}}
\index{magicNumberMatch@{magicNumberMatch}!Ogre::STBIImageCodec@{Ogre::STBIImageCodec}}
\doxysubsubsection{\texorpdfstring{magicNumberMatch()}{magicNumberMatch()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Codec\+::magic\+Number\+Match (\begin{DoxyParamCaption}\item[{const char $\ast$}]{magic\+Number\+Ptr,  }\item[{size\+\_\+t}]{maxbytes }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns whether a magic number header matches this codec. 


\begin{DoxyParams}{Parameters}
{\em magic\+Number\+Ptr} & Pointer to a stream of bytes which should identify the file. Note that this may be more than needed -\/ each codec may be looking for a different size magic number. \\
\hline
{\em maxbytes} & The number of bytes passed \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_s_t_b_i_codec_8h}{Ogre\+S\+T\+B\+I\+Codec.\+h}}\end{DoxyCompactItemize}
