\hypertarget{class_ogre_bites_1_1_application_context_base}{}\doxysection{Ogre\+Bites\+::Application\+Context\+Base Class Reference}
\label{class_ogre_bites_1_1_application_context_base}\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}


Base class responsible for setting up a common context for applications.  




{\ttfamily \#include $<$Ogre\+Application\+Context\+Base.\+h$>$}



Inheritance diagram for Ogre\+Bites\+::Application\+Context\+Base\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=268pt]{class_ogre_bites_1_1_application_context_base__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ac2a2b69cdef63430a0070f2dea3958db}{Application\+Context\+Base}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \&app\+Name=\char`\"{}Ogre3D\char`\"{})
\item 
virtual \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a8767e4b9196659500eb2e883b878ad36}{$\sim$\+Application\+Context\+Base}} ()
\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a292d64cf97eccad01935bfe803b92102}{\+\_\+fire\+Input\+Event}} (const \mbox{\hyperlink{union_ogre_bites_1_1_event}{Event}} \&event, uint32\+\_\+t window\+ID) const
\begin{DoxyCompactList}\small\item\em inspect the event and call one of the corresponding functions on the registered \mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a759499ca97dde7ab476b99165f858831}{add\+Input\+Listener}} (\mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$lis)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ad08c5d9724cea17a9e59a5d4f4e6c434}{add\+Input\+Listener}} (\mbox{\hyperlink{namespace_ogre_bites_af9f017cd1b7c2ca7b8f94a8b10f6a5d0}{Native\+Window\+Type}} $\ast$win, \mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$lis)
\begin{DoxyCompactList}\small\item\em attach input listener \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a5cfd50e5e7240b4e120584f3413647f2}{close\+App}} ()
\begin{DoxyCompactList}\small\item\em This function closes down the application -\/ saves the configuration then shutdowns. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a331c8300aaf20414e5274b99bf49a5fe}{create\+Dummy\+Scene}} ()
\begin{DoxyCompactList}\small\item\em Creates dummy scene to allow rendering G\+UI in viewport. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a28afa19a32c4b9f512605d38bf9d8e79}{create\+Root}} ()
\begin{DoxyCompactList}\small\item\em Creates the O\+G\+RE root. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{struct_ogre_bites_1_1_native_window_pair}{Native\+Window\+Pair}} \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a7b5cb004093bf6adce17c6f001b21978}{create\+Window}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \&name, uint32\+\_\+t w=0, uint32\+\_\+t h=0, \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Ogre\+::\+Name\+Value\+Pair\+List}} misc\+Params=\mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Ogre\+::\+Name\+Value\+Pair\+List}}())
\begin{DoxyCompactList}\small\item\em Create a new render window. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a687f986aca473091feb2e6c7d297297f}{destroy\+Dummy\+Scene}} ()
\begin{DoxyCompactList}\small\item\em Destroys dummy scene. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a6b9878d9d1ea6d5a353df5d6e09d4aac}{destroy\+R\+T\+Shader\+System}} ()
\begin{DoxyCompactList}\small\item\em Destroy the RT Shader system. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a5a5d88b405d5be78889092a30461a108}{enable\+Shader\+Cache}} () const
\begin{DoxyCompactList}\small\item\em enables the caching of compiled shaders to file \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a3368c68bdb811b87df2144aa4e1345bc}{frame\+Ended}} (const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Ogre\+::\+Frame\+Event}} \&evt)
\begin{DoxyCompactList}\small\item\em Called just after a frame has been rendered. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_af8879ee99573721666a02346424bbacb}{frame\+Rendering\+Queued}} (const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Ogre\+::\+Frame\+Event}} \&evt)
\begin{DoxyCompactList}\small\item\em Called after all render targets have had their rendering commands issued, but before render windows have been asked to flip their buffers over. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a066e6af742131478b6bb6e13635103f4}{frame\+Started}} (const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Ogre\+::\+Frame\+Event}} \&evt)
\begin{DoxyCompactList}\small\item\em Called when a frame is about to begin rendering. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_file_system_layer}{Ogre\+::\+File\+System\+Layer}} \& \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a1742cc2ca6c68b21ea6491569f0066e8}{get\+F\+S\+Layer}} ()
\begin{DoxyCompactList}\small\item\em get the File\+System\+Layer instace pointing to an application specific directory \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_overlay_system}{Ogre\+::\+Overlay\+System}} $\ast$ \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ae14805ea3e8cd8a25daa6e9d20d5a87a}{get\+Overlay\+System}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$ \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ad7da362f07f69fcadfc70c3ca4f5892e}{get\+Render\+Window}} () const
\begin{DoxyCompactList}\small\item\em get the main Render\+Window owns the context on Open\+GL \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_root}{Ogre\+::\+Root}} $\ast$ \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a6018387cbc5cd5c960355150b4200d72}{get\+Root}} () const
\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_af422acd8fe229cb29d0531991970c691}{init\+App}} ()
\begin{DoxyCompactList}\small\item\em This function initializes the render system and resources. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_afd2dfaca8184be463450b5b6389566fe}{initialise\+R\+T\+Shader\+System}} ()
\begin{DoxyCompactList}\small\item\em Initialize the RT Shader system. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a477678a8a5a7707b21b1fdeed035bbcd}{load\+Resources}} ()
\begin{DoxyCompactList}\small\item\em Loads context-\/wide resource groups. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a65338f85be78c3b80b69c6e6f1fb9d66}{locate\+Resources}} ()
\begin{DoxyCompactList}\small\item\em Finds context-\/wide resource groups. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a29e774c4b9d8e28ca06d5ea386c99a1c}{one\+Time\+Config}} ()
\begin{DoxyCompactList}\small\item\em Configures the startup settings for O\+G\+RE. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a27ea8e603c78ee4f29903a18c3fcc642}{poll\+Events}} ()
\begin{DoxyCompactList}\small\item\em process all window events since last call \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ae476f40efd8e88f94badae5187b70053}{reconfigure}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \&renderer, \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Ogre\+::\+Name\+Value\+Pair\+List}} \&options)
\begin{DoxyCompactList}\small\item\em Reconfigures the context. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ae0c27985a012d1d0d9e4ee6f7b0659a2}{remove\+Input\+Listener}} (\mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$lis)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a2e097414054773d2cc1812268011c440}{remove\+Input\+Listener}} (\mbox{\hyperlink{namespace_ogre_bites_af9f017cd1b7c2ca7b8f94a8b10f6a5d0}{Native\+Window\+Type}} $\ast$win, \mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$lis)
\begin{DoxyCompactList}\small\item\em detatch input listener \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ace75364125a967496ab315f012e7acdf}{set\+R\+T\+S\+S\+Write\+Shaders\+To\+Disk}} (bool write)
\begin{DoxyCompactList}\small\item\em make the R\+T\+SS write out the generated shaders for caching and debugging \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a2696046f826adc323b5ed166eba91558}{setup}} ()
\begin{DoxyCompactList}\small\item\em Sets up the context after configuration. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a5149884c61334711e13008767885af65}{set\+Window\+Grab}} (bool grab=true)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a3468e25346921b9d9dc277ffe8d530aa}{set\+Window\+Grab}} (\mbox{\hyperlink{namespace_ogre_bites_af9f017cd1b7c2ca7b8f94a8b10f6a5d0}{Native\+Window\+Type}} $\ast$win, bool grab=true)
\begin{DoxyCompactList}\small\item\em When input is grabbed the mouse is confined to the window. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a41f4a0f6ab733fcabf1b20ebad8f2ee1}{shutdown}} ()
\begin{DoxyCompactList}\small\item\em Cleans up and shuts down the context. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a8ec64e55c5274b7d6a45fa3f919e691a}{window\+Closed}} (\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$rw)
\item 
virtual bool \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_aab78e2debba66edab88ec14bc4e286f8}{window\+Closing}} (\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$rw)
\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a393c3d1f0739a4aede7dd6bf91b8fb45}{window\+Focus\+Change}} (\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$rw)
\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ab081a93a35c6db9706857bee6ddaebe7}{window\+Moved}} (\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$rw)
\item 
virtual void \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_a973dd3aaf53e632a401cbaeaa5b4fa6b}{window\+Resized}} (\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$rw)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_ada5f67df2a3b5c1c92c09ae9c61726d3}{get\+Default\+Media\+Dir}} ()
\begin{DoxyCompactList}\small\item\em the directory where the media files were installed \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Base class responsible for setting up a common context for applications. 

Subclass to implement specific event callbacks. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ac2a2b69cdef63430a0070f2dea3958db}\label{class_ogre_bites_1_1_application_context_base_ac2a2b69cdef63430a0070f2dea3958db}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!ApplicationContextBase@{ApplicationContextBase}}
\index{ApplicationContextBase@{ApplicationContextBase}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{ApplicationContextBase()}{ApplicationContextBase()}}
{\footnotesize\ttfamily Ogre\+Bites\+::\+Application\+Context\+Base\+::\+Application\+Context\+Base (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \&}]{app\+Name = {\ttfamily \char`\"{}Ogre3D\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a8767e4b9196659500eb2e883b878ad36}\label{class_ogre_bites_1_1_application_context_base_a8767e4b9196659500eb2e883b878ad36}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!````~ApplicationContextBase@{$\sim$ApplicationContextBase}}
\index{````~ApplicationContextBase@{$\sim$ApplicationContextBase}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{$\sim$ApplicationContextBase()}{~ApplicationContextBase()}}
{\footnotesize\ttfamily virtual Ogre\+Bites\+::\+Application\+Context\+Base\+::$\sim$\+Application\+Context\+Base (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ad7da362f07f69fcadfc70c3ca4f5892e}\label{class_ogre_bites_1_1_application_context_base_ad7da362f07f69fcadfc70c3ca4f5892e}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!getRenderWindow@{getRenderWindow}}
\index{getRenderWindow@{getRenderWindow}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{getRenderWindow()}{getRenderWindow()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}}$\ast$ Ogre\+Bites\+::\+Application\+Context\+Base\+::get\+Render\+Window (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



get the main Render\+Window owns the context on Open\+GL 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a6018387cbc5cd5c960355150b4200d72}\label{class_ogre_bites_1_1_application_context_base_a6018387cbc5cd5c960355150b4200d72}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!getRoot@{getRoot}}
\index{getRoot@{getRoot}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{getRoot()}{getRoot()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_root}{Ogre\+::\+Root}}$\ast$ Ogre\+Bites\+::\+Application\+Context\+Base\+::get\+Root (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ae14805ea3e8cd8a25daa6e9d20d5a87a}\label{class_ogre_bites_1_1_application_context_base_ae14805ea3e8cd8a25daa6e9d20d5a87a}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!getOverlaySystem@{getOverlaySystem}}
\index{getOverlaySystem@{getOverlaySystem}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{getOverlaySystem()}{getOverlaySystem()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_overlay_system}{Ogre\+::\+Overlay\+System}}$\ast$ Ogre\+Bites\+::\+Application\+Context\+Base\+::get\+Overlay\+System (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_af422acd8fe229cb29d0531991970c691}\label{class_ogre_bites_1_1_application_context_base_af422acd8fe229cb29d0531991970c691}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!initApp@{initApp}}
\index{initApp@{initApp}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{initApp()}{initApp()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::init\+App (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



This function initializes the render system and resources. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a5cfd50e5e7240b4e120584f3413647f2}\label{class_ogre_bites_1_1_application_context_base_a5cfd50e5e7240b4e120584f3413647f2}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!closeApp@{closeApp}}
\index{closeApp@{closeApp}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{closeApp()}{closeApp()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::close\+App (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



This function closes down the application -\/ saves the configuration then shutdowns. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a066e6af742131478b6bb6e13635103f4}\label{class_ogre_bites_1_1_application_context_base_a066e6af742131478b6bb6e13635103f4}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!frameStarted@{frameStarted}}
\index{frameStarted@{frameStarted}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{frameStarted()}{frameStarted()}}
{\footnotesize\ttfamily virtual bool Ogre\+Bites\+::\+Application\+Context\+Base\+::frame\+Started (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Ogre\+::\+Frame\+Event}} \&}]{evt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Called when a frame is about to begin rendering. 

\begin{DoxyRemark}{Remarks}
This event happens before any render targets have begun updating. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True to go ahead, false to abort rendering and drop out of the rendering loop. 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_frame_listener_a88238b65f9ce32f0de8c5eeeb7b6c6ad}{Ogre\+::\+Frame\+Listener}}.

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_af8879ee99573721666a02346424bbacb}\label{class_ogre_bites_1_1_application_context_base_af8879ee99573721666a02346424bbacb}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!frameRenderingQueued@{frameRenderingQueued}}
\index{frameRenderingQueued@{frameRenderingQueued}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{frameRenderingQueued()}{frameRenderingQueued()}}
{\footnotesize\ttfamily virtual bool Ogre\+Bites\+::\+Application\+Context\+Base\+::frame\+Rendering\+Queued (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Ogre\+::\+Frame\+Event}} \&}]{evt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called after all render targets have had their rendering commands issued, but before render windows have been asked to flip their buffers over. 

\begin{DoxyRemark}{Remarks}
The usefulness of this event comes from the fact that rendering commands are queued for the G\+PU to process. These can take a little while to finish, and so while that is happening the C\+PU can be doing useful things. Once the request to \textquotesingle{}flip buffers\textquotesingle{} happens, the thread requesting it will block until the G\+PU is ready, which can waste C\+PU cycles. Therefore, it is often a good idea to use this callback to perform per-\/frame processing. Of course because the frame\textquotesingle{}s rendering commands have already been issued, any changes you make will only take effect from the next frame, but in most cases that\textquotesingle{}s not noticeable. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True to continue rendering, false to drop out of the rendering loop. 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_frame_listener_a2785cb38589ab9df123fa401cbda31c3}{Ogre\+::\+Frame\+Listener}}.

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a3368c68bdb811b87df2144aa4e1345bc}\label{class_ogre_bites_1_1_application_context_base_a3368c68bdb811b87df2144aa4e1345bc}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!frameEnded@{frameEnded}}
\index{frameEnded@{frameEnded}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{frameEnded()}{frameEnded()}}
{\footnotesize\ttfamily virtual bool Ogre\+Bites\+::\+Application\+Context\+Base\+::frame\+Ended (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Ogre\+::\+Frame\+Event}} \&}]{evt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Called just after a frame has been rendered. 

\begin{DoxyRemark}{Remarks}
This event happens after all render targets have been fully updated and the buffers switched. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True to continue with the next frame, false to drop out of the rendering loop. 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_frame_listener_af1d0140678c18a013ac45aa544c00bfd}{Ogre\+::\+Frame\+Listener}}.

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ab081a93a35c6db9706857bee6ddaebe7}\label{class_ogre_bites_1_1_application_context_base_ab081a93a35c6db9706857bee6ddaebe7}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!windowMoved@{windowMoved}}
\index{windowMoved@{windowMoved}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{windowMoved()}{windowMoved()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::window\+Moved (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a973dd3aaf53e632a401cbaeaa5b4fa6b}\label{class_ogre_bites_1_1_application_context_base_a973dd3aaf53e632a401cbaeaa5b4fa6b}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!windowResized@{windowResized}}
\index{windowResized@{windowResized}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{windowResized()}{windowResized()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::window\+Resized (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_aab78e2debba66edab88ec14bc4e286f8}\label{class_ogre_bites_1_1_application_context_base_aab78e2debba66edab88ec14bc4e286f8}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!windowClosing@{windowClosing}}
\index{windowClosing@{windowClosing}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{windowClosing()}{windowClosing()}}
{\footnotesize\ttfamily virtual bool Ogre\+Bites\+::\+Application\+Context\+Base\+::window\+Closing (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a8ec64e55c5274b7d6a45fa3f919e691a}\label{class_ogre_bites_1_1_application_context_base_a8ec64e55c5274b7d6a45fa3f919e691a}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!windowClosed@{windowClosed}}
\index{windowClosed@{windowClosed}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{windowClosed()}{windowClosed()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::window\+Closed (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a393c3d1f0739a4aede7dd6bf91b8fb45}\label{class_ogre_bites_1_1_application_context_base_a393c3d1f0739a4aede7dd6bf91b8fb45}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!windowFocusChange@{windowFocusChange}}
\index{windowFocusChange@{windowFocusChange}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{windowFocusChange()}{windowFocusChange()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::window\+Focus\+Change (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_render_window}{Ogre\+::\+Render\+Window}} $\ast$}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a292d64cf97eccad01935bfe803b92102}\label{class_ogre_bites_1_1_application_context_base_a292d64cf97eccad01935bfe803b92102}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!\_fireInputEvent@{\_fireInputEvent}}
\index{\_fireInputEvent@{\_fireInputEvent}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{\_fireInputEvent()}{\_fireInputEvent()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::\+\_\+fire\+Input\+Event (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{union_ogre_bites_1_1_event}{Event}} \&}]{event,  }\item[{uint32\+\_\+t}]{window\+ID }\end{DoxyParamCaption}) const}



inspect the event and call one of the corresponding functions on the registered \mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} 


\begin{DoxyParams}{Parameters}
{\em event} & Input \mbox{\hyperlink{union_ogre_bites_1_1_event}{Event}} \\
\hline
{\em window\+ID} & only call listeners of this window \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_afd2dfaca8184be463450b5b6389566fe}\label{class_ogre_bites_1_1_application_context_base_afd2dfaca8184be463450b5b6389566fe}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!initialiseRTShaderSystem@{initialiseRTShaderSystem}}
\index{initialiseRTShaderSystem@{initialiseRTShaderSystem}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{initialiseRTShaderSystem()}{initialiseRTShaderSystem()}}
{\footnotesize\ttfamily bool Ogre\+Bites\+::\+Application\+Context\+Base\+::initialise\+R\+T\+Shader\+System (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Initialize the RT Shader system. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ace75364125a967496ab315f012e7acdf}\label{class_ogre_bites_1_1_application_context_base_ace75364125a967496ab315f012e7acdf}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!setRTSSWriteShadersToDisk@{setRTSSWriteShadersToDisk}}
\index{setRTSSWriteShadersToDisk@{setRTSSWriteShadersToDisk}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{setRTSSWriteShadersToDisk()}{setRTSSWriteShadersToDisk()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::set\+R\+T\+S\+S\+Write\+Shaders\+To\+Disk (\begin{DoxyParamCaption}\item[{bool}]{write }\end{DoxyParamCaption})}



make the R\+T\+SS write out the generated shaders for caching and debugging 

by default all shaders are generated to system memory. Must be called before load\+Resources 
\begin{DoxyParams}{Parameters}
{\em write} & \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a6b9878d9d1ea6d5a353df5d6e09d4aac}\label{class_ogre_bites_1_1_application_context_base_a6b9878d9d1ea6d5a353df5d6e09d4aac}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!destroyRTShaderSystem@{destroyRTShaderSystem}}
\index{destroyRTShaderSystem@{destroyRTShaderSystem}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{destroyRTShaderSystem()}{destroyRTShaderSystem()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::destroy\+R\+T\+Shader\+System (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destroy the RT Shader system. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a2696046f826adc323b5ed166eba91558}\label{class_ogre_bites_1_1_application_context_base_a2696046f826adc323b5ed166eba91558}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!setup@{setup}}
\index{setup@{setup}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{setup()}{setup()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::setup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets up the context after configuration. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a28afa19a32c4b9f512605d38bf9d8e79}\label{class_ogre_bites_1_1_application_context_base_a28afa19a32c4b9f512605d38bf9d8e79}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!createRoot@{createRoot}}
\index{createRoot@{createRoot}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{createRoot()}{createRoot()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::create\+Root (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Creates the O\+G\+RE root. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a29e774c4b9d8e28ca06d5ea386c99a1c}\label{class_ogre_bites_1_1_application_context_base_a29e774c4b9d8e28ca06d5ea386c99a1c}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!oneTimeConfig@{oneTimeConfig}}
\index{oneTimeConfig@{oneTimeConfig}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{oneTimeConfig()}{oneTimeConfig()}}
{\footnotesize\ttfamily virtual bool Ogre\+Bites\+::\+Application\+Context\+Base\+::one\+Time\+Config (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Configures the startup settings for O\+G\+RE. 

I use the config dialog here, but you can also restore from a config file. Note that this only happens when you start the context, and not when you reset it. \mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a3468e25346921b9d9dc277ffe8d530aa}\label{class_ogre_bites_1_1_application_context_base_a3468e25346921b9d9dc277ffe8d530aa}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!setWindowGrab@{setWindowGrab}}
\index{setWindowGrab@{setWindowGrab}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{setWindowGrab()}{setWindowGrab()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::set\+Window\+Grab (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_bites_af9f017cd1b7c2ca7b8f94a8b10f6a5d0}{Native\+Window\+Type}} $\ast$}]{win,  }\item[{bool}]{grab = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



When input is grabbed the mouse is confined to the window. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a5149884c61334711e13008767885af65}\label{class_ogre_bites_1_1_application_context_base_a5149884c61334711e13008767885af65}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!setWindowGrab@{setWindowGrab}}
\index{setWindowGrab@{setWindowGrab}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{setWindowGrab()}{setWindowGrab()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::set\+Window\+Grab (\begin{DoxyParamCaption}\item[{bool}]{grab = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 



References Ogre\+Assert.

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a65338f85be78c3b80b69c6e6f1fb9d66}\label{class_ogre_bites_1_1_application_context_base_a65338f85be78c3b80b69c6e6f1fb9d66}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!locateResources@{locateResources}}
\index{locateResources@{locateResources}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{locateResources()}{locateResources()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::locate\+Resources (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Finds context-\/wide resource groups. 

I load paths from a config file here, but you can choose your resource locations however you want. \mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a477678a8a5a7707b21b1fdeed035bbcd}\label{class_ogre_bites_1_1_application_context_base_a477678a8a5a7707b21b1fdeed035bbcd}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!loadResources@{loadResources}}
\index{loadResources@{loadResources}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{loadResources()}{loadResources()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::load\+Resources (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Loads context-\/wide resource groups. 

I chose here to simply initialise all groups, but you can fully load specific ones if you wish. \mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ae476f40efd8e88f94badae5187b70053}\label{class_ogre_bites_1_1_application_context_base_ae476f40efd8e88f94badae5187b70053}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!reconfigure@{reconfigure}}
\index{reconfigure@{reconfigure}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{reconfigure()}{reconfigure()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::reconfigure (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \&}]{renderer,  }\item[{\mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Ogre\+::\+Name\+Value\+Pair\+List}} \&}]{options }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Reconfigures the context. 

Attempts to preserve the current sample state. \mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a41f4a0f6ab733fcabf1b20ebad8f2ee1}\label{class_ogre_bites_1_1_application_context_base_a41f4a0f6ab733fcabf1b20ebad8f2ee1}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{shutdown()}{shutdown()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::shutdown (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Cleans up and shuts down the context. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a27ea8e603c78ee4f29903a18c3fcc642}\label{class_ogre_bites_1_1_application_context_base_a27ea8e603c78ee4f29903a18c3fcc642}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!pollEvents@{pollEvents}}
\index{pollEvents@{pollEvents}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{pollEvents()}{pollEvents()}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::poll\+Events (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



process all window events since last call 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a331c8300aaf20414e5274b99bf49a5fe}\label{class_ogre_bites_1_1_application_context_base_a331c8300aaf20414e5274b99bf49a5fe}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!createDummyScene@{createDummyScene}}
\index{createDummyScene@{createDummyScene}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{createDummyScene()}{createDummyScene()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::create\+Dummy\+Scene (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Creates dummy scene to allow rendering G\+UI in viewport. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a687f986aca473091feb2e6c7d297297f}\label{class_ogre_bites_1_1_application_context_base_a687f986aca473091feb2e6c7d297297f}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!destroyDummyScene@{destroyDummyScene}}
\index{destroyDummyScene@{destroyDummyScene}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{destroyDummyScene()}{destroyDummyScene()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::destroy\+Dummy\+Scene (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destroys dummy scene. 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a5a5d88b405d5be78889092a30461a108}\label{class_ogre_bites_1_1_application_context_base_a5a5d88b405d5be78889092a30461a108}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!enableShaderCache@{enableShaderCache}}
\index{enableShaderCache@{enableShaderCache}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{enableShaderCache()}{enableShaderCache()}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::enable\+Shader\+Cache (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



enables the caching of compiled shaders to file 

also loads any existing cache \mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ad08c5d9724cea17a9e59a5d4f4e6c434}\label{class_ogre_bites_1_1_application_context_base_ad08c5d9724cea17a9e59a5d4f4e6c434}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!addInputListener@{addInputListener}}
\index{addInputListener@{addInputListener}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{addInputListener()}{addInputListener()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::add\+Input\+Listener (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_bites_af9f017cd1b7c2ca7b8f94a8b10f6a5d0}{Native\+Window\+Type}} $\ast$}]{win,  }\item[{\mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$}]{lis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



attach input listener 


\begin{DoxyParams}{Parameters}
{\em lis} & the listener \\
\hline
{\em win} & the window to receive the events for. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a759499ca97dde7ab476b99165f858831}\label{class_ogre_bites_1_1_application_context_base_a759499ca97dde7ab476b99165f858831}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!addInputListener@{addInputListener}}
\index{addInputListener@{addInputListener}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{addInputListener()}{addInputListener()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::add\+Input\+Listener (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$}]{lis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 



References Ogre\+Assert.

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a2e097414054773d2cc1812268011c440}\label{class_ogre_bites_1_1_application_context_base_a2e097414054773d2cc1812268011c440}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!removeInputListener@{removeInputListener}}
\index{removeInputListener@{removeInputListener}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{removeInputListener()}{removeInputListener()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual void Ogre\+Bites\+::\+Application\+Context\+Base\+::remove\+Input\+Listener (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_bites_af9f017cd1b7c2ca7b8f94a8b10f6a5d0}{Native\+Window\+Type}} $\ast$}]{win,  }\item[{\mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$}]{lis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



detatch input listener 


\begin{DoxyParams}{Parameters}
{\em lis} & the listener \\
\hline
{\em win} & the window to receive the events for. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ae0c27985a012d1d0d9e4ee6f7b0659a2}\label{class_ogre_bites_1_1_application_context_base_ae0c27985a012d1d0d9e4ee6f7b0659a2}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!removeInputListener@{removeInputListener}}
\index{removeInputListener@{removeInputListener}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{removeInputListener()}{removeInputListener()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+Bites\+::\+Application\+Context\+Base\+::remove\+Input\+Listener (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_ogre_bites_1_1_input_listener}{Input\+Listener}} $\ast$}]{lis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 



References Ogre\+Assert.

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a7b5cb004093bf6adce17c6f001b21978}\label{class_ogre_bites_1_1_application_context_base_a7b5cb004093bf6adce17c6f001b21978}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!createWindow@{createWindow}}
\index{createWindow@{createWindow}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{createWindow()}{createWindow()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{struct_ogre_bites_1_1_native_window_pair}{Native\+Window\+Pair}} Ogre\+Bites\+::\+Application\+Context\+Base\+::create\+Window (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} \&}]{name,  }\item[{uint32\+\_\+t}]{w = {\ttfamily 0},  }\item[{uint32\+\_\+t}]{h = {\ttfamily 0},  }\item[{\mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Ogre\+::\+Name\+Value\+Pair\+List}}}]{misc\+Params = {\ttfamily \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Ogre\+::\+Name\+Value\+Pair\+List}}()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Create a new render window. 

You must use S\+DL and not an auto-\/created window as S\+DL does not get the events otherwise.

By default the values from ogre.\+cfg are used for w, h and misc\+Params. \mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_a1742cc2ca6c68b21ea6491569f0066e8}\label{class_ogre_bites_1_1_application_context_base_a1742cc2ca6c68b21ea6491569f0066e8}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!getFSLayer@{getFSLayer}}
\index{getFSLayer@{getFSLayer}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{getFSLayer()}{getFSLayer()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_file_system_layer}{Ogre\+::\+File\+System\+Layer}}\& Ogre\+Bites\+::\+Application\+Context\+Base\+::get\+F\+S\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



get the File\+System\+Layer instace pointing to an application specific directory 

\mbox{\Hypertarget{class_ogre_bites_1_1_application_context_base_ada5f67df2a3b5c1c92c09ae9c61726d3}\label{class_ogre_bites_1_1_application_context_base_ada5f67df2a3b5c1c92c09ae9c61726d3}} 
\index{OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}!getDefaultMediaDir@{getDefaultMediaDir}}
\index{getDefaultMediaDir@{getDefaultMediaDir}!OgreBites::ApplicationContextBase@{OgreBites::ApplicationContextBase}}
\doxysubsubsection{\texorpdfstring{getDefaultMediaDir()}{getDefaultMediaDir()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String}} Ogre\+Bites\+::\+Application\+Context\+Base\+::get\+Default\+Media\+Dir (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



the directory where the media files were installed 

same as O\+G\+R\+E\+\_\+\+M\+E\+D\+I\+A\+\_\+\+D\+IR in C\+Make 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_application_context_base_8h}{Ogre\+Application\+Context\+Base.\+h}}\end{DoxyCompactItemize}
