From 4a3772d96af7e469a050f32d2a1a3ec5acd7140d Mon Sep 17 00:00:00 2001 From: Benjamin Jillich Date: Fri, 2 Jul 2021 12:52:56 +0200 Subject: [PATCH 1/2] [LYN-4437] Replaced the background images for the Project Manager * Added the two new background images. * Background is now dynamically changing based on whether the user opens the PM the first time or has already created a project. Signed-off-by: Benjamin Jillich --- .../Resources/Backgrounds/DefaultBackground.jpg | 3 +++ .../Resources/Backgrounds/FirstTimeBackgroundImage.jpg | 3 --- .../ProjectManager/Resources/Backgrounds/FtueBackground.jpg | 3 +++ Code/Tools/ProjectManager/Resources/ProjectManager.qrc | 3 ++- Code/Tools/ProjectManager/Source/ProjectsScreen.cpp | 5 +++-- 5 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 Code/Tools/ProjectManager/Resources/Backgrounds/DefaultBackground.jpg delete mode 100644 Code/Tools/ProjectManager/Resources/Backgrounds/FirstTimeBackgroundImage.jpg create mode 100644 Code/Tools/ProjectManager/Resources/Backgrounds/FtueBackground.jpg diff --git a/Code/Tools/ProjectManager/Resources/Backgrounds/DefaultBackground.jpg b/Code/Tools/ProjectManager/Resources/Backgrounds/DefaultBackground.jpg new file mode 100644 index 0000000000..3af15393c4 --- /dev/null +++ b/Code/Tools/ProjectManager/Resources/Backgrounds/DefaultBackground.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:342c3eaccf68a178dfd8c2b1792a93a8c9197c8184dca11bf90706d7481df087 +size 1611268 diff --git a/Code/Tools/ProjectManager/Resources/Backgrounds/FirstTimeBackgroundImage.jpg b/Code/Tools/ProjectManager/Resources/Backgrounds/FirstTimeBackgroundImage.jpg deleted file mode 100644 index bfa5f83cf6..0000000000 --- a/Code/Tools/ProjectManager/Resources/Backgrounds/FirstTimeBackgroundImage.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7088e902885d98953f6a1715efab319c063a4ab8918fd0e810251c8ed82b8514 -size 542983 diff --git a/Code/Tools/ProjectManager/Resources/Backgrounds/FtueBackground.jpg b/Code/Tools/ProjectManager/Resources/Backgrounds/FtueBackground.jpg new file mode 100644 index 0000000000..44291a8b1d --- /dev/null +++ b/Code/Tools/ProjectManager/Resources/Backgrounds/FtueBackground.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797794816e4b1702f1ae1f32b408c95c79eb1f8a95aba43cfad9cccc181b0bda +size 1135182 diff --git a/Code/Tools/ProjectManager/Resources/ProjectManager.qrc b/Code/Tools/ProjectManager/Resources/ProjectManager.qrc index 0b9de2af89..cfe4b37fbc 100644 --- a/Code/Tools/ProjectManager/Resources/ProjectManager.qrc +++ b/Code/Tools/ProjectManager/Resources/ProjectManager.qrc @@ -26,12 +26,13 @@ o3de.svg menu.svg menu_hover.svg - Backgrounds/FirstTimeBackgroundImage.jpg ArrowDownLine.svg ArrowUpLine.svg CarrotArrowDown.svg Summary.svg WindowClose.svg Warning.svg + Backgrounds/DefaultBackground.jpg + Backgrounds/FtueBackground.jpg diff --git a/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp b/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp index cc3e386118..80fb5dcb71 100644 --- a/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp @@ -53,8 +53,6 @@ namespace O3DE::ProjectManager vLayout->setContentsMargins(s_contentMargins, 0, s_contentMargins, 0); setLayout(vLayout); - m_background.load(":/Backgrounds/FirstTimeBackgroundImage.jpg"); - m_stack = new QStackedWidget(this); m_firstTimeContent = CreateFirstTimeContent(); @@ -232,6 +230,8 @@ namespace O3DE::ProjectManager m_projectsContent->deleteLater(); } + m_background.load(":/Backgrounds/DefaultBackground.jpg"); + // Make sure to update builder with latest Project Button if (m_currentBuilder) { @@ -459,6 +459,7 @@ namespace O3DE::ProjectManager { if (ShouldDisplayFirstTimeContent()) { + m_background.load(":/Backgrounds/FtueBackground.jpg"); m_stack->setCurrentWidget(m_firstTimeContent); } else From 5f9c066626d5e23db324986f70160e7cc80b6c83 Mon Sep 17 00:00:00 2001 From: Benjamin Jillich Date: Fri, 2 Jul 2021 14:52:56 +0200 Subject: [PATCH 2/2] [LYN-4437] Added 30% opaque overlay to the background image of the Project Manager * 30% opaque overlay image to darken down the colors and increase usability and accessibility. * Some code cleaning. Signed-off-by: Benjamin Jillich --- .../ProjectManager/Source/ProjectsScreen.cpp | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp b/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp index 80fb5dcb71..b3ecd96e43 100644 --- a/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp @@ -269,21 +269,30 @@ namespace O3DE::ProjectManager // we paint the background here because qss does not support background cover scaling QPainter painter(this); - auto winSize = size(); - auto pixmapRatio = (float)m_background.width() / m_background.height(); - auto windowRatio = (float)winSize.width() / winSize.height(); + const QSize winSize = size(); + const float pixmapRatio = (float)m_background.width() / m_background.height(); + const float windowRatio = (float)winSize.width() / winSize.height(); + QRect backgroundRect; if (pixmapRatio > windowRatio) { - auto newWidth = (int)(winSize.height() * pixmapRatio); - auto offset = (newWidth - winSize.width()) / -2; - painter.drawPixmap(offset, 0, newWidth, winSize.height(), m_background); + const int newWidth = (int)(winSize.height() * pixmapRatio); + const int offset = (newWidth - winSize.width()) / -2; + backgroundRect = QRect(offset, 0, newWidth, winSize.height()); } else { - auto newHeight = (int)(winSize.width() / pixmapRatio); - painter.drawPixmap(0, 0, winSize.width(), newHeight, m_background); + const int newHeight = (int)(winSize.width() / pixmapRatio); + backgroundRect = QRect(0, 0, winSize.width(), newHeight); } + + // Draw the background image. + painter.drawPixmap(backgroundRect, m_background); + + // Draw a semi-transparent overlay to darken down the colors. + painter.setCompositionMode (QPainter::CompositionMode_DestinationIn); + const float overlayTransparency = 0.7f; + painter.fillRect(backgroundRect, QColor(0, 0, 0, static_cast(255.0f * overlayTransparency))); } void ProjectsScreen::HandleNewProjectButton()