<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.7" xml:lang="en-US">
  <compounddef id="da/da5/Sprite_8hpp" kind="file" language="C++">
    <compoundname>Sprite.hpp</compoundname>
    <includes local="no">string</includes>
    <includes refid="d8/d4f/IGraphicsEngineRenderer_8hpp" local="yes">IGraphicsEngineRenderer.hpp</includes>
    <includes refid="d9/dec/TinyMath_8hpp" local="yes">TinyMath.hpp</includes>
    <includes refid="d9/da8/TransformComponent_8hpp" local="yes">TransformComponent.hpp</includes>
    <includedby refid="d6/d0c/Engine_8cpp" local="yes">src/Engine.cpp</includedby>
    <includedby refid="d8/da4/GameMakerGUI_8cpp" local="yes">src/GameMakerGUI.cpp</includedby>
    <includedby refid="d0/dff/Sprite_8cpp" local="yes">src/Sprite.cpp</includedby>
    <incdepgraph>
      <node id="9">
        <label>Component.hpp</label>
        <link refid="df/d1f/Component_8hpp_source"/>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>IGraphicsEngineRenderer.hpp</label>
        <link refid="d8/d4f/IGraphicsEngineRenderer_8hpp_source"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>include/Sprite.hpp</label>
        <link refid="da/da5/Sprite_8hpp"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>TinyMath.hpp</label>
        <link refid="d9/dec/TinyMath_8hpp_source"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>TransformComponent.hpp</label>
        <link refid="d9/da8/TransformComponent_8hpp_source"/>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>SDL.h</label>
      </node>
      <node id="14">
        <label>algorithm</label>
      </node>
      <node id="6">
        <label>cmath</label>
      </node>
      <node id="10">
        <label>imgui.h</label>
      </node>
      <node id="11">
        <label>imgui_impl_sdl2.h</label>
      </node>
      <node id="12">
        <label>imgui_impl_sdlrenderer.h</label>
      </node>
      <node id="7">
        <label>ostream</label>
      </node>
      <node id="2">
        <label>string</label>
      </node>
      <node id="13">
        <label>vector</label>
      </node>
    </incdepgraph>
    <innerclass refid="d6/d77/classSpriteComponent" prot="public">SpriteComponent</innerclass>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="preprocessor">#ifndef<sp/>SPRITE_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SPRITE_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;IGraphicsEngineRenderer.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;TinyMath.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;TransformComponent.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight></codeline>
<codeline lineno="14" refid="d6/d77/classSpriteComponent" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="d6/d77/classSpriteComponent" kindref="compound">SpriteComponent</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="d8/d6b/classComponent" kindref="compound">Component</ref></highlight></codeline>
<codeline lineno="15"><highlight class="normal">{</highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="22"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="d6/d77/classSpriteComponent" kindref="compound">SpriteComponent</ref>(<ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref><sp/>*transform);</highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="d6/d77/classSpriteComponent_1add14acc8523a724c112e6c93b750b60e" kindref="member">~SpriteComponent</ref>();</highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d6/d77/classSpriteComponent_1a70bc3139c9721612b1cdb3e514d4dd46" kindref="member">LoadImage</ref>(std::string<sp/>filePath,<sp/>SDL_Renderer<sp/>*ren,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>w,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>h,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>frames,<sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>targetDisplay);</highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight></codeline>
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/><ref refid="d6/d77/classSpriteComponent_1aea73c1a8481eb269e495acd51a05697f" kindref="member">getDimensions</ref>();</highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d6/d77/classSpriteComponent_1ae8f47512e84273fd8f5312920affb275" kindref="member">Update</ref>(SDL_Event<sp/>e,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>frame,<sp/>std::vector&lt;std::string&gt;<sp/>broadcastList)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d6/d77/classSpriteComponent_1a843ce3d3a2f37cce8ecc8418969b3607" kindref="member">Render</ref>(SDL_Renderer<sp/>*ren)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="60"><highlight class="normal"></highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d6/d77/classSpriteComponent_1a574dfd6e371ececbcb9067a9d18453ea" kindref="member">ShowComponentEditor</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>*showEditor)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="62"><highlight class="normal"></highlight></codeline>
<codeline lineno="63" refid="d6/d77/classSpriteComponent_1a9f2e32f4d314f0b5f903c0730011656e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="d6/d77/classSpriteComponent_1a9f2e32f4d314f0b5f903c0730011656e" kindref="member">ComponentTypeName</ref>()</highlight><highlight class="keyword"><sp/>override<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Sprite<sp/>Component&quot;</highlight><highlight class="normal">;<sp/>}</highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight></codeline>
<codeline lineno="65"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mCurrentFrame{0};</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mLastFrame{7};</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>An<sp/>SDL<sp/>Surface<sp/>contains<sp/>pixel<sp/>data<sp/>to<sp/>draw<sp/>an<sp/>image</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/>SDL_Surface<sp/>*mSpriteSheet<sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/>SDL_Texture<sp/>*mTexture<sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/>SDL_Rect<sp/>mSrc;</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/>SDL_Rect<sp/>mDest;</highlight></codeline>
<codeline lineno="74"><highlight class="normal"></highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>width;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>height;</highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>frameCount;</highlight></codeline>
<codeline lineno="78"><highlight class="normal"></highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>dimensions;</highlight></codeline>
<codeline lineno="80"><highlight class="normal"></highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref><sp/>*transform;</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/>SDL_Renderer<sp/>*last_used<sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="83"><highlight class="normal">};</highlight></codeline>
<codeline lineno="84"><highlight class="normal"></highlight></codeline>
<codeline lineno="85"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="include/Sprite.hpp"/>
  </compounddef>
</doxygen>
