aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/multieffect
Commit message (Collapse)AuthorAgeFilesLines
* RectangularShadow: Add support for individual corner radiusKaj Grönholm2025-10-2311-69/+240
| | | | | | | | | | | | Add API for specifying individual corner radius values similar to Quick Rectangle. Try to keep the overhead minimum when not used, by storing data in lazily allocated extra and using separate shader. Use the API in the neumorphicpanel example. Task-number: QTBUG-141110 Change-Id: I90e558526dff01c88fb2d163a33704b8f73aa1fc Reviewed-by: Richard Moe Gustavsen <[email protected]>
* Adapt to reuse version 6Lucie Gérard2025-10-201-0/+8
| | | | | | | Task-number: QTBUG-140916 Pick-to: 6.8 6.10 Change-Id: I7c3e50c277f28a9af9347fcf61e205187334be2f Reviewed-by: Alexandru Croitor <[email protected]>
* Add RectangularShadow elementKaj Grönholm2024-11-0918-0/+964
| | | | | | | | | | | | | | | | | | | | | | | | Add a new element into QtQuick.Effects called RectangularShadow. This is a high performance shadow/glow for (rounded)rectangle shapes. Differences compared to QGE RectangularGlow: - Implemented in C++ and part of QtQuick.Effects module. - Different API, modelled based on CSS box-shadow. - Shader uses SDFs math for rounded rectangle. Reduced item size and properly rounding math (circle is a circle). - Allows offset and spread relative to item. - Default color is black (shadow) rather than white (glow). - Using "layer.enabled" for cache property rather than separate ShaderEffectSource. - Property "material" so shader effect can be customized. QQEM can contain RectangularShadow node for easier customization. Contains an example and lancelot tests. Task-number: QTBUG-128469 Change-Id: Ie3baa774a3294ba0c7fe11d1bee8cd7aae897505 Reviewed-by: Kaj Grönholm <[email protected]>
* Examples: Disable QtC junction points for examples using 'shared' directoryKai Köhne2024-09-272-0/+42
| | | | | | | Task-number: QTBUG-128914 Pick-to: 6.8 Change-Id: If01f7e17c1f6c033e601e2e012745461c71f2e13 Reviewed-by: Cristian Adam <[email protected]>
* examples: Consistently require Qt 6.8Fabian Kosmale2024-07-032-2/+2
| | | | | | | | | | | | This prevents policy warnings in a few cases, and we want people to opt-in to new policies, so make our examples copy'n'paste friendly. Pick-to: 6.8 Task-number: QTBUG-126201 Task-number: QTBUG-126468 Change-Id: Iefa666b61c2d2f767da3583f0f6efd8e4a2169e5 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
* CMake: Add deployment API to our examplesAlexandru Croitor2024-03-272-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Projects were modified using the tool at: https://git.qt.io/alcroito/cmake_refactor A few examples had to be adapted manually, mostly those that build additional qml modules / plugins. The INSTALL_EXAMPLESDIR and INSTALL_EXAMPLEDIR assignments were removed, these are not needed anymore because example directory selection is handled by the qt_internal_add_example calls. The install(TARGETS) calls were modified according to our documentation snippets for qt_generate_deploy_qml_app_script. A qt_generate_deploy_qml_app_script call was added for each executable target. Note that the deployment step will be skipped in the CI for now, because: - we enable QT_DEPLOY_MINIMAL_EXAMPLES in the CI instructions and thus set QT_INTERNAL_SKIP_DEPLOYMENT to true - standalone examples feature is not yet enabled in the CI, which means we continue to build examples in-tree, and deployment is disabled for in-tree prefix builds. A small list of examples to deploy in the CI will be chosen in the future, to ensure deployment coverage, without slowing down overall CI times due to all the *deployqt invocations. Even if deployment is disabled in the CI, the install(TARGETS) calls for each example will still run, installing into an 'installed_examples' directory, which will not be archived by the CI. The QtBundleQmlModuleForMacOS and bundle_shared code was removed, because we can now depend on the MACOS_BUNDLE_POST_BUILD option of the deployment api, to ensure macOS bundle examples run properly in the build dir. This works even in prefix in-tree builds, when installation deployment is disabled. Finally, for all examples that build additional qml module libraries or plugins, the libraries / plugins must be installed into the bin dir of each project, along with a qmldir file. This is to support running the installed project for platforms that don't have deployment api yet, like boot2qt / yocto. If we want to have super clean install / deployment rules in the future, we won't be able to avoid adding ugly per-platform conditions. The current status quo is deemed an improvement over what we had before. Pick-to: 6.7 Task-number: QTBUG-101340 Task-number: QTBUG-102056 Task-number: QTBUG-102057 Change-Id: I843d934668c25dbcd1abca52495b393579633fc5 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Alexey Edelev <[email protected]>
* Correct license for examples filesLucie Gérard2024-03-213-3/+3
| | | | | | | | | | | | | Example takes precedent over build system file type. According to QUIP-18 [1], all examples file should be LicenseRef-Qt-Commercial OR BSD-3-Clause [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 6.7.0 Task-number: QTBUG-121787 Change-Id: Ie8c2539e7659f53a1fd6b48f99ee883ee9aeb0a7 Reviewed-by: Kai Köhne <[email protected]>
* Doc: Create separate Graphics and Multimedia example categoriesJaishree Vyas2024-01-172-2/+2
| | | | | | | Fixes: QTBUG-117884 Pick-to: 6.6 6.7 Change-Id: Ib0bb6217c29795fe50efdf827aa9902bbd572032 Reviewed-by: Topi Reiniö <[email protected]>
* Doc: Add example categories for qtquickJaishree Vyas2023-09-052-0/+2
| | | | | | | | Task-number: QTBUG-116334 Pick-to: 6.5 6.6 Change-Id: Id17a546b9363e5225b8778c629fe9ffe30d2e719 Reviewed-by: Topi Reiniö <[email protected]> Reviewed-by: Kai Köhne <[email protected]>
* Examples: Fix license of BlurHelper.qmlKai Köhne2023-06-261-1/+1
| | | | | | Pick-to: 6.5 6.6 Change-Id: I048d287487b87e0ef7c6ba448b69312859e155ad Reviewed-by: Kaj Grönholm <[email protected]>
* Examples: Use versioned CMake targets for Qt modulesKai Köhne2023-05-022-10/+10
| | | | | | | | | | | | Use e.g. Qt6::Core instead of Qt::Core. This is better matching the find_package(Qt6 ...) call, and also avoids issues that the versionless targets have. Pick-to: 6.5 Task-number: QTBUG-113277 Change-Id: Ib80f885e9f73fb9ad54b9e9b22cae2318877dc07 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* Doc: Fix documentation warningsTopi Reinio2023-03-202-2/+2
| | | | | | | | | | * Remove \generatelist example[files|images] commands, they do not produce any output, only warnings. * Add missing full stop to \brief descriptions. Pick-to: 6.5 Change-Id: I90c67b8c3f3bbe901fa083f781e9056da7763671 Reviewed-by: Paul Wicking <[email protected]>
* Add doc page for MultiEffect examplesLaszlo Agocs2023-03-074-0/+30
| | | | | | | | | MultiEffect is a new feature in Qt 6.5 and its examples must have at least a basic documentation page. Pick-to: 6.5 6.5.0 Change-Id: Ice08b1271aff3cf13d6be700bb4a86239bb46f7d Reviewed-by: Kaj Grönholm <[email protected]>
* Replace AUTO_RESOURCE_PREFIX with Qt CMake Policy in examples, testsAmir Masoud Abdol2023-02-212-4/+2
| | | | | | | | | | | | | | | | Every instance of AUTO_RESOURCE_PREFIX has been replaced by either qt_standard_project_setup(REQUIRES 6.5) or with qt_policy(SET QTP0001 NEW), mainly in tests. In addition, I added a warning message for the case where AUTO_RESOURCE_PREFIX is used. Pick-to: 6.5 Task-number: QTBUG-96233 Change-Id: I323a15e9d0bb5fe6ba649365314af9fc2ad67bda Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Oliver Eftevaag <[email protected]>
* Update the custom MultiEffectKaj Grönholm2023-02-163-44/+49
| | | | | | | | | | Re-export the example custom MultiEffect component with the latest QQEM version. Also add copyright headings into the project. Task-number: QTBUG-111150 Pick-to: 6.5 Change-Id: I27f6ad2edc220a7f5f625f6dae23159318fa20e2 Reviewed-by: Kaj Grönholm <[email protected]>
* Add custom MultiEffect into testbed exampleKaj Grönholm2023-02-0813-3/+602
| | | | | | | | | | | Add CustomMultiEffect QQEM project and the effect exported from it into the MultiEffect testbed example. This can be used to validate the QQEM MultiEffect node compatibility with the Qt Quick MultiEffect. Task-number: QTBUG-109740 Pick-to: 6.5 Change-Id: I596bf54316ab70b85b1ace33a433a4109c43b239 Reviewed-by: Kaj Grönholm <[email protected]>
* CMake: Allow omitting the version of QML modulesUlf Hermann2023-01-272-2/+0
| | | | | | | | | | | | | | | | | Also, drop all the VERSION 1.0 lines from the examples and tests. 1.0 is actually a bad default version since it's before all the Qt versions. [ChangeLog][QML] You can now omit the VERSION argument to qt_add_qml_module(). This will automatically generate the highest possible version. Pick-to: 6.5 Task-number: QTBUG-99146 Change-Id: Ic10ec69b87c224e0e94e1785f65653815d4c778c Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
* Adjust the MultiEffect APIKaj Grönholm2023-01-268-77/+77
| | | | | | | | | | | | Based on the API review, adjust the MultiEffect API. - Change mask threshold Low/Up to Min/Max and for spread AtMin/AtMax. - Change colorize to colorization so it is more symmetric with brightness, saturation etc. Task-number: QTBUG-109557 Pick-to: 6.5 Change-Id: I96ff2a13e20405998c5ed0cb38ad3b5911daf94c Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Quick examples: Modernize cmake files according to our guidelinesOliver Eftevaag2023-01-162-4/+4
| | | | | | | | | | | | | | | | The following changes are made to the CMakeLists.txt files in all quick examples: - Use PRIVATE linkage when possible. - Use qt_standard_project_setup() - Set WIN32 and MACOSX_BUNDLE in qt_add_executable() instead of set_target_properties() Pick-to: 6.5 Change-Id: I18217585aec56794b327f103d6959879df59d68a Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* Improve blur items sizingKaj Grönholm2022-12-203-6/+6
| | | | | | | | | | | | | | | | MultiEffect uses max 5 blur items. So to be able to divide first one 4 times without rounding, first one needs to be rounded up to next 2^4 = 16 (16,8,4,2,1). Make the first blurred item size half of the source size (plus the rounding). This increases the blur amount and performance and decreases texture memory usage and quality. Based on testing it seemes like a good compromize. Also resize bluritems only when needed. Pick-to: 6.5 Task-number: QTBUG-109490 Change-Id: I907b48904d3f9b0414704026cc1f07c02c49a8c7 Reviewed-by: Kaj Grönholm <[email protected]>
* Add QtQuick.Effects & MultiEffectKaj Grönholm2022-12-0754-0/+2709
Add new QtQuick.Effects plugin for post-processing effects. The plan is to add essential effects directly into QtQuick, not to duplicate Qt Graphical Effects. Initially the plugin will contain MultiEffect which supports 7 different effects in a single ShaderEffect (brightness, contrast, saturation, colorize, blur, shadow, mask). Combining multiple effects into a single shader is more performant than chaining multiple effect items. Depending on used features, the most optimal shader gets selected. Includes two examples demonstrating the usage of MultiEffect. Task-number: QTBUG-106651 Change-Id: I35865030fd4b7a1f657146cee03b195451545bc6 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>