fix(splash): skip runtime title/version draw and use mantle background
Some checks failed
Build and Test / build (pull_request) Failing after 19m15s

The splash PNG already has the title and version baked in by
generate-splash.py, but SplashScreen::splashImage() was drawing them
again at position (6,75) which fell outside the rounded background
rectangle (starts at 30,30). Skip runtime text rendering for Kindred
Create while keeping the dev build warning.

Also switch the splash background from Catppuccin Mocha base (#1e1e2e)
to mantle (#181825) for a darker appearance and regenerate assets.
This commit is contained in:
2026-02-12 10:08:23 -06:00
parent 70118201b0
commit f71decca08
4 changed files with 69 additions and 52 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -360,9 +360,6 @@ QPixmap SplashScreen::splashImage()
fontExe.setPointSizeF(20.0);
QFontMetrics metricExe(fontExe);
int l = QtTools::horizontalAdvance(metricExe, title);
if (title == QLatin1String("Kindred Create")) {
// For Kindred Create splash, we draw the title as part of the dynamic rendering
}
int w = splash_image.width();
int h = splash_image.height();
@@ -386,13 +383,16 @@ QPixmap SplashScreen::splashImage()
QColor color(QString::fromStdString(tc->second));
if (color.isValid()) {
painter.setPen(color);
painter.setFont(fontExe);
if (title != QLatin1String("FreeCAD")) {
// FreeCAD's Splashscreen already contains the EXE name, no need to draw it
painter.drawText(x, y, title);
if (title != QLatin1String("Kindred Create")) {
// Kindred Create's splash PNG already contains the title and version
painter.setFont(fontExe);
if (title != QLatin1String("FreeCAD")) {
// FreeCAD's Splashscreen already contains the EXE name, no need to draw it
painter.drawText(x, y, title);
}
painter.setFont(fontVer);
painter.drawText(x + (l + 235), y - 7, version);
}
painter.setFont(fontVer);
painter.drawText(x + (l + 235), y - 7, version);
QColor warningColor(QString::fromStdString(wc->second));
if (suffix == QLatin1String("dev") && warningColor.isValid()) {
fontVer.setPointSizeF(14.0);