chart2/source/controller/dialogs/dlg_Theme.cxx | 10 +++++----- chart2/source/controller/sidebar/ChartThemeControl.cxx | 5 ++--- chart2/source/controller/sidebar/ChartThemePanel.cxx | 10 +++++----- drawinglayer/source/primitive2d/sceneprimitive2d.cxx | 4 +++- include/drawinglayer/primitive2d/sceneprimitive2d.hxx | 5 +++++ include/svx/ChartThemeType.hxx | 6 +----- 6 files changed, 21 insertions(+), 19 deletions(-)
New commits: commit da08cbd807ad4ded08576bb15794d006373fecdb Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Fri Aug 15 15:12:59 2025 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Fri Aug 15 20:22:36 2025 +0200 WaE: fix build Change-Id: I1eb5f405692fad76d95e70df8ca49d2f0f6ec878 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189691 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/chart2/source/controller/dialogs/dlg_Theme.cxx b/chart2/source/controller/dialogs/dlg_Theme.cxx index c8a84f513f63..d994ebdd9630 100644 --- a/chart2/source/controller/dialogs/dlg_Theme.cxx +++ b/chart2/source/controller/dialogs/dlg_Theme.cxx @@ -20,6 +20,7 @@ #include <dlg_Theme.hxx> #include <comphelper/processfactory.hxx> +#include <drawinglayer/primitive2d/sceneprimitive2d.hxx> #include <unotools/fcm.hxx> #include <vcl/virdev.hxx> #include <ChartModelHelper.hxx> @@ -106,10 +107,10 @@ VclPtr<VirtualDevice> SchThemeDlg::makeImage(int nIndex) pController2->PrePaint(); //pController2->execute_Paint(*device1, tools::Rectangle(0, 0, aSize.Width, aSize.Height)); - bChartThumbnailRendered = true; + drawinglayer::primitive2d::bChartThumbnailRendered = true; pController2->execute_Paint(*device2, tools::Rectangle(0, 0, aSize.Width / scale, aSize.Height / scale)); - bChartThumbnailRendered = false; + drawinglayer::primitive2d::bChartThumbnailRendered = false; aMTF.Stop(); aMTF.WindStart(); aMTF.Scale(1 / 64.0, 1 / 64.0); @@ -117,8 +118,7 @@ VclPtr<VirtualDevice> SchThemeDlg::makeImage(int nIndex) aMTF.Play(*device2); //scale it into a fixed small image - ScopedVclPtr<VirtualDevice> device1 - = VclPtr<VirtualDevice>::Create(DeviceFormat::WITHOUT_ALPHA); + VclPtr<VirtualDevice> device1 = VclPtr<VirtualDevice>::Create(DeviceFormat::WITHOUT_ALPHA); device1->SetOutputSizePixel(Size(ChartThemeThumbSizeX, ChartThemeThumbSizeY)); device1->SetBackground(Wallpaper(COL_YELLOW)); device1->Erase(); @@ -129,7 +129,7 @@ VclPtr<VirtualDevice> SchThemeDlg::makeImage(int nIndex) device1->DrawBitmapEx(Point(0, 0), aBmpEx); device2.disposeAndClear(); - return std::move(device1); + return device1; } IMPL_LINK_NOARG(SchThemeDlg, ClickSaveHdl, weld::Button&, void) diff --git a/chart2/source/controller/sidebar/ChartThemeControl.cxx b/chart2/source/controller/sidebar/ChartThemeControl.cxx index 4ec7ed50e669..546422aeab70 100644 --- a/chart2/source/controller/sidebar/ChartThemeControl.cxx +++ b/chart2/source/controller/sidebar/ChartThemeControl.cxx @@ -185,8 +185,7 @@ ChartThemePopup::~ChartThemePopup() { mxThemesIconView.reset(); } VclPtr<VirtualDevice> ChartThemePopup::makeImage(int nIndex) { - ScopedVclPtr<VirtualDevice> device1 - = VclPtr<VirtualDevice>::Create(DeviceFormat::WITHOUT_ALPHA); + VclPtr<VirtualDevice> device1 = VclPtr<VirtualDevice>::Create(DeviceFormat::WITHOUT_ALPHA); device1->SetOutputSizePixel(Size(ChartThemeThumbSizeX, ChartThemeThumbSizeY)); VclPtr<VirtualDevice> pDefaultOut = mxControl->mpHandler->makePictureFromThemedChart(nIndex); @@ -199,7 +198,7 @@ VclPtr<VirtualDevice> ChartThemePopup::makeImage(int nIndex) device1->DrawBitmapEx(Point(0, 0), aBmpEx); pDefaultOut.disposeAndClear(); } - return std::move(device1); + return device1; } void ChartThemePopup::GrabFocus() {} diff --git a/chart2/source/controller/sidebar/ChartThemePanel.cxx b/chart2/source/controller/sidebar/ChartThemePanel.cxx index 15e39fdf52a7..8a4756db7899 100644 --- a/chart2/source/controller/sidebar/ChartThemePanel.cxx +++ b/chart2/source/controller/sidebar/ChartThemePanel.cxx @@ -34,6 +34,7 @@ #include <algorithm> #include <comphelper/processfactory.hxx> +#include <drawinglayer/primitive2d/sceneprimitive2d.hxx> #include <unotools/fcm.hxx> #include <ChartModelHelper.hxx> @@ -108,8 +109,7 @@ VclPtr<VirtualDevice> ThemeWrapper::makePictureFromThemedChart(sal_uInt32 nIndex pController2->setTheme(nIndex); //make a picture from it - ScopedVclPtr<VirtualDevice> device1 - = VclPtr<VirtualDevice>::Create(DeviceFormat::WITHOUT_ALPHA); + VclPtr<VirtualDevice> device1 = VclPtr<VirtualDevice>::Create(DeviceFormat::WITHOUT_ALPHA); awt::Size aSize = mxModel->getVisualAreaSize(1); @@ -128,12 +128,12 @@ VclPtr<VirtualDevice> ThemeWrapper::makePictureFromThemedChart(sal_uInt32 nIndex device1->SetOutputSize(Size(aSize.Width / scale, aSize.Height / scale)); pController2->PrePaint(); - bChartThumbnailRendered = true; + drawinglayer::primitive2d::bChartThumbnailRendered = true; pController2->execute_Paint( *device1, tools::Rectangle(0, 0, aSize.Width / scale, aSize.Height / scale)); - bChartThumbnailRendered = false; + drawinglayer::primitive2d::bChartThumbnailRendered = false; - return std::move(device1); + return device1; } return nullptr; } diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx index 33b1d456c18b..6a692cf11257 100644 --- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx @@ -131,6 +131,8 @@ namespace namespace drawinglayer::primitive2d { + bool bChartThumbnailRendered = false; + bool ScenePrimitive2D::impGetShadow3D() const { // create on demand @@ -249,7 +251,7 @@ namespace drawinglayer::primitive2d const double fViewVisibleArea(fViewSizeX * fViewSizeY); double fMaximumVisibleArea(officecfg::Office::Common::Drawinglayer::Quadratic3DRenderLimit::get()); // Todo: find a better way, to render lower resolution chart thumbnails. - if (chart::bChartThumbnailRendered) + if (bChartThumbnailRendered) { fMaximumVisibleArea = fMaximumVisibleArea / 100; } diff --git a/include/drawinglayer/primitive2d/sceneprimitive2d.hxx b/include/drawinglayer/primitive2d/sceneprimitive2d.hxx index 5b3ca6bb840f..ae52d56b5b7d 100644 --- a/include/drawinglayer/primitive2d/sceneprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/sceneprimitive2d.hxx @@ -31,6 +31,11 @@ namespace drawinglayer::primitive2d { + // TODO: find a less hacky way to make chart thumnbail render to lower resolution + // Set this to true only while a thumbnail of a chart is rendered, and set it back to false + // used in drawinglayer/source/primitive2d/sceneprimitive2d.cxx to save performance. + extern DRAWINGLAYER_DLLPUBLIC bool bChartThumbnailRendered; + /** ScenePrimitive2D class This primitive defines a 3D scene as a 2D primitive and is the anchor point diff --git a/include/svx/ChartThemeType.hxx b/include/svx/ChartThemeType.hxx index bc5dd8ac26e8..22e1c7973163 100644 --- a/include/svx/ChartThemeType.hxx +++ b/include/svx/ChartThemeType.hxx @@ -10,6 +10,7 @@ #pragma once #include <svl/itempool.hxx> +#include <svx/svxdllapi.h> #include <com/sun/star/uno/Any.h> //#include <vector> @@ -23,11 +24,6 @@ constexpr int ChartThemeThumbSizeY = 140; constexpr OUString sUnoChartTheme = u".uno:ChartTheme"_ustr; -// TODO: find a less hacky way to make chart thumnbail render to lower resolution -// Set this to true only while a thumbnail of a chart is rendered, and set it back to false -// used in drawinglayer/source/primitive2d/sceneprimitive2d.cxx to save performance. -static bool bChartThumbnailRendered = false; - // Properties of a chart element, like Title. // At first it contained properties only from Font, and Font Effect dialog tab panel. // but now, it store other properties. For more info about what properties it can store,