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


Defines the interface which all components wishing to supply \mbox{\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}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_overlay_element_factory_a07e96b5f2f0c48c63de789cb59a74cbe}{create\+Overlay\+Element}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&instance\+Name) \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}} instance with the name supplied. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_overlay_element_factory_a72387fe84a4dc4e87d7ab1cfeaaf73b6}{destroy\+Overlay\+Element}} (\mbox{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}} $\ast$p\+Element)
\begin{DoxyCompactList}\small\item\em Destroys a \mbox{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}} which this factory created previously. \end{DoxyCompactList}\item 
virtual const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \& \mbox{\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}


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

\begin{DoxyRemark}{Remarks}
To allow the \mbox{\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 \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_overlay_element_factory}{Overlay\+Element\+Factory}} creates a single type of \mbox{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}}, identified by a \textquotesingle{}type name\textquotesingle{} which must be unique. 
\end{DoxyParagraph}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_overlay_element_factory_a1f58e18cf969c8ebbf5a40df93e744f0}\label{class_ogre_1_1_overlay_element_factory_a1f58e18cf969c8ebbf5a40df93e744f0}} 
\index{Ogre::OverlayElementFactory@{Ogre::OverlayElementFactory}!````~OverlayElementFactory@{$\sim$OverlayElementFactory}}
\index{````~OverlayElementFactory@{$\sim$OverlayElementFactory}!Ogre::OverlayElementFactory@{Ogre::OverlayElementFactory}}
\doxysubsubsection{\texorpdfstring{$\sim$OverlayElementFactory()}{~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. 



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



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



Implemented in \mbox{\hyperlink{class_ogre_1_1_text_area_overlay_element_factory_aea75e658e881632cd4c67a38d952af9f}{Ogre\+::\+Text\+Area\+Overlay\+Element\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_border_panel_overlay_element_factory_a16968c41d48927f521a6d1365c6bd338}{Ogre\+::\+Border\+Panel\+Overlay\+Element\+Factory}}, and \mbox{\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::OverlayElementFactory@{Ogre::OverlayElementFactory}!destroyOverlayElement@{destroyOverlayElement}}
\index{destroyOverlayElement@{destroyOverlayElement}!Ogre::OverlayElementFactory@{Ogre::OverlayElementFactory}}
\doxysubsubsection{\texorpdfstring{destroyOverlayElement()}{destroyOverlayElement()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Overlay\+Element\+Factory\+::destroy\+Overlay\+Element (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_overlay_element}{Overlay\+Element}} $\ast$}]{p\+Element }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Destroys a \mbox{\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::OverlayElementFactory@{Ogre::OverlayElementFactory}!getTypeName@{getTypeName}}
\index{getTypeName@{getTypeName}!Ogre::OverlayElementFactory@{Ogre::OverlayElementFactory}}
\doxysubsubsection{\texorpdfstring{getTypeName()}{getTypeName()}}
{\footnotesize\ttfamily virtual const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_text_area_overlay_element_factory_aef4a023721a394d518871ca1033fa803}{Ogre\+::\+Text\+Area\+Overlay\+Element\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_border_panel_overlay_element_factory_af525a5479006ac2944affba8aba47f61}{Ogre\+::\+Border\+Panel\+Overlay\+Element\+Factory}}, and \mbox{\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 
\mbox{\hyperlink{_ogre_overlay_element_factory_8h}{Ogre\+Overlay\+Element\+Factory.\+h}}\end{DoxyCompactItemize}
