MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / SplashScreen

Method SplashScreen

src/qt/splashscreen.cpp:27–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25#include <QRadialGradient>
26
27SplashScreen::SplashScreen(interfaces::Node& node, Qt::WindowFlags f, const NetworkStyle *networkStyle) :
28 QWidget(0, f), curAlignment(0), m_node(node)
29{
30 // set reference point, paddings
31 int paddingRight = 50;
32 int paddingTop = 50;
33 int titleVersionVSpace = 17;
34 int titleCopyrightVSpace = 40;
35
36 float fontFactor = 1.0;
37 float devicePixelRatio = 1.0;
38#if QT_VERSION > 0x050100
39 devicePixelRatio = static_cast<QGuiApplication*>(QCoreApplication::instance())->devicePixelRatio();
40#endif
41
42 // define text to place
43 QString titleText = tr(PACKAGE_NAME);
44 QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
45 QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
46 QString titleAddText = networkStyle->getTitleAddText();
47
48 QString font = QApplication::font().toString();
49
50 // create a bitmap according to device pixelratio
51 QSize splashSize(480*devicePixelRatio,320*devicePixelRatio);
52 pixmap = QPixmap(splashSize);
53
54#if QT_VERSION > 0x050100
55 // change to HiDPI if it makes sense
56 pixmap.setDevicePixelRatio(devicePixelRatio);
57#endif
58
59 QPainter pixPaint(&pixmap);
60 pixPaint.setPen(QColor(100,100,100));
61
62 // draw a slightly radial gradient
63 QRadialGradient gradient(QPoint(0,0), splashSize.width()/devicePixelRatio);
64 gradient.setColorAt(0, Qt::white);
65 gradient.setColorAt(1, QColor(247,247,247));
66 QRect rGradient(QPoint(0,0), splashSize);
67 pixPaint.fillRect(rGradient, gradient);
68
69 // draw the bitcoin icon, expected size of PNG: 1024x1024
70 QRect rectIcon(QPoint(-150,-122), QSize(430,430));
71
72 const QSize requiredSize(1024,1024);
73 QPixmap icon(networkStyle->getAppIcon().pixmap(requiredSize));
74
75 pixPaint.drawPixmap(rectIcon, icon);
76
77 // check font size and drawing with
78 pixPaint.setFont(QFont(font, 33*fontFactor));
79 QFontMetrics fm = pixPaint.fontMetrics();
80 int titleTextWidth = fm.width(titleText);
81 if (titleTextWidth > 176) {
82 fontFactor = fontFactor * 176 / titleTextWidth;
83 }
84

Callers

nothing calls this directly

Calls 6

FormatFullVersionFunction · 0.85
CopyrightHoldersFunction · 0.85
QFontClass · 0.85
heightMethod · 0.80
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected