From 27949f891a748cf832fdc39b7e03f94e5c4c101b Mon Sep 17 00:00:00 2001 From: zv0n Date: Fri, 18 Dec 2020 16:05:38 +0100 Subject: [PATCH] SDLPP LineRenderer: actually copy in copySelf --- sdlpp/sdlpp_linerenderer.cpp | 9 ++++++--- sdlpp/sdlpp_linerenderer.hpp | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) 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;