SDLPP TextRenderer: actually copy in copySelf

This commit is contained in:
zv0n 2020-12-18 16:12:26 +01:00
parent 27949f891a
commit ad1805101c
2 changed files with 9 additions and 3 deletions

View File

@ -58,9 +58,13 @@ void TextRenderer::updateSizeAndPosition() {
updateDstRect();
}
std::shared_ptr< RenderObject > TextRenderer::copySelf() {
// TODO ACTUALLY copy, don't just copy pointers to textures and whatnot,
// create new textures!!!
return std::make_shared< TextRenderer >( *this );
auto ret = std::make_shared< TextRenderer >( *this );
copyTo(ret);
return ret;
}
void TextRenderer::copyTo(std::shared_ptr<RenderObject> other) {
RectangleRender::copyTo(other);
}
void TextRenderer::updateDstRect() {

View File

@ -25,6 +25,7 @@ public:
void setTextColor( Font &font, const std::string &color = "FFFFFF",
const std::string &outline_color = "000000",
double outline_size = -1 );
// TODO maybe store Font and actually update texture here
void changeText( const std::string &text );
void setFlags( int flags );
virtual void render() override;
@ -32,6 +33,7 @@ public:
virtual std::shared_ptr< RenderObject > copySelf() override;
private:
virtual void copyTo(std::shared_ptr<RenderObject> other) override;
void updateDstRect();
std::string _text{};
int position_flags = 0;