diff --git a/sdlpp/sdlpp_linerenderer.cpp b/sdlpp/sdlpp_linerenderer.cpp index 2b74b1c..4c9f53e 100644 --- a/sdlpp/sdlpp_linerenderer.cpp +++ b/sdlpp/sdlpp_linerenderer.cpp @@ -111,9 +111,12 @@ void LineRenderer::centerX() { updateSizeAndPosition(); } std::shared_ptr< RenderObject > LineRenderer::copySelf() { - // TODO ACTUALLY copy, don't just copy pointers to textures and whatnot, - // create new textures!!! - return std::make_shared< LineRenderer >( *this ); + auto ret = std::make_shared< LineRenderer >( *this ); + copyTo(ret); + return ret; +} +void LineRenderer::copyTo(std::shared_ptr other) { + RenderObject::copyTo(other); } SDL_Rect LineRenderer::getRect() { diff --git a/sdlpp/sdlpp_linerenderer.hpp b/sdlpp/sdlpp_linerenderer.hpp index 043d22d..4f92e31 100644 --- a/sdlpp/sdlpp_linerenderer.hpp +++ b/sdlpp/sdlpp_linerenderer.hpp @@ -41,6 +41,7 @@ public: void setOutlineColor( const std::string & /*UNUSED*/ ) override {} protected: + virtual void copyTo(std::shared_ptr other) override; void updateXY(); double og_x1; double og_y1;