Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kdeclarative for openSUSE:Factory checked in at 2021-08-16 10:07:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdeclarative (Old) and /work/SRC/openSUSE:Factory/.kdeclarative.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdeclarative" Mon Aug 16 10:07:41 2021 rev:95 rq:912124 version:5.85.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kdeclarative/kdeclarative.changes 2021-07-16 00:01:10.229192399 +0200 +++ /work/SRC/openSUSE:Factory/.kdeclarative.new.1899/kdeclarative.changes 2021-08-16 10:11:38.975094030 +0200 @@ -1,0 +2,11 @@ +Fri Aug 6 12:12:05 UTC 2021 - Christophe Giboudeaux <[email protected]> + +- Update to 5.85.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.85.0 +- Changes since 5.84.0: + * Implement aspect ratio correction for Lanczos effect + * Introduce Lanczos filter element + +------------------------------------------------------------------- Old: ---- kdeclarative-5.84.0.tar.xz kdeclarative-5.84.0.tar.xz.sig New: ---- kdeclarative-5.85.0.tar.xz kdeclarative-5.85.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdeclarative.spec ++++++ --- /var/tmp/diff_new_pack.rmbtmI/_old 2021-08-16 10:11:40.091092720 +0200 +++ /var/tmp/diff_new_pack.rmbtmI/_new 2021-08-16 10:11:40.095092716 +0200 @@ -17,14 +17,14 @@ %define lname libKF5Declarative5 -%define _tar_path 5.84 +%define _tar_path 5.85 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kdeclarative -Version: 5.84.0 +Version: 5.85.0 Release: 0 Summary: Integration of QML and KDE workspaces License: LGPL-2.1-or-later ++++++ kdeclarative-5.84.0.tar.xz -> kdeclarative-5.85.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/CMakeLists.txt new/kdeclarative-5.85.0/CMakeLists.txt --- old/kdeclarative-5.84.0/CMakeLists.txt 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/CMakeLists.txt 2021-08-06 11:02:19.000000000 +0200 @@ -1,12 +1,12 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.84.0") # handled by release scripts -set(KF_DEP_VERSION "5.84.0") # handled by release scripts +set(KF_VERSION "5.85.0") # handled by release scripts +set(KF_DEP_VERSION "5.85.0") # handled by release scripts project(KDeclarative VERSION ${KF_VERSION}) # Dependencies include(FeatureSummary) -find_package(ECM 5.84.0 NO_MODULE) +find_package(ECM 5.85.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/README.md new/kdeclarative-5.85.0/README.md --- old/kdeclarative-5.84.0/README.md 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/README.md 2021-08-06 11:02:19.000000000 +0200 @@ -16,7 +16,7 @@ ### KDeclarative::KDeclarative The KDeclarative class is used to manipulate the QQmlEngine instance used by -the application and to get some informations about the platform, +the application and to get some information about the platform, that influences the behavior of the QML components. Full documentation in KDeclarative::KDeclarative diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/po/ar/kdeclarative5.po new/kdeclarative-5.85.0/po/ar/kdeclarative5.po --- old/kdeclarative-5.84.0/po/ar/kdeclarative5.po 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/po/ar/kdeclarative5.po 2021-08-06 11:02:19.000000000 +0200 @@ -13,7 +13,7 @@ # Khaled Hosny <[email protected]>, 2007. # Youssef Chahibi <[email protected]>, 2007. # zayed <[email protected]>, 2008, 2009. -# Zayed Al-Saidi <[email protected]>, 2009. +# Zayed Al-Saidi <[email protected]>, 2009, 2021. # hanny <[email protected]>, 2012. # Abderrahim Kitouni <[email protected]>, 2012. # Safa Alfulaij <[email protected]>, 2013, 2017, 2018. @@ -22,16 +22,16 @@ "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2021-06-03 00:14+0000\n" -"PO-Revision-Date: 2018-06-09 19:24+0300\n" -"Last-Translator: Safa Alfulaij <[email protected]>\n" -"Language-Team: Arabic <[email protected]>\n" +"PO-Revision-Date: 2021-07-13 23:06+0400\n" +"Last-Translator: Zayed Al-Saidi <[email protected]>\n" +"Language-Team: ar\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -"X-Generator: Lokalize 2.0\n" +"X-Generator: Lokalize 21.07.70\n" #, kde-format msgctxt "NAME OF TRANSLATORS" @@ -58,7 +58,7 @@ #, kde-format msgctxt "@action:button" msgid "Show Contextual Help" -msgstr "" +msgstr "???????? ???????????????? ????????????????" #: qmlcontrols/kquickcontrols/KeySequenceItem.qml:76 #, kde-format @@ -118,12 +118,11 @@ msgstr "?????? ??????????????" #: quickaddons/configmodule.cpp:164 -#, fuzzy, kde-format -#| msgid "Invalid item." +#, kde-format msgid "Invalid KPackage '%1'" -msgstr "???????? ?????? ????????." +msgstr "???????? ?????? ?????????? '%1'" #: quickaddons/configmodule.cpp:170 #, kde-format msgid "No QML file provided" -msgstr "" +msgstr "???? ???????? ?????? QML" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/po/eu/kdeclarative5.po new/kdeclarative-5.85.0/po/eu/kdeclarative5.po --- old/kdeclarative-5.84.0/po/eu/kdeclarative5.po 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/po/eu/kdeclarative5.po 2021-08-06 11:02:19.000000000 +0200 @@ -1,26 +1,27 @@ -# Translation of kdeclarative5.po to Euskara/Basque (eu). +# Translation for kdeclarative5.po to Euskara/Basque (eu). # Copyright (C) 1999-2017, Free Software Foundation, Inc. -# This file is distributed under the same license as the frameworks package. -# KDE Euskaratzeko proiektuaren arduraduna <[email protected]>. +# Copyright (C) 2018-2021, This file is copyright: +# This file is distributed under the same license as the kdeclarative package. +# KDE Euskaratzeko proiektuaren arduraduna <[email protected]>. # # Translators: # Marcos <[email protected]>, 2002,2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. # Ion Gazta??aga <[email protected]>, 2005. # I??aki Larra??aga Murgoitio <[email protected]>, 2009. -# I??igo Salvador Azurmendi <[email protected]>, 2010, 2011, 2012, 2013, 2014, 2017, 2019, 2020. +# I??igo Salvador Azurmendi <[email protected]>, 2010, 2011, 2012, 2013, 2014, 2017, 2019, 2020, 2021. msgid "" msgstr "" "Project-Id-Version: kdeclarative5\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2021-06-03 00:14+0000\n" -"PO-Revision-Date: 2020-01-10 22:17+0100\n" -"Last-Translator: I??igo Salvador Azurmendi <[email protected]>\n" +"PO-Revision-Date: 2021-07-17 16:57+0200\n" +"Last-Translator: I??igo Salvador Azurmendi <[email protected]>\n" "Language-Team: Basque <[email protected]>\n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 19.12.1\n" +"X-Generator: Lokalize 21.04.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #, kde-format @@ -31,7 +32,7 @@ #, kde-format msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "[email protected],[email protected],[email protected]" +msgstr "[email protected],[email protected],[email protected]" #: kpackagelauncherqml/main.cpp:30 #, kde-format @@ -47,7 +48,7 @@ #, kde-format msgctxt "@action:button" msgid "Show Contextual Help" -msgstr "" +msgstr "Erakutsi testuinguru-laguntza" #: qmlcontrols/kquickcontrols/KeySequenceItem.qml:76 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/po/zh_CN/kdeclarative5.po new/kdeclarative-5.85.0/po/zh_CN/kdeclarative5.po --- old/kdeclarative-5.84.0/po/zh_CN/kdeclarative5.po 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/po/zh_CN/kdeclarative5.po 2021-08-06 11:02:19.000000000 +0200 @@ -15,7 +15,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2021-06-03 00:14+0000\n" -"PO-Revision-Date: 2021-06-20 07:35\n" +"PO-Revision-Date: 2021-07-26 13:47\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/kdeclarative/kdeclarative.h new/kdeclarative-5.85.0/src/kdeclarative/kdeclarative.h --- old/kdeclarative-5.84.0/src/kdeclarative/kdeclarative.h 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/kdeclarative/kdeclarative.h 2021-08-06 11:02:19.000000000 +0200 @@ -23,7 +23,7 @@ * @class KDeclarative::KDeclarative kdeclarative.h <KDeclarative/KDeclarative> * * The KDeclarative class is used to manipulate the QQmlEngine instance used by - * the application and to get some informations about the platform, + * the application and to get some information about the platform, * that influences the behavior of the QML components. * * In order to use it, you will need a pointer to a QQmlEngine, and call diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/CMakeLists.txt new/kdeclarative-5.85.0/src/qmlcontrols/CMakeLists.txt --- old/kdeclarative-5.84.0/src/qmlcontrols/CMakeLists.txt 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/qmlcontrols/CMakeLists.txt 2021-08-06 11:02:19.000000000 +0200 @@ -2,6 +2,7 @@ add_subdirectory(draganddrop) add_subdirectory(kquickcontrolsaddons) add_subdirectory(kcmcontrols) +add_subdirectory(graphicaleffects) if(KF5I18n_FOUND AND KF5Config_FOUND AND KF5WidgetsAddons_FOUND AND KF5WindowSystem_FOUND AND KF5GlobalAccel_FOUND AND KF5KIO_FOUND AND KF5GuiAddons_FOUND) add_subdirectory(kquickcontrols) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/CMakeLists.txt new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/CMakeLists.txt --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/CMakeLists.txt 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,11 @@ +project(kgraphicaleffects) + +install(FILES + qmldir + Lanczos.qml + preserveaspect.vert + preserveaspect_core.vert + lanczos2sharp.frag + lanczos2sharp_core.frag + DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/graphicaleffects +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/Lanczos.qml new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/Lanczos.qml --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/Lanczos.qml 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/Lanczos.qml 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,66 @@ +/* + SPDX-FileCopyrightText: 2021 Arjen Hiemstra <[email protected]> + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +import QtQuick 2.15 + +/** + * A ShaderEffect that makes use of the Lanczos resampling method for scaling textures. + * + * Lanczos resampling tries to preserve detail when scaling down images and + * thus looks less blurry compared to a simple linear interpolation. + * + * This effect implements a single-pass Lanczos resampling filter using two + * lobes. Everything is done in the shader, with some defaults set for + * parameters. These defaults were designed to provide a good visual result when + * scaling down window thumbnails. + */ +ShaderEffect { + /** + * The source texture. Can be any QQuickTextureProvider. + */ + required property var source + /** + * The size of the source texture. Used to perform aspect ratio correction. + */ + required property size sourceSize + + /** + * The target size of the Lanczos effect. + * + * Defaults to the width and height of this effect. + */ + property size targetSize: Qt.size(width, height) + + /** + * Lanczos window Sinc function factor. + * + * Defaults to 0.4 + */ + property real windowSinc: 0.4; + /** + * Lanczos Sinc function factor. + * + * Defaults to 1.0 + */ + property real sinc: 1.0; + + /** + * The amount of anti-ringing to apply. + * + * Defaults to 0.65 + */ + property real antiRingingStrength: 0.65; + /** + * The resolution of the Lanczos effect. + * + * Larger values mean reduced (more pixelated) results. + * Defaults to 0.98 to achieve good results. + */ + property real resolution: 0.98; + + vertexShader: Qt.resolvedUrl("preserveaspect.vert") + fragmentShader: Qt.resolvedUrl("lanczos2sharp.frag") +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/lanczos2sharp.frag new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/lanczos2sharp.frag --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/lanczos2sharp.frag 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/lanczos2sharp.frag 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,161 @@ +#version 120 + +/* + SPDX-FileCopyrightText: 2021 Arjen Hiemstra <[email protected]> + + Hyllian's lanczos windowed-jinc 2-lobe sharper 3D with anti-ringing Shader + + Copyright (C) 2011/2016 Hyllian - [email protected] + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +uniform sampler2D source; +uniform highp vec2 targetSize; + +uniform highp float windowSinc; +uniform highp float sinc; + +uniform highp float antiRingingStrength; +uniform highp float resolution; + +uniform highp float qt_Opacity; + +varying highp vec2 qt_TexCoord0; + +// A=0.5, B=0.825 is the best jinc approximation for x<2.5. if B=1.0, it's a lanczos filter. +// Increase A to get more blur. Decrease it to get a sharper picture. +// B = 0.825 to get rid of dithering. Increase B to get a fine sharpness, though dithering returns. + +#define wa (windowSinc * pi) +#define wb (sinc * pi) + +const highp float pi = 3.1415926535897932384626433832795; +const highp vec3 dtt = vec3(65536.0, 255.0, 1.0); + +highp vec4 reduce4(highp vec3 A, highp vec3 B, highp vec3 C, highp vec3 D) +{ + return dtt * mat4x3(A, B, C, D); +} + +highp vec3 min4(highp vec3 a, highp vec3 b, highp vec3 c, highp vec3 d) +{ + return min(a, min(b, min(c, d))); +} + +highp vec3 max4(highp vec3 a, highp vec3 b, highp vec3 c, highp vec3 d) +{ + return max(a, max(b, max(c, d))); +} + +highp vec4 lanczos(highp vec4 x) +{ + return (x == vec4(0.0)) ? vec4(wa * wb) : sin(x * wa) * sin(x * wb) / (x * x); +} + +void main() +{ + // Discard any pixels that are outside the bounds of the texture. + // This prevents artifacts when the texture doesn't have a full-alpha border. + if (any(lessThan(qt_TexCoord0, vec2(0.0))) || any(greaterThan(qt_TexCoord0, vec2(1.0)))) { + discard; + } + + highp vec2 dx = vec2(1.0, 0.0); + highp vec2 dy = vec2(0.0, 1.0); + + highp vec2 pixelCoord = qt_TexCoord0 * targetSize / resolution; + highp vec2 texel = (floor(pixelCoord) + vec2(0.5, 0.5)) * resolution / targetSize; + + highp vec2 texelCenter = (floor(pixelCoord - vec2(0.5, 0.5)) + vec2(0.5, 0.5)); + + highp mat4 weights; + weights[0] = lanczos(vec4(distance(pixelCoord, texelCenter - dx - dy), + distance(pixelCoord, texelCenter - dy), + distance(pixelCoord, texelCenter + dx - dy), + distance(pixelCoord, texelCenter + 2.0 * dx - dy))); + weights[1] = lanczos(vec4(distance(pixelCoord, texelCenter - dx), + distance(pixelCoord, texelCenter), + distance(pixelCoord, texelCenter + dx), + distance(pixelCoord, texelCenter + 2.0 * dx))); + weights[2] = lanczos(vec4(distance(pixelCoord, texelCenter - dx + dy), + distance(pixelCoord, texelCenter + dy), + distance(pixelCoord, texelCenter + dx + dy), + distance(pixelCoord, texelCenter + 2.0 * dx + dy))); + weights[3] = lanczos(vec4(distance(pixelCoord, texelCenter - dx + 2.0 * dy), + distance(pixelCoord, texelCenter + 2.0 * dy), + distance(pixelCoord, texelCenter + dx + 2.0 * dy), + distance(pixelCoord, texelCenter + 2.0 * dx + 2.0 * dy))); + + dx = dx * resolution / targetSize; + dy = dy * resolution / targetSize; + texelCenter = texelCenter * resolution / targetSize; + + // reading the texels + highp vec3 color = texture2D(source, qt_TexCoord0).xyz; + + highp vec3 c00 = texture2D(source, texelCenter - dx - dy).xyz; + highp vec3 c10 = texture2D(source, texelCenter - dy).xyz; + highp vec3 c20 = texture2D(source, texelCenter + dx - dy).xyz; + highp vec3 c30 = texture2D(source, texelCenter + 2.0 * dx - dy).xyz; + highp vec3 c01 = texture2D(source, texelCenter - dx).xyz; + highp vec3 c11 = texture2D(source, texelCenter).xyz; + highp vec3 c21 = texture2D(source, texelCenter + dx).xyz; + highp vec3 c31 = texture2D(source, texelCenter + 2.0 * dx).xyz; + highp vec3 c02 = texture2D(source, texelCenter - dx + dy).xyz; + highp vec3 c12 = texture2D(source, texelCenter + dy).xyz; + highp vec3 c22 = texture2D(source, texelCenter + dx + dy).xyz; + highp vec3 c32 = texture2D(source, texelCenter + 2.0 * dx + dy).xyz; + highp vec3 c03 = texture2D(source, texelCenter - dx + 2.0 * dy).xyz; + highp vec3 c13 = texture2D(source, texelCenter + 2.0 * dy).xyz; + highp vec3 c23 = texture2D(source, texelCenter + dx + 2.0 * dy).xyz; + highp vec3 c33 = texture2D(source, texelCenter + 2.0 * dx + 2.0 * dy).xyz; + + highp vec3 F6 = texture2D(source, texel + dx + 0.25 * dx + 0.25 * dy).xyz; + highp vec3 F7 = texture2D(source, texel + dx + 0.25 * dx - 0.25 * dy).xyz; + highp vec3 F8 = texture2D(source, texel + dx - 0.25 * dx - 0.25 * dy).xyz; + highp vec3 F9 = texture2D(source, texel + dx - 0.25 * dx + 0.25 * dy).xyz; + + highp vec3 H6 = texture2D(source, texel + 0.25 * dx + 0.25 * dy + dy).xyz; + highp vec3 H7 = texture2D(source, texel + 0.25 * dx - 0.25 * dy + dy).xyz; + highp vec3 H8 = texture2D(source, texel - 0.25 * dx - 0.25 * dy + dy).xyz; + highp vec3 H9 = texture2D(source, texel - 0.25 * dx + 0.25 * dy + dy).xyz; + + highp vec4 f0 = reduce4(F6, F7, F8, F9); + highp vec4 h0 = reduce4(H6, H7, H8, H9); + + // Get min/max samples + highp vec3 min_sample = min4(c11, c21, c12, c22); + highp vec3 max_sample = max4(c11, c21, c12, c22); + + color = weights[0] * transpose(mat4x3(c00, c10, c20, c30)); + color += weights[1] * transpose(mat4x3(c01, c11, c21, c31)); + color += weights[2] * transpose(mat4x3(c02, c12, c22, c32)); + color += weights[3] * transpose(mat4x3(c03, c13, c23, c33)); + color = color / dot(vec4(1.0) * weights, vec4(1.0)); + + // Anti-ringing + highp vec3 aux = color; + color = clamp(color, min_sample, max_sample); + + color = mix(aux, color, antiRingingStrength); + + highp float alpha = texture2D(source, qt_TexCoord0).a * qt_Opacity; + gl_FragColor = vec4(color, alpha); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/lanczos2sharp_core.frag new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/lanczos2sharp_core.frag --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/lanczos2sharp_core.frag 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/lanczos2sharp_core.frag 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,162 @@ +#version 150 core + +/* + SPDX-FileCopyrightText: 2021 Arjen Hiemstra <[email protected]> + + Hyllian's lanczos windowed-jinc 2-lobe sharper 3D with anti-ringing Shader + + Copyright (C) 2011/2016 Hyllian - [email protected] + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +uniform sampler2D source; +uniform highp vec2 targetSize; + +uniform highp float windowSinc; +uniform highp float sinc; + +uniform highp float antiRingingStrength; +uniform highp float resolution; + +uniform highp float qt_Opacity; + +in highp vec2 qt_TexCoord0; +out highp vec4 out_color; + +// A=0.5, B=0.825 is the best jinc approximation for x<2.5. if B=1.0, it's a lanczos filter. +// Increase A to get more blur. Decrease it to get a sharper picture. +// B = 0.825 to get rid of dithering. Increase B to get a fine sharpness, though dithering returns. + +#define wa (windowSinc * pi) +#define wb (sinc * pi) + +const highp float pi = 3.1415926535897932384626433832795; +const highp vec3 dtt = vec3(65536.0, 255.0, 1.0); + +highp vec4 reduce4(highp vec3 A, highp vec3 B, highp vec3 C, highp vec3 D) +{ + return dtt * mat4x3(A, B, C, D); +} + +highp vec3 min4(highp vec3 a, highp vec3 b, highp vec3 c, highp vec3 d) +{ + return min(a, min(b, min(c, d))); +} + +highp vec3 max4(highp vec3 a, highp vec3 b, highp vec3 c, highp vec3 d) +{ + return max(a, max(b, max(c, d))); +} + +highp vec4 lanczos(highp vec4 x) +{ + return (x == vec4(0.0)) ? vec4(wa * wb) : sin(x * wa) * sin(x * wb) / (x * x); +} + +void main() +{ + // Discard any pixels that are outside the bounds of the texture. + // This prevents artifacts when the texture doesn't have a full-alpha border. + if (any(lessThan(qt_TexCoord0, vec2(0.0))) || any(greaterThan(qt_TexCoord0, vec2(1.0)))) { + discard; + } + + highp vec2 dx = vec2(1.0, 0.0); + highp vec2 dy = vec2(0.0, 1.0); + + highp vec2 pixelCoord = qt_TexCoord0 * targetSize / resolution; + highp vec2 texel = (floor(pixelCoord) + vec2(0.5, 0.5)) * resolution / targetSize; + + highp vec2 texelCenter = (floor(pixelCoord - vec2(0.5, 0.5)) + vec2(0.5, 0.5)); + + highp mat4 weights; + weights[0] = lanczos(vec4(distance(pixelCoord, texelCenter - dx - dy), + distance(pixelCoord, texelCenter - dy), + distance(pixelCoord, texelCenter + dx - dy), + distance(pixelCoord, texelCenter + 2.0 * dx - dy))); + weights[1] = lanczos(vec4(distance(pixelCoord, texelCenter - dx), + distance(pixelCoord, texelCenter), + distance(pixelCoord, texelCenter + dx), + distance(pixelCoord, texelCenter + 2.0 * dx))); + weights[2] = lanczos(vec4(distance(pixelCoord, texelCenter - dx + dy), + distance(pixelCoord, texelCenter + dy), + distance(pixelCoord, texelCenter + dx + dy), + distance(pixelCoord, texelCenter + 2.0 * dx + dy))); + weights[3] = lanczos(vec4(distance(pixelCoord, texelCenter - dx + 2.0 * dy), + distance(pixelCoord, texelCenter + 2.0 * dy), + distance(pixelCoord, texelCenter + dx + 2.0 * dy), + distance(pixelCoord, texelCenter + 2.0 * dx + 2.0 * dy))); + + dx = dx * resolution / targetSize; + dy = dy * resolution / targetSize; + texelCenter = texelCenter * resolution / targetSize; + + // reading the texels + highp vec3 color = texture(source, qt_TexCoord0).xyz; + + highp vec3 c00 = texture(source, texelCenter - dx - dy).xyz; + highp vec3 c10 = texture(source, texelCenter - dy).xyz; + highp vec3 c20 = texture(source, texelCenter + dx - dy).xyz; + highp vec3 c30 = texture(source, texelCenter + 2.0 * dx - dy).xyz; + highp vec3 c01 = texture(source, texelCenter - dx).xyz; + highp vec3 c11 = texture(source, texelCenter).xyz; + highp vec3 c21 = texture(source, texelCenter + dx).xyz; + highp vec3 c31 = texture(source, texelCenter + 2.0 * dx).xyz; + highp vec3 c02 = texture(source, texelCenter - dx + dy).xyz; + highp vec3 c12 = texture(source, texelCenter + dy).xyz; + highp vec3 c22 = texture(source, texelCenter + dx + dy).xyz; + highp vec3 c32 = texture(source, texelCenter + 2.0 * dx + dy).xyz; + highp vec3 c03 = texture(source, texelCenter - dx + 2.0 * dy).xyz; + highp vec3 c13 = texture(source, texelCenter + 2.0 * dy).xyz; + highp vec3 c23 = texture(source, texelCenter + dx + 2.0 * dy).xyz; + highp vec3 c33 = texture(source, texelCenter + 2.0 * dx + 2.0 * dy).xyz; + + highp vec3 F6 = texture(source, texel + dx + 0.25 * dx + 0.25 * dy).xyz; + highp vec3 F7 = texture(source, texel + dx + 0.25 * dx - 0.25 * dy).xyz; + highp vec3 F8 = texture(source, texel + dx - 0.25 * dx - 0.25 * dy).xyz; + highp vec3 F9 = texture(source, texel + dx - 0.25 * dx + 0.25 * dy).xyz; + + highp vec3 H6 = texture(source, texel + 0.25 * dx + 0.25 * dy + dy).xyz; + highp vec3 H7 = texture(source, texel + 0.25 * dx - 0.25 * dy + dy).xyz; + highp vec3 H8 = texture(source, texel - 0.25 * dx - 0.25 * dy + dy).xyz; + highp vec3 H9 = texture(source, texel - 0.25 * dx + 0.25 * dy + dy).xyz; + + highp vec4 f0 = reduce4(F6, F7, F8, F9); + highp vec4 h0 = reduce4(H6, H7, H8, H9); + + // Get min/max samples + highp vec3 min_sample = min4(c11, c21, c12, c22); + highp vec3 max_sample = max4(c11, c21, c12, c22); + + color = weights[0] * transpose(mat4x3(c00, c10, c20, c30)); + color += weights[1] * transpose(mat4x3(c01, c11, c21, c31)); + color += weights[2] * transpose(mat4x3(c02, c12, c22, c32)); + color += weights[3] * transpose(mat4x3(c03, c13, c23, c33)); + color = color / dot(vec4(1.0) * weights, vec4(1.0)); + + // Anti-ringing + highp vec3 aux = color; + color = clamp(color, min_sample, max_sample); + + color = mix(aux, color, antiRingingStrength); + + float alpha = texture(source, qt_TexCoord0).a * qt_Opacity; + out_color = vec4(color, alpha); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/preserveaspect.vert new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/preserveaspect.vert --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/preserveaspect.vert 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/preserveaspect.vert 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,30 @@ +/* +SPDX-FileCopyrightText: 2021 Arjen Hiemstra <[email protected]> + +SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +// This shader performs UV coordinates that account for the aspect ratio of some +// source as specified by the sourceSize uniform. The effective result is that +// this results in behaviour similar to the "PreserveAspectFit" mode of QML Image. + +uniform highp mat4 qt_Matrix; + +uniform highp vec2 sourceSize; +uniform highp vec2 targetSize; + +attribute highp vec4 qt_Vertex; +attribute highp vec2 qt_MultiTexCoord0; + +varying highp vec2 qt_TexCoord0; + +void main() { + highp float scale = min(targetSize.x / sourceSize.x, targetSize.y / sourceSize.y); + + highp vec2 newSize = sourceSize * scale; + highp vec2 newOffset = (targetSize - newSize) / 2.0; + highp vec2 uvOffset = (1.0 / newSize) * newOffset; + + qt_TexCoord0 = -uvOffset + (targetSize / newSize) * qt_MultiTexCoord0; + gl_Position = qt_Matrix * qt_Vertex; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/preserveaspect_core.vert new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/preserveaspect_core.vert --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/preserveaspect_core.vert 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/preserveaspect_core.vert 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,29 @@ +/* +SPDX-FileCopyrightText: 2021 Arjen Hiemstra <[email protected]> + +SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +// This shader performs UV coordinates that account for the aspect ratio of some +// source as specified by the sourceSize uniform. The effective result is that +// this results in behaviour similar to the "PreserveAspectFit" mode of QML Image. + +uniform highp mat4 qt_Matrix; + +uniform highp vec2 sourceSize; + +in highp vec4 qt_Vertex; +in highp vec2 qt_MultiTexCoord0; + +out highp vec2 qt_TexCoord0; + +void main() { + highp float scale = min(targetSize.x / sourceSize.x, targetSize.y / sourceSize.y); + + highp vec2 newSize = sourceSize * scale; + highp vec2 newOffset = (targetSize - newSize) / 2.0; + highp vec2 uvOffset = (1.0 / newSize) * newOffset; + + qt_TexCoord0 = -uvOffset + (targetSize / newSize) * qt_MultiTexCoord0; + gl_Position = qt_Matrix * qt_Vertex; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/qmldir new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/qmldir --- old/kdeclarative-5.84.0/src/qmlcontrols/graphicaleffects/qmldir 1970-01-01 01:00:00.000000000 +0100 +++ new/kdeclarative-5.85.0/src/qmlcontrols/graphicaleffects/qmldir 2021-08-06 11:02:19.000000000 +0200 @@ -0,0 +1,3 @@ +module org.kde.graphicaleffects + +Lanczos 1.0 Lanczos.qml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/kcmcontrols/qml/GridViewKCM.qml new/kdeclarative-5.85.0/src/qmlcontrols/kcmcontrols/qml/GridViewKCM.qml --- old/kdeclarative-5.84.0/src/qmlcontrols/kcmcontrols/qml/GridViewKCM.qml 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/qmlcontrols/kcmcontrols/qml/GridViewKCM.qml 2021-08-06 11:02:19.000000000 +0200 @@ -47,7 +47,7 @@ implicitWidth: { var width = 0; - // Show three columns at once, every colum occupies implicitCellWidth + Units.gridUnit + // Show three columns at once, every column occupies implicitCellWidth + Units.gridUnit width += 3 * (view.implicitCellWidth + Kirigami.Units.gridUnit); var scrollBar = scroll.QtControls.ScrollBar.vertical; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp --- old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp 2021-08-06 11:02:19.000000000 +0200 @@ -196,7 +196,7 @@ { QWindow *renderWindow = QQuickRenderControl::renderWindowFor(quickWindow); auto window = renderWindow ? renderWindow : quickWindow; - // If we have CppOwnership, set it explicitely to prevent the engine taking ownership of the window + // If we have CppOwnership, set it explicitly to prevent the engine taking ownership of the window // and crashing on teardown if (QQmlEngine::objectOwnership(window) == QQmlEngine::CppOwnership) { QQmlEngine::setObjectOwnership(window, QQmlEngine::CppOwnership); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrols/private/kquickcontrolsprivateplugin.cpp new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrols/private/kquickcontrolsprivateplugin.cpp --- old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrols/private/kquickcontrolsprivateplugin.cpp 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrols/private/kquickcontrolsprivateplugin.cpp 2021-08-06 11:02:19.000000000 +0200 @@ -16,7 +16,7 @@ Q_ASSERT(QString::fromLatin1(uri) == QLatin1String("org.kde.private.kquickcontrols")); qmlRegisterType<KeySequenceHelper>(uri, 2, 0, "KeySequenceHelper"); qmlRegisterType<TranslationContext>(uri, 2, 0, "TranslationContext"); - // Register the Helper again publically but uncreatable, so one can access the shortcuttype enum + // Register the Helper again publicly but uncreatable, so one can access the shortcuttype enum // values as for example "ShortcutType.StandardShortcuts" from qml qmlRegisterUncreatableType<KeySequenceHelper>("org.kde.kquickcontrols", 2, 0, "ShortcutType", QStringLiteral("This is just to allow accessing the enum")); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp --- old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp 2021-08-06 11:02:19.000000000 +0200 @@ -375,7 +375,7 @@ && m_pressAndHoldTimer->isActive()) { m_pressAndHoldTimer->stop(); - // if the mouse moves and we are waiting to emit a press and hold event, update the co-ordinates + // if the mouse moves and we are waiting to emit a press and hold event, update the coordinates // as there is no update function, delete the old event and create a new one } else if (m_pressAndHoldEvent) { delete m_pressAndHoldEvent; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.h new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.h --- old/kdeclarative-5.84.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.h 2021-07-03 14:09:27.000000000 +0200 +++ new/kdeclarative-5.85.0/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.h 2021-08-06 11:02:19.000000000 +0200 @@ -14,7 +14,7 @@ * This item spies on mouse events from all child objects including child MouseAreas regardless * of whether the child MouseArea propagates events. It does not accept the event. * - * In addition unlike MouseArea events include the mouse position in global co-ordinates and provides + * In addition unlike MouseArea events include the mouse position in global coordinates and provides * the screen the mouse is in. */
