SDLPP: add option to specify render object alignment
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user