Remove unnecessary updating of size, on paint events, for SvgWidgets.
Also updated RAM & EEPROM inspection icon styles
This commit is contained in:
@@ -6,9 +6,6 @@
|
||||
using namespace Bloom::Widgets;
|
||||
|
||||
SvgWidget::SvgWidget(QWidget* parent): QFrame(parent) {
|
||||
this->containerWidth = parent->width();
|
||||
this->containerHeight = parent->height();
|
||||
this->setFixedSize(this->containerWidth, this->containerHeight);
|
||||
this->renderer.setAspectRatioMode(Qt::AspectRatioMode::KeepAspectRatioByExpanding);
|
||||
}
|
||||
|
||||
@@ -16,27 +13,25 @@ void SvgWidget::paintEvent(QPaintEvent* paintEvent) {
|
||||
auto painter = QPainter(this);
|
||||
auto svgSize = this->renderer.defaultSize();
|
||||
auto margins = this->contentsMargins();
|
||||
const auto containerSize = this->frameSize();
|
||||
|
||||
painter.setRenderHints(QPainter::RenderHint::Antialiasing | QPainter::RenderHint::SmoothPixmapTransform, true);
|
||||
|
||||
this->setFixedHeight(this->containerHeight + margins.top() + margins.bottom());
|
||||
this->setFixedWidth(this->containerWidth + margins.left() + margins.right());
|
||||
|
||||
if (this->angle % 360 != 0) {
|
||||
painter.translate(
|
||||
std::ceil(static_cast<float>(this->containerWidth / 2)),
|
||||
std::ceil(static_cast<float>(this->containerHeight / 2))
|
||||
std::ceil(static_cast<float>(containerSize.width() / 2)),
|
||||
std::ceil(static_cast<float>(containerSize.height() / 2))
|
||||
);
|
||||
painter.rotate(this->angle);
|
||||
painter.translate(
|
||||
-std::ceil(static_cast<float>(this->containerWidth / 2)),
|
||||
-std::ceil(static_cast<float>(this->containerHeight / 2))
|
||||
-std::ceil(static_cast<float>(containerSize.width() / 2)),
|
||||
-std::ceil(static_cast<float>(containerSize.height() / 2))
|
||||
);
|
||||
}
|
||||
|
||||
this->renderer.render(&painter, QRectF(
|
||||
std::ceil(static_cast<float>(this->containerWidth - svgSize.width()) / 2 + static_cast<float>(margins.left())),
|
||||
std::ceil(static_cast<float>(this->containerHeight - svgSize.height()) / 2 + static_cast<float>(margins.top())),
|
||||
std::ceil(static_cast<float>(containerSize.width() - svgSize.width()) / 2 + static_cast<float>(margins.left())),
|
||||
std::ceil(static_cast<float>(containerSize.height() - svgSize.height()) / 2 + static_cast<float>(margins.top())),
|
||||
svgSize.width(),
|
||||
svgSize.height()
|
||||
));
|
||||
|
||||
Reference in New Issue
Block a user