diff --git a/src/ViewCube.cpp b/src/ViewCube.cpp index 7ce0b44..c0e4bb1 100644 --- a/src/ViewCube.cpp +++ b/src/ViewCube.cpp @@ -1,5 +1,6 @@ #include "ViewCube.h" #include +#include #include #include #include @@ -229,7 +230,16 @@ void ViewCube::paint2D(QPainter& painter, int widgetWidth, int widgetHeight) m_homeButtonRect = QRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize); if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) { - m_homeButtonRenderer->render(&painter, m_homeButtonRect); + QImage image(m_homeButtonRect.size(), QImage::Format_ARGB32_Premultiplied); + image.fill(Qt::transparent); + + QPainter imagePainter(&image); + m_homeButtonRenderer->render(&imagePainter); + imagePainter.end(); + + image.invertPixels(QImage::InvertRgb); + + painter.drawImage(m_homeButtonRect, image); } }