Warning, /plasma/plasma-workspace/wallpapers/image/imagepackage/contents/ui/mediacomponent/AnimatedImageComponent.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2022 Fushan Wen <qydwhotmail@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 0009 import org.kde.plasma.wallpapers.image as PlasmaWallpaper 0010 0011 import org.kde.kwindowsystem 0012 0013 BaseMediaComponent { 0014 id: animatedImageComponent 0015 0016 readonly property rect desktopRect: Window.window ? Qt.rect(Window.window.x, Window.window.y, Window.window.width, Window.window.height) : Qt.rect(0, 0, 0, 0) 0017 readonly property alias status: mainImage.status 0018 0019 blurSource: blurLoader.item 0020 0021 PlasmaWallpaper.MaximizedWindowMonitor { 0022 id: activeWindowMonitor 0023 regionGeometry: animatedImageComponent.desktopRect 0024 } 0025 0026 AnimatedImage { 0027 id: mainImage 0028 anchors.fill: parent 0029 asynchronous: true 0030 cache: false 0031 autoTransform: true 0032 0033 fillMode: animatedImageComponent.fillMode 0034 source: animatedImageComponent.source 0035 // sourceSize is read-only 0036 // https://github.com/qt/qtdeclarative/blob/23b4ab24007f489ac7c2b9ceabe72fa625a51f3d/src/quick/items/qquickanimatedimage_p.h#L39 0037 0038 paused: activeWindowMonitor.count > 0 && !KWindowSystem.showingDesktop 0039 } 0040 0041 Loader { 0042 id: blurLoader 0043 anchors.fill: parent 0044 active: animatedImageComponent.blurEnabled 0045 sourceComponent: Image { 0046 asynchronous: true 0047 cache: false 0048 autoTransform: true 0049 fillMode: Image.PreserveAspectCrop 0050 source: mainImage.source 0051 sourceSize: animatedImageComponent.sourceSize 0052 visible: false // will be rendered by the blur 0053 } 0054 } 0055 }