\hypertarget{class_ogre_1_1_material_serializer_1_1_listener}{}\section{Ogre\+:\+:Material\+Serializer\+:\+:Listener Class Reference}
\label{class_ogre_1_1_material_serializer_1_1_listener}\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}


Class that allows listening in on the various stages of material serialization process.  




{\ttfamily \#include $<$Ogre\+Material\+Serializer.\+h$>$}



Inheritance diagram for Ogre\+:\+:Material\+Serializer\+:\+:Listener\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=231pt]{class_ogre_1_1_material_serializer_1_1_listener__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_ogre_1_1_material_serializer_1_1_listener_a13e6cb61dc6c4c5663de032e8d027551}{$\sim$\+Listener} ()
\item 
void \hyperlink{class_ogre_1_1_material_serializer_1_1_listener_a192341794a44b9096b891b676be06b35}{gpu\+Program\+Ref\+Event\+Raised} (\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$ser, \hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event} event, bool \&skip, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&attrib, const \hyperlink{namespace_ogre_a2c452533979dfdf73a296288e94d920b}{Gpu\+Program\+Ptr} \&program, const \hyperlink{namespace_ogre_aebab7cecf3f3ae81a1fbfa08ab36f2b5}{Gpu\+Program\+Parameters\+Shared\+Ptr} \&params, \hyperlink{class_ogre_1_1_gpu_program_parameters}{Gpu\+Program\+Parameters} $\ast$default\+Params)
\begin{DoxyCompactList}\small\item\em Called when G\+PU program reference section event raised. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_serializer_1_1_listener_a12692ae5f00a3012d83342ab7539dadd}{material\+Event\+Raised} (\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$ser, \hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event} event, bool \&skip, const \hyperlink{class_ogre_1_1_material}{Material} $\ast$mat)
\begin{DoxyCompactList}\small\item\em Called when material section event raised. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_serializer_1_1_listener_a22fbc4529e17ce36172a890868973d6c}{pass\+Event\+Raised} (\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$ser, \hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event} event, bool \&skip, const \hyperlink{class_ogre_1_1_pass}{Pass} $\ast$pass)
\begin{DoxyCompactList}\small\item\em Called when pass section event raised. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_serializer_1_1_listener_ae25d7325accb65561cab814d2731530f}{technique\+Event\+Raised} (\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$ser, \hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event} event, bool \&skip, const \hyperlink{class_ogre_1_1_technique}{Technique} $\ast$tech)
\begin{DoxyCompactList}\small\item\em Called when technique section event raised. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_serializer_1_1_listener_a6d101b60cbb7b19a25ae7bf030552b1a}{texture\+Unit\+State\+Event\+Raised} (\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$ser, \hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event} event, bool \&skip, const \hyperlink{class_ogre_1_1_texture_unit_state}{Texture\+Unit\+State} $\ast$texture\+Unit)
\begin{DoxyCompactList}\small\item\em Called when texture unit state section event raised. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class that allows listening in on the various stages of material serialization process. 

Sub-\/classing it enable extending the attribute set of any part in the material. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_material_serializer_1_1_listener_a13e6cb61dc6c4c5663de032e8d027551}\label{class_ogre_1_1_material_serializer_1_1_listener_a13e6cb61dc6c4c5663de032e8d027551}} 
\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}!````~Listener@{$\sim$\+Listener}}
\index{````~Listener@{$\sim$\+Listener}!Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}
\subsubsection{\texorpdfstring{$\sim$\+Listener()}{~Listener()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Material\+Serializer\+::\+Listener\+::$\sim$\+Listener (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_material_serializer_1_1_listener_a12692ae5f00a3012d83342ab7539dadd}\label{class_ogre_1_1_material_serializer_1_1_listener_a12692ae5f00a3012d83342ab7539dadd}} 
\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}!material\+Event\+Raised@{material\+Event\+Raised}}
\index{material\+Event\+Raised@{material\+Event\+Raised}!Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}
\subsubsection{\texorpdfstring{material\+Event\+Raised()}{materialEventRaised()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Serializer\+::\+Listener\+::material\+Event\+Raised (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$}]{ser,  }\item[{\hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event}}]{event,  }\item[{bool \&}]{skip,  }\item[{const \hyperlink{class_ogre_1_1_material}{Material} $\ast$}]{mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Called when material section event raised. 


\begin{DoxyParams}{Parameters}
{\em ser} & The \hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} instance that writes the given material. \\
\hline
{\em event} & The current section writing stage. \\
\hline
{\em skip} & May set to true by sub-\/class instances in order to skip the following section write. This parameter relevant only when stage equals M\+S\+E\+\_\+\+P\+R\+E\+\_\+\+W\+R\+I\+TE. \\
\hline
{\em mat} & The material that is being written. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{group___r_t_shader_ga0c4d6065a7366a2c7cec871582b59662}{Ogre\+::\+R\+T\+Shader\+::\+S\+G\+Material\+Serializer\+Listener}.

\mbox{\Hypertarget{class_ogre_1_1_material_serializer_1_1_listener_ae25d7325accb65561cab814d2731530f}\label{class_ogre_1_1_material_serializer_1_1_listener_ae25d7325accb65561cab814d2731530f}} 
\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}!technique\+Event\+Raised@{technique\+Event\+Raised}}
\index{technique\+Event\+Raised@{technique\+Event\+Raised}!Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}
\subsubsection{\texorpdfstring{technique\+Event\+Raised()}{techniqueEventRaised()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Serializer\+::\+Listener\+::technique\+Event\+Raised (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$}]{ser,  }\item[{\hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event}}]{event,  }\item[{bool \&}]{skip,  }\item[{const \hyperlink{class_ogre_1_1_technique}{Technique} $\ast$}]{tech }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Called when technique section event raised. 


\begin{DoxyParams}{Parameters}
{\em ser} & The \hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} instance that writes the given material. \\
\hline
{\em event} & The current section writing stage. \\
\hline
{\em skip} & May set to true by sub-\/class instances in order to skip the following section write. This parameter relevant only when stage equals M\+S\+E\+\_\+\+P\+R\+E\+\_\+\+W\+R\+I\+TE. \\
\hline
{\em tech} & The technique that is being written. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{group___r_t_shader_gae69f34379ca56e44da81e6bb94e569d2}{Ogre\+::\+R\+T\+Shader\+::\+S\+G\+Material\+Serializer\+Listener}.

\mbox{\Hypertarget{class_ogre_1_1_material_serializer_1_1_listener_a22fbc4529e17ce36172a890868973d6c}\label{class_ogre_1_1_material_serializer_1_1_listener_a22fbc4529e17ce36172a890868973d6c}} 
\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}!pass\+Event\+Raised@{pass\+Event\+Raised}}
\index{pass\+Event\+Raised@{pass\+Event\+Raised}!Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}
\subsubsection{\texorpdfstring{pass\+Event\+Raised()}{passEventRaised()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Serializer\+::\+Listener\+::pass\+Event\+Raised (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$}]{ser,  }\item[{\hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event}}]{event,  }\item[{bool \&}]{skip,  }\item[{const \hyperlink{class_ogre_1_1_pass}{Pass} $\ast$}]{pass }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Called when pass section event raised. 


\begin{DoxyParams}{Parameters}
{\em ser} & The \hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} instance that writes the given material. \\
\hline
{\em event} & The current section writing stage. \\
\hline
{\em skip} & May set to true by sub-\/class instances in order to skip the following section write. This parameter relevant only when stage equals M\+S\+E\+\_\+\+P\+R\+E\+\_\+\+W\+R\+I\+TE. \\
\hline
{\em pass} & The pass that is being written. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{group___r_t_shader_gae7cd570f009ae6daa1436bb3a1b93b1c}{Ogre\+::\+R\+T\+Shader\+::\+S\+G\+Material\+Serializer\+Listener}.

\mbox{\Hypertarget{class_ogre_1_1_material_serializer_1_1_listener_a192341794a44b9096b891b676be06b35}\label{class_ogre_1_1_material_serializer_1_1_listener_a192341794a44b9096b891b676be06b35}} 
\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}!gpu\+Program\+Ref\+Event\+Raised@{gpu\+Program\+Ref\+Event\+Raised}}
\index{gpu\+Program\+Ref\+Event\+Raised@{gpu\+Program\+Ref\+Event\+Raised}!Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}
\subsubsection{\texorpdfstring{gpu\+Program\+Ref\+Event\+Raised()}{gpuProgramRefEventRaised()}}
{\footnotesize\ttfamily void Ogre\+::\+Material\+Serializer\+::\+Listener\+::gpu\+Program\+Ref\+Event\+Raised (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$}]{ser,  }\item[{\hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event}}]{event,  }\item[{bool \&}]{skip,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{attrib,  }\item[{const \hyperlink{namespace_ogre_a2c452533979dfdf73a296288e94d920b}{Gpu\+Program\+Ptr} \&}]{program,  }\item[{const \hyperlink{namespace_ogre_aebab7cecf3f3ae81a1fbfa08ab36f2b5}{Gpu\+Program\+Parameters\+Shared\+Ptr} \&}]{params,  }\item[{\hyperlink{class_ogre_1_1_gpu_program_parameters}{Gpu\+Program\+Parameters} $\ast$}]{default\+Params }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Called when G\+PU program reference section event raised. 


\begin{DoxyParams}{Parameters}
{\em ser} & The \hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} instance that writes the given material. \\
\hline
{\em event} & The current section writing stage. \\
\hline
{\em skip} & May set to true by sub-\/class instances in order to skip the following section write. This parameter relevant only when stage equals M\+S\+E\+\_\+\+P\+R\+E\+\_\+\+W\+R\+I\+TE. \\
\hline
{\em attrib} & The G\+PU program reference description (vertex\+\_\+program\+\_\+ref, fragment\+\_\+program\+\_\+ref, etc). \\
\hline
{\em program} & The program being written. \\
\hline
{\em params} & The program parameters. \\
\hline
{\em default\+Params} & The default program parameters. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_material_serializer_1_1_listener_a6d101b60cbb7b19a25ae7bf030552b1a}\label{class_ogre_1_1_material_serializer_1_1_listener_a6d101b60cbb7b19a25ae7bf030552b1a}} 
\index{Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}!texture\+Unit\+State\+Event\+Raised@{texture\+Unit\+State\+Event\+Raised}}
\index{texture\+Unit\+State\+Event\+Raised@{texture\+Unit\+State\+Event\+Raised}!Ogre\+::\+Material\+Serializer\+::\+Listener@{Ogre\+::\+Material\+Serializer\+::\+Listener}}
\subsubsection{\texorpdfstring{texture\+Unit\+State\+Event\+Raised()}{textureUnitStateEventRaised()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Serializer\+::\+Listener\+::texture\+Unit\+State\+Event\+Raised (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} $\ast$}]{ser,  }\item[{\hyperlink{class_ogre_1_1_material_serializer_a237c1a8b1e58e28c793e1c3febc86d4b}{Serialize\+Event}}]{event,  }\item[{bool \&}]{skip,  }\item[{const \hyperlink{class_ogre_1_1_texture_unit_state}{Texture\+Unit\+State} $\ast$}]{texture\+Unit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Called when texture unit state section event raised. 


\begin{DoxyParams}{Parameters}
{\em ser} & The \hyperlink{class_ogre_1_1_material_serializer}{Material\+Serializer} instance that writes the given material. \\
\hline
{\em event} & The current section writing stage. \\
\hline
{\em skip} & May set to true by sub-\/class instances in order to skip the following section write. This parameter relevant only when stage equals M\+S\+E\+\_\+\+P\+R\+E\+\_\+\+W\+R\+I\+TE. \\
\hline
{\em texture\+Unit} & The texture unit state that is being written. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{group___r_t_shader_gaf51bcbc1062b97a10c74ea7e70dec651}{Ogre\+::\+R\+T\+Shader\+::\+S\+G\+Material\+Serializer\+Listener}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_material_serializer_8h}{Ogre\+Material\+Serializer.\+h}\end{DoxyCompactItemize}
