/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ // Description : implementation file #include "EditorDefs.h" #include "StartupLogoDialog.h" // Qt #include #include AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING #include AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING ///////////////////////////////////////////////////////////////////////////// // CStartupLogoDialog dialog CStartupLogoDialog* CStartupLogoDialog::s_pLogoWindow = 0; CStartupLogoDialog::CStartupLogoDialog(QString versionText, QString richTextCopyrightNotice, QWidget* pParent /*=NULL*/) : QWidget(pParent, Qt::Dialog | Qt::FramelessWindowHint) , m_ui(new Ui::StartupLogoDialog) { m_ui->setupUi(this); s_pLogoWindow = this; m_backgroundImage = QPixmap(QStringLiteral(":/StartupLogoDialog/splashscreen_background_developer_preview.jpg")); setFixedSize(QSize(600, 300)); // Prepare background image QImage backgroundImage(QStringLiteral(":/StartupLogoDialog/splashscreen_background_developer_preview.jpg")); m_backgroundImage = QPixmap::fromImage(backgroundImage.scaled(m_enforcedWidth, m_enforcedHeight, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); // Draw the Open 3D Engine logo from svg m_ui->m_logo->load(QStringLiteral(":/StartupLogoDialog/o3de_logo.svg")); m_ui->m_TransparentConfidential->setObjectName("copyrightNotice"); m_ui->m_TransparentConfidential->setTextFormat(Qt::RichText); m_ui->m_TransparentConfidential->setText(richTextCopyrightNotice); setWindowTitle(tr("Starting Open 3D Engine Editor")); setStyleSheet( "CStartupLogoDialog > QLabel { background: transparent; color: 'white' }\ CStartupLogoDialog > QLabel#copyrightNotice { color: #AAAAAA; font-size: 9px; } "); m_ui->m_TransparentVersion->setText(versionText); } CStartupLogoDialog::~CStartupLogoDialog() { s_pLogoWindow = 0; } void CStartupLogoDialog::SetText(const char* text) { if (s_pLogoWindow) { s_pLogoWindow->SetInfoText(text); } } void CStartupLogoDialog::SetInfoText(const char* text) { m_ui->m_TransparentText->setText(text); if (QThread::currentThread() == thread()) { m_ui->m_TransparentText->repaint(); } qApp->processEvents(QEventLoop::ExcludeUserInputEvents); // if you don't process events, repaint does not function correctly. } void CStartupLogoDialog::paintEvent(QPaintEvent*) { QPainter painter(this); painter.drawPixmap(rect(), m_backgroundImage); } #include