SDLPP: add option to specify render object alignment

This commit is contained in:
2021-04-27 15:54:30 +02:00
parent fc1d06a2b8
commit e5d0610f6d
11 changed files with 66 additions and 83 deletions
+3 -25
View File
@@ -97,10 +97,6 @@ void LineRenderer::updateSizeAndPosition() {
collisionWidth(), collisionHeight(), getId() );
}
}
void LineRenderer::centerX() {
centerx = true;
updateSizeAndPosition();
}
std::shared_ptr< RenderObject > LineRenderer::copySelf() {
auto ret = std::make_shared< LineRenderer >( *this );
copyTo( ret );
@@ -120,26 +116,8 @@ LineRenderer::getDoubleRect() const {
}
void LineRenderer::updateXY() {
if ( !centerx ) {
current = original;
return;
}
auto width = renderer->getWidth();
auto height = renderer->getHeight();
double x1_, x2_, y1_, y2_;
if ( width > height ) {
auto multiplier =
static_cast< double >( width ) / static_cast< double >( height );
x1_ = original.getStart().getX() +
static_cast< double >( multiplier - 1 ) / 2;
x2_ = original.getEnd().getX() +
static_cast< double >( multiplier - 1 ) / 2;
} else {
x1_ = original.getStart().getX();
x2_ = original.getEnd().getX();
}
y1_ = original.getStart().getY();
y2_ = original.getEnd().getY();
current = { { x1_, y1_ }, { x2_, y2_ } };
auto additions = computeAlignmentAdditions();
current = { original.getStart() + additions,
original.getEnd() + additions };
}
} // namespace SDLPP