\hypertarget{class_ogre_1_1_overlay_element_factory}{}\section{Ogre\+:\+:Overlay\+Element\+Factory Class Reference}
\label{class_ogre_1_1_overlay_element_factory}\index{Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}}


Defines the interface which all components wishing to supply \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} subclasses must implement.  




{\ttfamily \#include $<$Ogre\+Overlay\+Element\+Factory.\+h$>$}



Inheritance diagram for Ogre\+:\+:Overlay\+Element\+Factory\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_overlay_element_factory__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_ogre_1_1_overlay_element_factory_a1f58e18cf969c8ebbf5a40df93e744f0}{$\sim$\+Overlay\+Element\+Factory} ()
\begin{DoxyCompactList}\small\item\em Destroy the overlay element factory. \end{DoxyCompactList}\item 
virtual \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} $\ast$ \hyperlink{class_ogre_1_1_overlay_element_factory_a07e96b5f2f0c48c63de789cb59a74cbe}{create\+Overlay\+Element} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&instance\+Name) \hyperlink{_ogre_platform_8h_a11162eebee0099930c48076229cc6f04}{O\+G\+R\+E\+\_\+\+N\+O\+D\+I\+S\+C\+A\+RD}=0
\begin{DoxyCompactList}\small\item\em Creates a new \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} instance with the name supplied. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_overlay_element_factory_a72387fe84a4dc4e87d7ab1cfeaaf73b6}{destroy\+Overlay\+Element} (\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} $\ast$p\+Element)
\begin{DoxyCompactList}\small\item\em Destroys a \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} which this factory created previously. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_overlay_element_factory_a71ac1dcee64048ccf181159a27e769bb}{get\+Type\+Name} (void) const =0
\begin{DoxyCompactList}\small\item\em Gets the string uniquely identifying the type of element this factory creates. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Defines the interface which all components wishing to supply \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} subclasses must implement. 

\begin{DoxyRemark}{Remarks}
To allow the \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} types available for inclusion on overlays to be extended, O\+G\+RE allows external apps or plugins to register their ability to create custom Overlay\+Elements with the \hyperlink{class_ogre_1_1_overlay_manager}{Overlay\+Manager}, using the add\+Overlay\+Element\+Factory method. Classes wanting to do this must implement this interface. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Each \hyperlink{class_ogre_1_1_overlay_element_factory}{Overlay\+Element\+Factory} creates a single type of \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}, identified by a \textquotesingle{}type name\textquotesingle{} which must be unique. 
\end{DoxyParagraph}


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



Destroy the overlay element factory. 



References O\+G\+R\+E\+\_\+\+N\+O\+D\+I\+S\+C\+A\+RD.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_overlay_element_factory_a07e96b5f2f0c48c63de789cb59a74cbe}\label{class_ogre_1_1_overlay_element_factory_a07e96b5f2f0c48c63de789cb59a74cbe}} 
\index{Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}!create\+Overlay\+Element@{create\+Overlay\+Element}}
\index{create\+Overlay\+Element@{create\+Overlay\+Element}!Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}}
\subsubsection{\texorpdfstring{create\+Overlay\+Element()}{createOverlayElement()}}
{\footnotesize\ttfamily virtual \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}$\ast$ Ogre\+::\+Overlay\+Element\+Factory\+::create\+Overlay\+Element (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{instance\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Creates a new \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} instance with the name supplied. 



Implemented in \hyperlink{class_ogre_1_1_text_area_overlay_element_factory_aea75e658e881632cd4c67a38d952af9f}{Ogre\+::\+Text\+Area\+Overlay\+Element\+Factory}, \hyperlink{class_ogre_1_1_border_panel_overlay_element_factory_a16968c41d48927f521a6d1365c6bd338}{Ogre\+::\+Border\+Panel\+Overlay\+Element\+Factory}, and \hyperlink{class_ogre_1_1_panel_overlay_element_factory_ac871ad00836156935e4a63c228b14f20}{Ogre\+::\+Panel\+Overlay\+Element\+Factory}.

\mbox{\Hypertarget{class_ogre_1_1_overlay_element_factory_a72387fe84a4dc4e87d7ab1cfeaaf73b6}\label{class_ogre_1_1_overlay_element_factory_a72387fe84a4dc4e87d7ab1cfeaaf73b6}} 
\index{Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}!destroy\+Overlay\+Element@{destroy\+Overlay\+Element}}
\index{destroy\+Overlay\+Element@{destroy\+Overlay\+Element}!Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}}
\subsubsection{\texorpdfstring{destroy\+Overlay\+Element()}{destroyOverlayElement()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Overlay\+Element\+Factory\+::destroy\+Overlay\+Element (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} $\ast$}]{p\+Element }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Destroys a \hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element} which this factory created previously. 

\mbox{\Hypertarget{class_ogre_1_1_overlay_element_factory_a71ac1dcee64048ccf181159a27e769bb}\label{class_ogre_1_1_overlay_element_factory_a71ac1dcee64048ccf181159a27e769bb}} 
\index{Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}!get\+Type\+Name@{get\+Type\+Name}}
\index{get\+Type\+Name@{get\+Type\+Name}!Ogre\+::\+Overlay\+Element\+Factory@{Ogre\+::\+Overlay\+Element\+Factory}}
\subsubsection{\texorpdfstring{get\+Type\+Name()}{getTypeName()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Overlay\+Element\+Factory\+::get\+Type\+Name (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the string uniquely identifying the type of element this factory creates. 



Implemented in \hyperlink{class_ogre_1_1_text_area_overlay_element_factory_aef4a023721a394d518871ca1033fa803}{Ogre\+::\+Text\+Area\+Overlay\+Element\+Factory}, \hyperlink{class_ogre_1_1_border_panel_overlay_element_factory_af525a5479006ac2944affba8aba47f61}{Ogre\+::\+Border\+Panel\+Overlay\+Element\+Factory}, and \hyperlink{class_ogre_1_1_panel_overlay_element_factory_ad1e3db48440639d0db0ac81d8f24ce77}{Ogre\+::\+Panel\+Overlay\+Element\+Factory}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_overlay_element_factory_8h}{Ogre\+Overlay\+Element\+Factory.\+h}\end{DoxyCompactItemize}
