\hypertarget{IGraphicsEngineRenderer_8hpp_source}{}\doxysection{IGraphics\+Engine\+Renderer.\+hpp}
\label{IGraphicsEngineRenderer_8hpp_source}\index{include/IGraphicsEngineRenderer.hpp@{include/IGraphicsEngineRenderer.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ GRAPHICS\_ENGINE\_RENDERER\_HPP}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ GRAPHICS\_ENGINE\_RENDERER\_HPP}}
\DoxyCodeLine{00003\ \textcolor{comment}{//\ ====================\ Libraries\ ==================}}
\DoxyCodeLine{00004\ \textcolor{comment}{//\ Depending\ on\ the\ operating\ system\ we\ use}}
\DoxyCodeLine{00005\ \textcolor{comment}{//\ The\ paths\ to\ SDL\ are\ actually\ different.}}
\DoxyCodeLine{00006\ \textcolor{comment}{//\ The\ \#define\ statement\ should\ be\ passed\ in}}
\DoxyCodeLine{00007\ \textcolor{comment}{//\ when\ compiling\ using\ the\ -\/D\ argument.}}
\DoxyCodeLine{00008\ \textcolor{comment}{//\ This\ gives\ an\ example\ of\ how\ a\ programmer}}
\DoxyCodeLine{00009\ \textcolor{comment}{//\ may\ support\ multiple\ platforms\ with\ different}}
\DoxyCodeLine{00010\ \textcolor{comment}{//\ dependencies.}}
\DoxyCodeLine{00011\ \textcolor{comment}{//}}
\DoxyCodeLine{00012\ \textcolor{comment}{//\ Note\ that\ your\ path\ may\ be\ different\ depending\ on\ where\ you\ intalled\ things}}
\DoxyCodeLine{00013\ \textcolor{comment}{//}}
\DoxyCodeLine{00014\ \textcolor{comment}{//}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#if\ defined(LINUX)\ ||\ defined(MINGW)}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#include\ <SDL2/SDL.h>}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//\ This\ works\ for\ Mac}}
\DoxyCodeLine{00018\ }
\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#include\ <SDL.h>}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00027\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classIGraphicsEngineRenderer}{IGraphicsEngineRenderer}}\ \{}
\DoxyCodeLine{00028\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00032\ \ \ \ \ \mbox{\hyperlink{classIGraphicsEngineRenderer_a325c7b3f89ca510ed038e52e9a3c3d74}{IGraphicsEngineRenderer}}(\textcolor{keywordtype}{int}\ w,\ \textcolor{keywordtype}{int}\ h)\ :\ mScreenWidth(w),\ mScreenHeight(h)\ \{\};}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00037\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{classIGraphicsEngineRenderer_a1b5219e8b718d38b4e54be31557eee17}{\string~IGraphicsEngineRenderer}}()\ \{\};}
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00043\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classIGraphicsEngineRenderer_acf62a15fc0e1c52356b09c57e2628529}{SetRenderDrawColor}}(\textcolor{keywordtype}{int}\ r,\ \textcolor{keywordtype}{int}\ g,\ \textcolor{keywordtype}{int}\ b,\ \textcolor{keywordtype}{int}\ a)\ =\ 0;}
\DoxyCodeLine{00044\ }
\DoxyCodeLine{00048\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classIGraphicsEngineRenderer_a33dc89efb652168680736dc4871df48e}{RenderClear}}()\ =\ 0;}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00054\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classIGraphicsEngineRenderer_aae42681e8163b9321b6b742c47365012}{RenderPresent}}()\ =\ 0;}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{00057\ \ \ \ \ \textcolor{comment}{//\ Screen\ dimension\ constants}}
\DoxyCodeLine{00058\ \ \ \ \ \textcolor{keywordtype}{int}\ mScreenWidth\{0\};}
\DoxyCodeLine{00059\ \ \ \ \ \textcolor{keywordtype}{int}\ mScreenHeight\{0\};}
\DoxyCodeLine{00060\ \};}
\DoxyCodeLine{00061\ }
\DoxyCodeLine{00062\ }
\DoxyCodeLine{00063\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classSDLGraphicsEngineRenderer}{SDLGraphicsEngineRenderer}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classIGraphicsEngineRenderer}{IGraphicsEngineRenderer}}\ \{}
\DoxyCodeLine{00064\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00068\ \ \ \ \ \mbox{\hyperlink{classSDLGraphicsEngineRenderer}{SDLGraphicsEngineRenderer}}(\textcolor{keywordtype}{int}\ w,\ \textcolor{keywordtype}{int}\ h);}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00073\ \ \ \ \ \mbox{\hyperlink{classSDLGraphicsEngineRenderer_a1420b7422b6cbaadae4490c554716117}{\string~SDLGraphicsEngineRenderer}}();}
\DoxyCodeLine{00074\ }
\DoxyCodeLine{00075\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classSDLGraphicsEngineRenderer_a91b29bf19986c6ad8710238778312277}{SetRenderDrawColor}}(\textcolor{keywordtype}{int}\ r,\ \textcolor{keywordtype}{int}\ g,\ \textcolor{keywordtype}{int}\ b,\ \textcolor{keywordtype}{int}\ a)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00076\ }
\DoxyCodeLine{00080\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classSDLGraphicsEngineRenderer_ae6edfc67a39076c0c12101ad85be4f6a}{RenderClear}}()\ \textcolor{keyword}{override};}
\DoxyCodeLine{00081\ }
\DoxyCodeLine{00086\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classSDLGraphicsEngineRenderer_acddd7c456e4311d71fc1d43f29343d81}{RenderPresent}}()\ \textcolor{keyword}{override};}
\DoxyCodeLine{00087\ }
\DoxyCodeLine{00091\ \ \ \ \ SDL\_Window\ *\mbox{\hyperlink{classSDLGraphicsEngineRenderer_abd24deb029577fc237b47a3cbf30c121}{GetWindow}}();}
\DoxyCodeLine{00092\ }
\DoxyCodeLine{00096\ \ \ \ \ SDL\_Renderer\ *\mbox{\hyperlink{classSDLGraphicsEngineRenderer_a93e5f435d003933cf3304e44c5aa7324}{GetRenderer}}();}
\DoxyCodeLine{00097\ }
\DoxyCodeLine{00098\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00099\ \ \ \ \ \textcolor{comment}{//\ SDL\ Window}}
\DoxyCodeLine{00100\ \ \ \ \ SDL\_Window\ *mWindow\ =\ \textcolor{keyword}{nullptr};}
\DoxyCodeLine{00101\ \ \ \ \ \textcolor{comment}{//\ SDL\ Renderer}}
\DoxyCodeLine{00102\ \ \ \ \ SDL\_Renderer\ *mRenderer\ =\ \textcolor{keyword}{nullptr};}
\DoxyCodeLine{00103\ \};}
\DoxyCodeLine{00104\ }
\DoxyCodeLine{00105\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
