Upload 2828 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +284 -0
- 4.8.0.1779/7z.dll +3 -0
- 4.8.0.1779/AGFX.dll +3 -0
- 4.8.0.1779/API-MS-Win-core-xstate-l2-1-0.dll +0 -0
- 4.8.0.1779/ByteVC1_dec.dll +3 -0
- 4.8.0.1779/CapCut.exe +0 -0
- 4.8.0.1779/D3DCompiler_47.dll +3 -0
- 4.8.0.1779/EffectPlatform.dll +3 -0
- 4.8.0.1779/FusionUI.dll +3 -0
- 4.8.0.1779/GeckoSDK.dll +3 -0
- 4.8.0.1779/Microsoft.WindowsAppRuntime.Bootstrap.dll +3 -0
- 4.8.0.1779/PlatinumWebView.dll +3 -0
- 4.8.0.1779/QnnHtp.dll +3 -0
- 4.8.0.1779/QnnHtpPrepare.dll +3 -0
- 4.8.0.1779/QnnHtpV73Stub.dll +3 -0
- 4.8.0.1779/QnnSystem.dll +3 -0
- 4.8.0.1779/Qt/labs/lottieqt/lottieqtplugin.dll +3 -0
- 4.8.0.1779/Qt/labs/lottieqt/plugins.qmltypes +101 -0
- 4.8.0.1779/Qt/labs/lottieqt/qmldir +7 -0
- 4.8.0.1779/Qt/labs/platform/plugins.qmltypes +8 -0
- 4.8.0.1779/Qt/labs/platform/qmldir +7 -0
- 4.8.0.1779/Qt/labs/platform/qtlabsplatformplugin.dll +3 -0
- 4.8.0.1779/Qt/labs/qmlmodels/labsmodelsplugin.dll +0 -0
- 4.8.0.1779/Qt/labs/qmlmodels/plugins.qmltypes +493 -0
- 4.8.0.1779/Qt/labs/qmlmodels/qmldir +7 -0
- 4.8.0.1779/Qt/labs/settings/plugins.qmltypes +55 -0
- 4.8.0.1779/Qt/labs/settings/qmldir +7 -0
- 4.8.0.1779/Qt/labs/settings/qmlsettingsplugin.dll +0 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/BrightnessContrast.qml +203 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/ColorOverlay.qml +157 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/Colorize.qml +245 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/ConicalGradient.qml +342 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/Desaturate.qml +156 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/Displace.qml +199 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/DropShadow.qml +326 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/FastBlur.qml +446 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/GammaAdjust.qml +193 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/Glow.qml +247 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/HueSaturation.qml +233 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/LevelAdjust.qml +449 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/LinearGradient.qml +332 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/OpacityMask.qml +171 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/RadialGradient.qml +419 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/RectangularGlow.qml +277 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/ThresholdMask.qml +224 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/plugins.qmltypes +10 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/private/FastGlow.qml +342 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/private/qmldir +9 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/private/qtgraphicaleffectsprivateplugin.dll +0 -0
- 4.8.0.1779/Qt5Compat/GraphicalEffects/qmldir +44 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,287 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
4.8.0.1779/7z.dll filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
4.8.0.1779/AGFX.dll filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
4.8.0.1779/audioeffect.dll filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
4.8.0.1779/avcodec-61.dll filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
4.8.0.1779/avdevice-61.dll filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
4.8.0.1779/avfilter-10.dll filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
4.8.0.1779/avformat-61.dll filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
4.8.0.1779/avutil-59.dll filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
4.8.0.1779/base.dll filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
4.8.0.1779/bd_mojo.dll filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
4.8.0.1779/boringssl.dll filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
4.8.0.1779/bytebench.dll filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
4.8.0.1779/bytebenchsdk.dll filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
4.8.0.1779/bytenn_dsp.dll filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
4.8.0.1779/ByteVC1_dec.dll filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
4.8.0.1779/cef/chrome_100_percent.pak filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
4.8.0.1779/cef/chrome_200_percent.pak filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
4.8.0.1779/cef/chrome_elf.dll filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
4.8.0.1779/cef/d3dcompiler_47.dll filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
4.8.0.1779/cef/icudtl.dat filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
4.8.0.1779/cef/libcef.dll filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
4.8.0.1779/cef/libEGL.dll filter=lfs diff=lfs merge=lfs -text
|
| 58 |
+
4.8.0.1779/cef/libGLESv2.dll filter=lfs diff=lfs merge=lfs -text
|
| 59 |
+
4.8.0.1779/cef/locales/af.pak filter=lfs diff=lfs merge=lfs -text
|
| 60 |
+
4.8.0.1779/cef/locales/am.pak filter=lfs diff=lfs merge=lfs -text
|
| 61 |
+
4.8.0.1779/cef/locales/ar.pak filter=lfs diff=lfs merge=lfs -text
|
| 62 |
+
4.8.0.1779/cef/locales/bg.pak filter=lfs diff=lfs merge=lfs -text
|
| 63 |
+
4.8.0.1779/cef/locales/bn.pak filter=lfs diff=lfs merge=lfs -text
|
| 64 |
+
4.8.0.1779/cef/locales/ca.pak filter=lfs diff=lfs merge=lfs -text
|
| 65 |
+
4.8.0.1779/cef/locales/cs.pak filter=lfs diff=lfs merge=lfs -text
|
| 66 |
+
4.8.0.1779/cef/locales/da.pak filter=lfs diff=lfs merge=lfs -text
|
| 67 |
+
4.8.0.1779/cef/locales/de.pak filter=lfs diff=lfs merge=lfs -text
|
| 68 |
+
4.8.0.1779/cef/locales/el.pak filter=lfs diff=lfs merge=lfs -text
|
| 69 |
+
4.8.0.1779/cef/locales/en-GB.pak filter=lfs diff=lfs merge=lfs -text
|
| 70 |
+
4.8.0.1779/cef/locales/en-US.pak filter=lfs diff=lfs merge=lfs -text
|
| 71 |
+
4.8.0.1779/cef/locales/es-419.pak filter=lfs diff=lfs merge=lfs -text
|
| 72 |
+
4.8.0.1779/cef/locales/es.pak filter=lfs diff=lfs merge=lfs -text
|
| 73 |
+
4.8.0.1779/cef/locales/et.pak filter=lfs diff=lfs merge=lfs -text
|
| 74 |
+
4.8.0.1779/cef/locales/fa.pak filter=lfs diff=lfs merge=lfs -text
|
| 75 |
+
4.8.0.1779/cef/locales/fi.pak filter=lfs diff=lfs merge=lfs -text
|
| 76 |
+
4.8.0.1779/cef/locales/fil.pak filter=lfs diff=lfs merge=lfs -text
|
| 77 |
+
4.8.0.1779/cef/locales/fr.pak filter=lfs diff=lfs merge=lfs -text
|
| 78 |
+
4.8.0.1779/cef/locales/gu.pak filter=lfs diff=lfs merge=lfs -text
|
| 79 |
+
4.8.0.1779/cef/locales/he.pak filter=lfs diff=lfs merge=lfs -text
|
| 80 |
+
4.8.0.1779/cef/locales/hi.pak filter=lfs diff=lfs merge=lfs -text
|
| 81 |
+
4.8.0.1779/cef/locales/hr.pak filter=lfs diff=lfs merge=lfs -text
|
| 82 |
+
4.8.0.1779/cef/locales/hu.pak filter=lfs diff=lfs merge=lfs -text
|
| 83 |
+
4.8.0.1779/cef/locales/id.pak filter=lfs diff=lfs merge=lfs -text
|
| 84 |
+
4.8.0.1779/cef/locales/it.pak filter=lfs diff=lfs merge=lfs -text
|
| 85 |
+
4.8.0.1779/cef/locales/ja.pak filter=lfs diff=lfs merge=lfs -text
|
| 86 |
+
4.8.0.1779/cef/locales/kn.pak filter=lfs diff=lfs merge=lfs -text
|
| 87 |
+
4.8.0.1779/cef/locales/ko.pak filter=lfs diff=lfs merge=lfs -text
|
| 88 |
+
4.8.0.1779/cef/locales/lt.pak filter=lfs diff=lfs merge=lfs -text
|
| 89 |
+
4.8.0.1779/cef/locales/lv.pak filter=lfs diff=lfs merge=lfs -text
|
| 90 |
+
4.8.0.1779/cef/locales/ml.pak filter=lfs diff=lfs merge=lfs -text
|
| 91 |
+
4.8.0.1779/cef/locales/mr.pak filter=lfs diff=lfs merge=lfs -text
|
| 92 |
+
4.8.0.1779/cef/locales/ms.pak filter=lfs diff=lfs merge=lfs -text
|
| 93 |
+
4.8.0.1779/cef/locales/nb.pak filter=lfs diff=lfs merge=lfs -text
|
| 94 |
+
4.8.0.1779/cef/locales/nl.pak filter=lfs diff=lfs merge=lfs -text
|
| 95 |
+
4.8.0.1779/cef/locales/pl.pak filter=lfs diff=lfs merge=lfs -text
|
| 96 |
+
4.8.0.1779/cef/locales/pt-BR.pak filter=lfs diff=lfs merge=lfs -text
|
| 97 |
+
4.8.0.1779/cef/locales/pt-PT.pak filter=lfs diff=lfs merge=lfs -text
|
| 98 |
+
4.8.0.1779/cef/locales/ro.pak filter=lfs diff=lfs merge=lfs -text
|
| 99 |
+
4.8.0.1779/cef/locales/ru.pak filter=lfs diff=lfs merge=lfs -text
|
| 100 |
+
4.8.0.1779/cef/locales/sk.pak filter=lfs diff=lfs merge=lfs -text
|
| 101 |
+
4.8.0.1779/cef/locales/sl.pak filter=lfs diff=lfs merge=lfs -text
|
| 102 |
+
4.8.0.1779/cef/locales/sr.pak filter=lfs diff=lfs merge=lfs -text
|
| 103 |
+
4.8.0.1779/cef/locales/sv.pak filter=lfs diff=lfs merge=lfs -text
|
| 104 |
+
4.8.0.1779/cef/locales/sw.pak filter=lfs diff=lfs merge=lfs -text
|
| 105 |
+
4.8.0.1779/cef/locales/ta.pak filter=lfs diff=lfs merge=lfs -text
|
| 106 |
+
4.8.0.1779/cef/locales/te.pak filter=lfs diff=lfs merge=lfs -text
|
| 107 |
+
4.8.0.1779/cef/locales/th.pak filter=lfs diff=lfs merge=lfs -text
|
| 108 |
+
4.8.0.1779/cef/locales/tr.pak filter=lfs diff=lfs merge=lfs -text
|
| 109 |
+
4.8.0.1779/cef/locales/uk.pak filter=lfs diff=lfs merge=lfs -text
|
| 110 |
+
4.8.0.1779/cef/locales/ur.pak filter=lfs diff=lfs merge=lfs -text
|
| 111 |
+
4.8.0.1779/cef/locales/vi.pak filter=lfs diff=lfs merge=lfs -text
|
| 112 |
+
4.8.0.1779/cef/locales/zh-CN.pak filter=lfs diff=lfs merge=lfs -text
|
| 113 |
+
4.8.0.1779/cef/locales/zh-TW.pak filter=lfs diff=lfs merge=lfs -text
|
| 114 |
+
4.8.0.1779/cef/resources.pak filter=lfs diff=lfs merge=lfs -text
|
| 115 |
+
4.8.0.1779/cef/vk_swiftshader.dll filter=lfs diff=lfs merge=lfs -text
|
| 116 |
+
4.8.0.1779/cef/vulkan-1.dll filter=lfs diff=lfs merge=lfs -text
|
| 117 |
+
4.8.0.1779/concrt140.dll filter=lfs diff=lfs merge=lfs -text
|
| 118 |
+
4.8.0.1779/D3DCompiler_47.dll filter=lfs diff=lfs merge=lfs -text
|
| 119 |
+
4.8.0.1779/data/icudtl.dat filter=lfs diff=lfs merge=lfs -text
|
| 120 |
+
4.8.0.1779/dav1d.dll filter=lfs diff=lfs merge=lfs -text
|
| 121 |
+
4.8.0.1779/deviceregister_shared.dll filter=lfs diff=lfs merge=lfs -text
|
| 122 |
+
4.8.0.1779/effect.dll filter=lfs diff=lfs merge=lfs -text
|
| 123 |
+
4.8.0.1779/EffectPlatform.dll filter=lfs diff=lfs merge=lfs -text
|
| 124 |
+
4.8.0.1779/ever_cloud_sdk.dll filter=lfs diff=lfs merge=lfs -text
|
| 125 |
+
4.8.0.1779/fastcv.dll filter=lfs diff=lfs merge=lfs -text
|
| 126 |
+
4.8.0.1779/feedbacktool.exe filter=lfs diff=lfs merge=lfs -text
|
| 127 |
+
4.8.0.1779/ffmpeg.dll filter=lfs diff=lfs merge=lfs -text
|
| 128 |
+
4.8.0.1779/ffmpeg.exe filter=lfs diff=lfs merge=lfs -text
|
| 129 |
+
4.8.0.1779/FusionUI.dll filter=lfs diff=lfs merge=lfs -text
|
| 130 |
+
4.8.0.1779/GeckoSDK.dll filter=lfs diff=lfs merge=lfs -text
|
| 131 |
+
4.8.0.1779/lens.dll filter=lfs diff=lfs merge=lfs -text
|
| 132 |
+
4.8.0.1779/libbyteVC2dec.dll filter=lfs diff=lfs merge=lfs -text
|
| 133 |
+
4.8.0.1779/libiconv.dll filter=lfs diff=lfs merge=lfs -text
|
| 134 |
+
4.8.0.1779/libmp3lame-0.dll filter=lfs diff=lfs merge=lfs -text
|
| 135 |
+
4.8.0.1779/libQnnHtpV73Skel.so filter=lfs diff=lfs merge=lfs -text
|
| 136 |
+
4.8.0.1779/libvecrptor.dll filter=lfs diff=lfs merge=lfs -text
|
| 137 |
+
4.8.0.1779/libvpl.dll filter=lfs diff=lfs merge=lfs -text
|
| 138 |
+
4.8.0.1779/lynx.dll filter=lfs diff=lfs merge=lfs -text
|
| 139 |
+
4.8.0.1779/metasecml.dll filter=lfs diff=lfs merge=lfs -text
|
| 140 |
+
4.8.0.1779/Microsoft.WindowsAppRuntime.Bootstrap.dll filter=lfs diff=lfs merge=lfs -text
|
| 141 |
+
4.8.0.1779/minidump_stackwalk.dll filter=lfs diff=lfs merge=lfs -text
|
| 142 |
+
4.8.0.1779/minidump_stackwalk.exe filter=lfs diff=lfs merge=lfs -text
|
| 143 |
+
4.8.0.1779/mmkv.dll filter=lfs diff=lfs merge=lfs -text
|
| 144 |
+
4.8.0.1779/msvcp120.dll filter=lfs diff=lfs merge=lfs -text
|
| 145 |
+
4.8.0.1779/msvcp140_2.dll filter=lfs diff=lfs merge=lfs -text
|
| 146 |
+
4.8.0.1779/msvcp140.dll filter=lfs diff=lfs merge=lfs -text
|
| 147 |
+
4.8.0.1779/msvcr120.dll filter=lfs diff=lfs merge=lfs -text
|
| 148 |
+
4.8.0.1779/msvcrt.dll filter=lfs diff=lfs merge=lfs -text
|
| 149 |
+
4.8.0.1779/npu_driver_compiler_adapter.dll filter=lfs diff=lfs merge=lfs -text
|
| 150 |
+
4.8.0.1779/npu_level_zero_backend.dll filter=lfs diff=lfs merge=lfs -text
|
| 151 |
+
4.8.0.1779/nvjpeg64_11.dll filter=lfs diff=lfs merge=lfs -text
|
| 152 |
+
4.8.0.1779/opengl32sw.dll filter=lfs diff=lfs merge=lfs -text
|
| 153 |
+
4.8.0.1779/openvino_intel_npu_plugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 154 |
+
4.8.0.1779/openvino_ir_frontend.dll filter=lfs diff=lfs merge=lfs -text
|
| 155 |
+
4.8.0.1779/openvino.dll filter=lfs diff=lfs merge=lfs -text
|
| 156 |
+
4.8.0.1779/parfait_crash_handler.exe filter=lfs diff=lfs merge=lfs -text
|
| 157 |
+
4.8.0.1779/parfait.dll filter=lfs diff=lfs merge=lfs -text
|
| 158 |
+
4.8.0.1779/pc_push.dll filter=lfs diff=lfs merge=lfs -text
|
| 159 |
+
4.8.0.1779/PlatinumWebView.dll filter=lfs diff=lfs merge=lfs -text
|
| 160 |
+
4.8.0.1779/plugins/geometryloaders/defaultgeometryloader.dll filter=lfs diff=lfs merge=lfs -text
|
| 161 |
+
4.8.0.1779/plugins/imageformats/qjpeg.dll filter=lfs diff=lfs merge=lfs -text
|
| 162 |
+
4.8.0.1779/plugins/imageformats/qtiff.dll filter=lfs diff=lfs merge=lfs -text
|
| 163 |
+
4.8.0.1779/plugins/imageformats/qwebp.dll filter=lfs diff=lfs merge=lfs -text
|
| 164 |
+
4.8.0.1779/plugins/platforms/qwindows.dll filter=lfs diff=lfs merge=lfs -text
|
| 165 |
+
4.8.0.1779/plugins/qmltooling/qmldbg_debugger.dll filter=lfs diff=lfs merge=lfs -text
|
| 166 |
+
4.8.0.1779/plugins/qmltooling/qmldbg_preview.dll filter=lfs diff=lfs merge=lfs -text
|
| 167 |
+
4.8.0.1779/plugins/qmltooling/qmldbg_profiler.dll filter=lfs diff=lfs merge=lfs -text
|
| 168 |
+
4.8.0.1779/plugins/qmltooling/qmldbg_server.dll filter=lfs diff=lfs merge=lfs -text
|
| 169 |
+
4.8.0.1779/plugins/renderers/openglrenderer.dll filter=lfs diff=lfs merge=lfs -text
|
| 170 |
+
4.8.0.1779/plugins/sceneparsers/assimpsceneimport.dll filter=lfs diff=lfs merge=lfs -text
|
| 171 |
+
4.8.0.1779/plugins/sceneparsers/gltfsceneexport.dll filter=lfs diff=lfs merge=lfs -text
|
| 172 |
+
4.8.0.1779/plugins/sceneparsers/gltfsceneimport.dll filter=lfs diff=lfs merge=lfs -text
|
| 173 |
+
4.8.0.1779/plugins/sqldrivers/qsqlite.dll filter=lfs diff=lfs merge=lfs -text
|
| 174 |
+
4.8.0.1779/plugins/sqldrivers/qsqlodbc.dll filter=lfs diff=lfs merge=lfs -text
|
| 175 |
+
4.8.0.1779/plugins/styles/qwindowsvistastyle.dll filter=lfs diff=lfs merge=lfs -text
|
| 176 |
+
4.8.0.1779/plugins/tls/qcertonlybackend.dll filter=lfs diff=lfs merge=lfs -text
|
| 177 |
+
4.8.0.1779/plugins/tls/qopensslbackend.dll filter=lfs diff=lfs merge=lfs -text
|
| 178 |
+
4.8.0.1779/plugins/tls/qschannelbackend.dll filter=lfs diff=lfs merge=lfs -text
|
| 179 |
+
4.8.0.1779/plugins/virtualkeyboard/qtvirtualkeyboard_openwnn.dll filter=lfs diff=lfs merge=lfs -text
|
| 180 |
+
4.8.0.1779/plugins/virtualkeyboard/qtvirtualkeyboard_pinyin.dll filter=lfs diff=lfs merge=lfs -text
|
| 181 |
+
4.8.0.1779/plugins/virtualkeyboard/qtvirtualkeyboard_tcime.dll filter=lfs diff=lfs merge=lfs -text
|
| 182 |
+
4.8.0.1779/QnnHtp.dll filter=lfs diff=lfs merge=lfs -text
|
| 183 |
+
4.8.0.1779/QnnHtpPrepare.dll filter=lfs diff=lfs merge=lfs -text
|
| 184 |
+
4.8.0.1779/QnnHtpV73Stub.dll filter=lfs diff=lfs merge=lfs -text
|
| 185 |
+
4.8.0.1779/QnnSystem.dll filter=lfs diff=lfs merge=lfs -text
|
| 186 |
+
4.8.0.1779/Qt/labs/lottieqt/lottieqtplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 187 |
+
4.8.0.1779/Qt/labs/platform/qtlabsplatformplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 188 |
+
4.8.0.1779/Qt5Compat/GraphicalEffects/qtgraphicaleffectsplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 189 |
+
4.8.0.1779/Qt63DAnimation.dll filter=lfs diff=lfs merge=lfs -text
|
| 190 |
+
4.8.0.1779/Qt63DCore.dll filter=lfs diff=lfs merge=lfs -text
|
| 191 |
+
4.8.0.1779/Qt63DExtras.dll filter=lfs diff=lfs merge=lfs -text
|
| 192 |
+
4.8.0.1779/Qt63DInput.dll filter=lfs diff=lfs merge=lfs -text
|
| 193 |
+
4.8.0.1779/Qt63DQuickScene2D.dll filter=lfs diff=lfs merge=lfs -text
|
| 194 |
+
4.8.0.1779/Qt63DRender.dll filter=lfs diff=lfs merge=lfs -text
|
| 195 |
+
4.8.0.1779/Qt6Bodymovin.dll filter=lfs diff=lfs merge=lfs -text
|
| 196 |
+
4.8.0.1779/Qt6Core.dll filter=lfs diff=lfs merge=lfs -text
|
| 197 |
+
4.8.0.1779/Qt6Core5Compat.dll filter=lfs diff=lfs merge=lfs -text
|
| 198 |
+
4.8.0.1779/Qt6Gui.dll filter=lfs diff=lfs merge=lfs -text
|
| 199 |
+
4.8.0.1779/Qt6LabsQmlModels.dll filter=lfs diff=lfs merge=lfs -text
|
| 200 |
+
4.8.0.1779/Qt6Network.dll filter=lfs diff=lfs merge=lfs -text
|
| 201 |
+
4.8.0.1779/Qt6OpenGL.dll filter=lfs diff=lfs merge=lfs -text
|
| 202 |
+
4.8.0.1779/Qt6Qml.dll filter=lfs diff=lfs merge=lfs -text
|
| 203 |
+
4.8.0.1779/Qt6QmlModels.dll filter=lfs diff=lfs merge=lfs -text
|
| 204 |
+
4.8.0.1779/Qt6QmlXmlListModel.dll filter=lfs diff=lfs merge=lfs -text
|
| 205 |
+
4.8.0.1779/Qt6Quick.dll filter=lfs diff=lfs merge=lfs -text
|
| 206 |
+
4.8.0.1779/Qt6QuickControls2Impl.dll filter=lfs diff=lfs merge=lfs -text
|
| 207 |
+
4.8.0.1779/Qt6QuickDialogs2.dll filter=lfs diff=lfs merge=lfs -text
|
| 208 |
+
4.8.0.1779/Qt6QuickDialogs2QuickImpl.dll filter=lfs diff=lfs merge=lfs -text
|
| 209 |
+
4.8.0.1779/Qt6QuickLayouts.dll filter=lfs diff=lfs merge=lfs -text
|
| 210 |
+
4.8.0.1779/Qt6QuickParticles.dll filter=lfs diff=lfs merge=lfs -text
|
| 211 |
+
4.8.0.1779/Qt6QuickShapes.dll filter=lfs diff=lfs merge=lfs -text
|
| 212 |
+
4.8.0.1779/Qt6QuickTemplates2.dll filter=lfs diff=lfs merge=lfs -text
|
| 213 |
+
4.8.0.1779/Qt6Sql.dll filter=lfs diff=lfs merge=lfs -text
|
| 214 |
+
4.8.0.1779/Qt6StateMachine.dll filter=lfs diff=lfs merge=lfs -text
|
| 215 |
+
4.8.0.1779/Qt6StateMachineQml.dll filter=lfs diff=lfs merge=lfs -text
|
| 216 |
+
4.8.0.1779/Qt6Svg.dll filter=lfs diff=lfs merge=lfs -text
|
| 217 |
+
4.8.0.1779/Qt6VirtualKeyboard.dll filter=lfs diff=lfs merge=lfs -text
|
| 218 |
+
4.8.0.1779/Qt6Widgets.dll filter=lfs diff=lfs merge=lfs -text
|
| 219 |
+
4.8.0.1779/QtQuick/Controls/Basic/qtquickcontrols2basicstyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 220 |
+
4.8.0.1779/QtQuick/Controls/Fusion/impl/qtquickcontrols2fusionstyleimplplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 221 |
+
4.8.0.1779/QtQuick/Controls/Fusion/qtquickcontrols2fusionstyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 222 |
+
4.8.0.1779/QtQuick/Controls/Imagine/impl/qtquickcontrols2imaginestyleimplplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 223 |
+
4.8.0.1779/QtQuick/Controls/Imagine/qtquickcontrols2imaginestyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 224 |
+
4.8.0.1779/QtQuick/Controls/Material/impl/qtquickcontrols2materialstyleimplplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 225 |
+
4.8.0.1779/QtQuick/Controls/Material/qtquickcontrols2materialstyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 226 |
+
4.8.0.1779/QtQuick/Controls/Universal/qtquickcontrols2universalstyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 227 |
+
4.8.0.1779/QtQuick/Controls/Windows/qtquickcontrols2windowsstyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 228 |
+
4.8.0.1779/QtQuick/NativeStyle/qtquickcontrols2nativestyleplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 229 |
+
4.8.0.1779/QtQuick/Scene3D/qtquickscene3dplugin.dll filter=lfs diff=lfs merge=lfs -text
|
| 230 |
+
4.8.0.1779/raw_r.dll filter=lfs diff=lfs merge=lfs -text
|
| 231 |
+
4.8.0.1779/renderkit_windows.dll filter=lfs diff=lfs merge=lfs -text
|
| 232 |
+
4.8.0.1779/res_pool.dll filter=lfs diff=lfs merge=lfs -text
|
| 233 |
+
4.8.0.1779/Resources/adjustPreset.png filter=lfs diff=lfs merge=lfs -text
|
| 234 |
+
4.8.0.1779/Resources/article_video/intro.gif filter=lfs diff=lfs merge=lfs -text
|
| 235 |
+
4.8.0.1779/Resources/ByteviewjianyingAudioDevice.driver/Contents/MacOS/ByteviewjianyingAudioDevice filter=lfs diff=lfs merge=lfs -text
|
| 236 |
+
4.8.0.1779/Resources/DefaultAdjustBundle/particle/amazingfeature/image/grain512x512.png filter=lfs diff=lfs merge=lfs -text
|
| 237 |
+
4.8.0.1779/Resources/figure/beauty_head/manual_small_face/AmazingFeature/main.scene filter=lfs diff=lfs merge=lfs -text
|
| 238 |
+
4.8.0.1779/Resources/Font/Effect/seguiemj.ttf filter=lfs diff=lfs merge=lfs -text
|
| 239 |
+
4.8.0.1779/Resources/Font/SystemFont/ja.ttf filter=lfs diff=lfs merge=lfs -text
|
| 240 |
+
4.8.0.1779/Resources/Font/SystemFont/ko.ttf filter=lfs diff=lfs merge=lfs -text
|
| 241 |
+
4.8.0.1779/Resources/Font/SystemFont/NotoSans-Regular.ttf filter=lfs diff=lfs merge=lfs -text
|
| 242 |
+
4.8.0.1779/Resources/Font/SystemFont/NotoSansArabic-Regular.ttf filter=lfs diff=lfs merge=lfs -text
|
| 243 |
+
4.8.0.1779/Resources/Font/SystemFont/NotoSansBengali-Regular.ttf filter=lfs diff=lfs merge=lfs -text
|
| 244 |
+
4.8.0.1779/Resources/Font/SystemFont/NotoSansKhmer-Regular.ttf filter=lfs diff=lfs merge=lfs -text
|
| 245 |
+
4.8.0.1779/Resources/Font/SystemFont/NotoSansMyanmar-Regular.ttf filter=lfs diff=lfs merge=lfs -text
|
| 246 |
+
4.8.0.1779/Resources/Font/SystemFont/NotoSansSymbols2-Regular.ttf filter=lfs diff=lfs merge=lfs -text
|
| 247 |
+
4.8.0.1779/Resources/Font/SystemFont/th.ttf filter=lfs diff=lfs merge=lfs -text
|
| 248 |
+
4.8.0.1779/Resources/Font/SystemFont/zh-hans.ttf filter=lfs diff=lfs merge=lfs -text
|
| 249 |
+
4.8.0.1779/Resources/Font/SystemFont/zh-hant.ttf filter=lfs diff=lfs merge=lfs -text
|
| 250 |
+
4.8.0.1779/Resources/Guide/Video/color_match_cc.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 251 |
+
4.8.0.1779/Resources/Guide/Video/digital_human_rule_cc.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 252 |
+
4.8.0.1779/Resources/image_h5_sticker_publish/image_lynx_videocutpc_subscription_export/template.js filter=lfs diff=lfs merge=lfs -text
|
| 253 |
+
4.8.0.1779/Resources/image_h5_sticker_publish/image_lynx_videocutpc_subscription/template.js filter=lfs diff=lfs merge=lfs -text
|
| 254 |
+
4.8.0.1779/Resources/image_lynx_videocutpc_credits_center/template.js filter=lfs diff=lfs merge=lfs -text
|
| 255 |
+
4.8.0.1779/Resources/image_lynx_videocutpc_subscription_pay_modal/pages/aigc/template.js filter=lfs diff=lfs merge=lfs -text
|
| 256 |
+
4.8.0.1779/Resources/image_lynx_videocutpc_subscription_pay_modal/pages/digital_human/template.js filter=lfs diff=lfs merge=lfs -text
|
| 257 |
+
4.8.0.1779/Resources/lut-filter.png filter=lfs diff=lfs merge=lfs -text
|
| 258 |
+
4.8.0.1779/Resources/lut-import.png filter=lfs diff=lfs merge=lfs -text
|
| 259 |
+
4.8.0.1779/Resources/lynx_config/image_lynx_videocutpc_credits_center/template.js filter=lfs diff=lfs merge=lfs -text
|
| 260 |
+
4.8.0.1779/Resources/lynx_config/image_lynx_videocutpc_subscription_export/template.js filter=lfs diff=lfs merge=lfs -text
|
| 261 |
+
4.8.0.1779/Resources/lynx_config/image_lynx_videocutpc_subscription_manage/template.js filter=lfs diff=lfs merge=lfs -text
|
| 262 |
+
4.8.0.1779/Resources/lynx_config/image_lynx_videocutpc_subscription_pay_modal/pages/aigc/template.js filter=lfs diff=lfs merge=lfs -text
|
| 263 |
+
4.8.0.1779/Resources/lynx_config/image_lynx_videocutpc_subscription_pay_modal/pages/digital_human/template.js filter=lfs diff=lfs merge=lfs -text
|
| 264 |
+
4.8.0.1779/Resources/lynx_config/image_lynx_videocutpc_subscription/template.js filter=lfs diff=lfs merge=lfs -text
|
| 265 |
+
4.8.0.1779/Resources/lynx_config/vicut_lynx_commerce_comp_popup/pages/comp_popup/template.js filter=lfs diff=lfs merge=lfs -text
|
| 266 |
+
4.8.0.1779/Resources/models/ar_scan/tt_arscan_raw_v2.0.dat filter=lfs diff=lfs merge=lfs -text
|
| 267 |
+
4.8.0.1779/Resources/models/ar_scan/tt_arscan_voc_v2.0.dat filter=lfs diff=lfs merge=lfs -text
|
| 268 |
+
4.8.0.1779/Resources/models/colorcard/lookup.png filter=lfs diff=lfs merge=lfs -text
|
| 269 |
+
4.8.0.1779/Resources/models/invisible_watermark/mac_lens_wm_embed_model_c4_v2.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 270 |
+
4.8.0.1779/Resources/models/invisible_watermark/win_lens_wm_embed_model_c4_v2.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 271 |
+
4.8.0.1779/Resources/models/jy_compressShotDetectBackbone_new_v1.0_size0.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 272 |
+
4.8.0.1779/Resources/models/jy_compressShotDetectBackbone_v1.0_size0.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 273 |
+
4.8.0.1779/Resources/models/jy_compressShotDetectPredHead_new_v1.0_size0.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 274 |
+
4.8.0.1779/Resources/models/jy_compressShotDetectPredHead_v1.0_size0.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 275 |
+
4.8.0.1779/Resources/models/media_search/asr/ptl_3.dat filter=lfs diff=lfs merge=lfs -text
|
| 276 |
+
4.8.0.1779/Resources/models/media_search/asr/ptl.dat filter=lfs diff=lfs merge=lfs -text
|
| 277 |
+
4.8.0.1779/Resources/models/noise_reduction/nn_denoise.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 278 |
+
4.8.0.1779/Resources/models/object_tracking/bingo_objectTracking_v1.0.dat filter=lfs diff=lfs merge=lfs -text
|
| 279 |
+
4.8.0.1779/Resources/models/skinunified_v1.0_size1.bytenn filter=lfs diff=lfs merge=lfs -text
|
| 280 |
+
4.8.0.1779/Resources/models/tracking_ar/wanglaoji_v1.0.dat filter=lfs diff=lfs merge=lfs -text
|
| 281 |
+
4.8.0.1779/Resources/notice_sound/export_success.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 282 |
+
4.8.0.1779/Resources/oobe/example.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 283 |
+
4.8.0.1779/Resources/smart_relight_preset.png filter=lfs diff=lfs merge=lfs -text
|
| 284 |
+
4.8.0.1779/Resources/watermark/ai_left/SequenceMap.png filter=lfs diff=lfs merge=lfs -text
|
| 285 |
+
4.8.0.1779/Resources/watermark/brand_left/SequenceMap.png filter=lfs diff=lfs merge=lfs -text
|
| 286 |
+
4.8.0.1779/Resources/watermark/brand_right/SequenceMap.png filter=lfs diff=lfs merge=lfs -text
|
| 287 |
+
4.8.0.1779/Settings.dll filter=lfs diff=lfs merge=lfs -text
|
| 288 |
+
4.8.0.1779/smart_cut.ofx.bundle/Contents/Win64/smart_cut.ofx filter=lfs diff=lfs merge=lfs -text
|
| 289 |
+
4.8.0.1779/speechsdk.dll filter=lfs diff=lfs merge=lfs -text
|
| 290 |
+
4.8.0.1779/sscronet.dll filter=lfs diff=lfs merge=lfs -text
|
| 291 |
+
4.8.0.1779/SvtAv1Enc.dll filter=lfs diff=lfs merge=lfs -text
|
| 292 |
+
4.8.0.1779/swresample-5.dll filter=lfs diff=lfs merge=lfs -text
|
| 293 |
+
4.8.0.1779/swscale-8.dll filter=lfs diff=lfs merge=lfs -text
|
| 294 |
+
4.8.0.1779/sync-sdk.dll filter=lfs diff=lfs merge=lfs -text
|
| 295 |
+
4.8.0.1779/tbb12.dll filter=lfs diff=lfs merge=lfs -text
|
| 296 |
+
4.8.0.1779/Tracking.dll filter=lfs diff=lfs merge=lfs -text
|
| 297 |
+
4.8.0.1779/tt_c2pa_sdk.dll filter=lfs diff=lfs merge=lfs -text
|
| 298 |
+
4.8.0.1779/ttdaemon.exe filter=lfs diff=lfs merge=lfs -text
|
| 299 |
+
4.8.0.1779/ttheif_dec.dll filter=lfs diff=lfs merge=lfs -text
|
| 300 |
+
4.8.0.1779/TTNetDownloaderCrossPlatform.dll filter=lfs diff=lfs merge=lfs -text
|
| 301 |
+
4.8.0.1779/ttvideoeditor.dll filter=lfs diff=lfs merge=lfs -text
|
| 302 |
+
4.8.0.1779/ucrtbase.dll filter=lfs diff=lfs merge=lfs -text
|
| 303 |
+
4.8.0.1779/UETSDKWrapper.dll filter=lfs diff=lfs merge=lfs -text
|
| 304 |
+
4.8.0.1779/uploader.dll filter=lfs diff=lfs merge=lfs -text
|
| 305 |
+
4.8.0.1779/vcomp140.dll filter=lfs diff=lfs merge=lfs -text
|
| 306 |
+
4.8.0.1779/vcruntime140.dll filter=lfs diff=lfs merge=lfs -text
|
| 307 |
+
4.8.0.1779/VEAngle/libEGL.dll filter=lfs diff=lfs merge=lfs -text
|
| 308 |
+
4.8.0.1779/VEAngle/libGLESv2.dll filter=lfs diff=lfs merge=lfs -text
|
| 309 |
+
4.8.0.1779/VEConfig.dll filter=lfs diff=lfs merge=lfs -text
|
| 310 |
+
4.8.0.1779/VECrashHandler.exe filter=lfs diff=lfs merge=lfs -text
|
| 311 |
+
4.8.0.1779/VECreator.dll filter=lfs diff=lfs merge=lfs -text
|
| 312 |
+
4.8.0.1779/VEDetector.exe filter=lfs diff=lfs merge=lfs -text
|
| 313 |
+
4.8.0.1779/VEExceptMonitor.dll filter=lfs diff=lfs merge=lfs -text
|
| 314 |
+
4.8.0.1779/VEHelper.exe filter=lfs diff=lfs merge=lfs -text
|
| 315 |
+
4.8.0.1779/VESafeGuard.dll filter=lfs diff=lfs merge=lfs -text
|
| 316 |
+
4.8.0.1779/VETextTemplateCreator.dll filter=lfs diff=lfs merge=lfs -text
|
| 317 |
+
4.8.0.1779/videoeditor.dll filter=lfs diff=lfs merge=lfs -text
|
| 318 |
+
CapCut.exe filter=lfs diff=lfs merge=lfs -text
|
| 319 |
+
uninst.exe filter=lfs diff=lfs merge=lfs -text
|
4.8.0.1779/7z.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e8b5486917bb5a55ce7b9495182ab45d5688be64c0d5a3768edaa863ac704b59
|
| 3 |
+
size 1498288
|
4.8.0.1779/AGFX.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:90c03790e41d392e5186d20324fae24d22141499e1ff9512f7fab6515b2f7fee
|
| 3 |
+
size 1235120
|
4.8.0.1779/API-MS-Win-core-xstate-l2-1-0.dll
ADDED
|
Binary file (16.6 kB). View file
|
|
|
4.8.0.1779/ByteVC1_dec.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2b25554fdf64e21d6d6291f738539e63ca7f8f1c088354650cb0bf6bed26529d
|
| 3 |
+
size 923824
|
4.8.0.1779/CapCut.exe
ADDED
|
Binary file (86.2 kB). View file
|
|
|
4.8.0.1779/D3DCompiler_47.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4c00743bea5b8d6944b46be2628844da9d6d40a87300c455d80d7153f1eb769a
|
| 3 |
+
size 4486832
|
4.8.0.1779/EffectPlatform.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fbb55ef4127b9f2ba5c97d968dd48b8cadc1049e6eb319fd5507c50312229056
|
| 3 |
+
size 1578160
|
4.8.0.1779/FusionUI.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:86e0ff5c7243039fd78aca289243e6e015a805f0ffc5ef86b0f23fe4985a1454
|
| 3 |
+
size 2688688
|
4.8.0.1779/GeckoSDK.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:98f0d8b0b14360afb2e466ce7758443a2c8b0529ab0d6afbc63ef280e70bc0c6
|
| 3 |
+
size 5279920
|
4.8.0.1779/Microsoft.WindowsAppRuntime.Bootstrap.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6f04c65e429723f1a82e3564050bb17aa7efe6f68c9fc568507fbf3578427ba2
|
| 3 |
+
size 196784
|
4.8.0.1779/PlatinumWebView.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:da94dce69fa29ffba604b2cde2eb0a4f7a3244582d21bdc72b3755888398bd4e
|
| 3 |
+
size 608432
|
4.8.0.1779/QnnHtp.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9456735436f8e8764adc0132d20047c7e304bdc3599134d39eb82045cd827026
|
| 3 |
+
size 3087024
|
4.8.0.1779/QnnHtpPrepare.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e3f7d65ef38b4892d423f7b8eb21d297e29c4303db962b3327e647763ab01554
|
| 3 |
+
size 84091568
|
4.8.0.1779/QnnHtpV73Stub.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bd31760bd8cc948a49a7e1522fcb5160466139dfe21dc0d866c63cd682190a95
|
| 3 |
+
size 216752
|
4.8.0.1779/QnnSystem.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1617bfdcd189c6489d86041c9da1caaddc3bb1fd2e79f3cf8bfad36f065f87a7
|
| 3 |
+
size 181936
|
4.8.0.1779/Qt/labs/lottieqt/lottieqtplugin.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c23522dbba49e61439b522a6f3ebdacc8e80ae2085ec96d7bc0ecd0f8f5e813a
|
| 3 |
+
size 121520
|
4.8.0.1779/Qt/labs/lottieqt/plugins.qmltypes
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import QtQuick.tooling 1.2
|
| 2 |
+
|
| 3 |
+
// This file describes the plugin-supplied types contained in the library.
|
| 4 |
+
// It is used for QML tooling purposes only.
|
| 5 |
+
//
|
| 6 |
+
// This file was auto-generated by:
|
| 7 |
+
// 'qmlplugindump -nonrelocatable Qt.labs.lottieqt 1.0'
|
| 8 |
+
|
| 9 |
+
Module {
|
| 10 |
+
dependencies: ["QtQuick 2.0"]
|
| 11 |
+
Component {
|
| 12 |
+
name: "BMLiteral"
|
| 13 |
+
prototype: "QObject"
|
| 14 |
+
exports: ["Qt.labs.lottieqt/BMPropertyType 1.0"]
|
| 15 |
+
exportMetaObjectRevisions: [0]
|
| 16 |
+
Enum {
|
| 17 |
+
name: "PropertyType"
|
| 18 |
+
values: {
|
| 19 |
+
"RectPosition": 0,
|
| 20 |
+
"RectSize": 1,
|
| 21 |
+
"RectRoundness": 2
|
| 22 |
+
}
|
| 23 |
+
}
|
| 24 |
+
}
|
| 25 |
+
Component {
|
| 26 |
+
name: "LottieAnimation"
|
| 27 |
+
defaultProperty: "data"
|
| 28 |
+
prototype: "QQuickPaintedItem"
|
| 29 |
+
exports: ["Qt.labs.lottieqt/LottieAnimation 1.0"]
|
| 30 |
+
exportMetaObjectRevisions: [0]
|
| 31 |
+
Enum {
|
| 32 |
+
name: "Status"
|
| 33 |
+
values: {
|
| 34 |
+
"Null": 0,
|
| 35 |
+
"Loading": 1,
|
| 36 |
+
"Ready": 2,
|
| 37 |
+
"Error": 3
|
| 38 |
+
}
|
| 39 |
+
}
|
| 40 |
+
Enum {
|
| 41 |
+
name: "Quality"
|
| 42 |
+
values: {
|
| 43 |
+
"LowQuality": 0,
|
| 44 |
+
"MediumQuality": 1,
|
| 45 |
+
"HighQuality": 2
|
| 46 |
+
}
|
| 47 |
+
}
|
| 48 |
+
Enum {
|
| 49 |
+
name: "Direction"
|
| 50 |
+
values: {
|
| 51 |
+
"Forward": 1,
|
| 52 |
+
"Reverse": -1
|
| 53 |
+
}
|
| 54 |
+
}
|
| 55 |
+
Enum {
|
| 56 |
+
name: "LoopCount"
|
| 57 |
+
values: {
|
| 58 |
+
"Infinite": -1
|
| 59 |
+
}
|
| 60 |
+
}
|
| 61 |
+
Property { name: "source"; type: "QUrl" }
|
| 62 |
+
Property { name: "frameRate"; type: "int" }
|
| 63 |
+
Property { name: "startFrame"; type: "int"; isReadonly: true }
|
| 64 |
+
Property { name: "endFrame"; type: "int"; isReadonly: true }
|
| 65 |
+
Property { name: "status"; type: "Status" }
|
| 66 |
+
Property { name: "quality"; type: "Quality" }
|
| 67 |
+
Property { name: "autoPlay"; type: "bool" }
|
| 68 |
+
Property { name: "loops"; type: "int" }
|
| 69 |
+
Property { name: "direction"; type: "Direction" }
|
| 70 |
+
Signal { name: "finished" }
|
| 71 |
+
Method { name: "start" }
|
| 72 |
+
Method { name: "play" }
|
| 73 |
+
Method { name: "pause" }
|
| 74 |
+
Method { name: "togglePause" }
|
| 75 |
+
Method { name: "stop" }
|
| 76 |
+
Method {
|
| 77 |
+
name: "gotoAndPlay"
|
| 78 |
+
Parameter { name: "frame"; type: "int" }
|
| 79 |
+
}
|
| 80 |
+
Method {
|
| 81 |
+
name: "gotoAndPlay"
|
| 82 |
+
type: "bool"
|
| 83 |
+
Parameter { name: "frameMarker"; type: "string" }
|
| 84 |
+
}
|
| 85 |
+
Method {
|
| 86 |
+
name: "gotoAndStop"
|
| 87 |
+
Parameter { name: "frame"; type: "int" }
|
| 88 |
+
}
|
| 89 |
+
Method {
|
| 90 |
+
name: "gotoAndStop"
|
| 91 |
+
type: "bool"
|
| 92 |
+
Parameter { name: "frameMarker"; type: "string" }
|
| 93 |
+
}
|
| 94 |
+
Method {
|
| 95 |
+
name: "getDuration"
|
| 96 |
+
type: "double"
|
| 97 |
+
Parameter { name: "inFrames"; type: "bool" }
|
| 98 |
+
}
|
| 99 |
+
Method { name: "getDuration"; type: "double" }
|
| 100 |
+
}
|
| 101 |
+
}
|
4.8.0.1779/Qt/labs/lottieqt/qmldir
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module Qt.labs.lottieqt
|
| 2 |
+
linktarget Qt6::lottieqtplugin
|
| 3 |
+
plugin lottieqtplugin
|
| 4 |
+
classname BodymovinPlugin
|
| 5 |
+
typeinfo plugins.qmltypes
|
| 6 |
+
prefer :/qt-project.org/imports/Qt/labs/lottieqt/
|
| 7 |
+
|
4.8.0.1779/Qt/labs/platform/plugins.qmltypes
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import QtQuick.tooling 1.2
|
| 2 |
+
|
| 3 |
+
// This file describes the plugin-supplied types contained in the library.
|
| 4 |
+
// It is used for QML tooling purposes only.
|
| 5 |
+
//
|
| 6 |
+
// This file was auto-generated by qmltyperegistrar.
|
| 7 |
+
|
| 8 |
+
Module {}
|
4.8.0.1779/Qt/labs/platform/qmldir
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module Qt.labs.platform
|
| 2 |
+
linktarget Qt6::qtlabsplatformplugin
|
| 3 |
+
plugin qtlabsplatformplugin
|
| 4 |
+
classname QtLabsPlatformPlugin
|
| 5 |
+
typeinfo plugins.qmltypes
|
| 6 |
+
prefer :/qt-project.org/imports/Qt/labs/platform/
|
| 7 |
+
|
4.8.0.1779/Qt/labs/platform/qtlabsplatformplugin.dll
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3143eb714b26df280d058651dae288d797ba172c7c07ffa8ee6d6837b9912581
|
| 3 |
+
size 286896
|
4.8.0.1779/Qt/labs/qmlmodels/labsmodelsplugin.dll
ADDED
|
Binary file (31.9 kB). View file
|
|
|
4.8.0.1779/Qt/labs/qmlmodels/plugins.qmltypes
ADDED
|
@@ -0,0 +1,493 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import QtQuick.tooling 1.2
|
| 2 |
+
|
| 3 |
+
// This file describes the plugin-supplied types contained in the library.
|
| 4 |
+
// It is used for QML tooling purposes only.
|
| 5 |
+
//
|
| 6 |
+
// This file was auto-generated by qmltyperegistrar.
|
| 7 |
+
|
| 8 |
+
Module {
|
| 9 |
+
Component {
|
| 10 |
+
file: "qabstractitemmodel.h"
|
| 11 |
+
name: "QAbstractTableModel"
|
| 12 |
+
accessSemantics: "reference"
|
| 13 |
+
prototype: "QAbstractItemModel"
|
| 14 |
+
}
|
| 15 |
+
Component {
|
| 16 |
+
file: "private/qqmldelegatecomponent_p.h"
|
| 17 |
+
name: "QQmlDelegateChoice"
|
| 18 |
+
accessSemantics: "reference"
|
| 19 |
+
defaultProperty: "delegate"
|
| 20 |
+
prototype: "QObject"
|
| 21 |
+
exports: [
|
| 22 |
+
"Qt.labs.qmlmodels/DelegateChoice 1.0",
|
| 23 |
+
"Qt.labs.qmlmodels/DelegateChoice 6.0"
|
| 24 |
+
]
|
| 25 |
+
exportMetaObjectRevisions: [256, 1536]
|
| 26 |
+
Property {
|
| 27 |
+
name: "roleValue"
|
| 28 |
+
type: "QVariant"
|
| 29 |
+
read: "roleValue"
|
| 30 |
+
write: "setRoleValue"
|
| 31 |
+
notify: "roleValueChanged"
|
| 32 |
+
index: 0
|
| 33 |
+
}
|
| 34 |
+
Property { name: "row"; type: "int"; read: "row"; write: "setRow"; notify: "rowChanged"; index: 1 }
|
| 35 |
+
Property {
|
| 36 |
+
name: "index"
|
| 37 |
+
type: "int"
|
| 38 |
+
read: "row"
|
| 39 |
+
write: "setRow"
|
| 40 |
+
notify: "indexChanged"
|
| 41 |
+
index: 2
|
| 42 |
+
}
|
| 43 |
+
Property {
|
| 44 |
+
name: "column"
|
| 45 |
+
type: "int"
|
| 46 |
+
read: "column"
|
| 47 |
+
write: "setColumn"
|
| 48 |
+
notify: "columnChanged"
|
| 49 |
+
index: 3
|
| 50 |
+
}
|
| 51 |
+
Property {
|
| 52 |
+
name: "delegate"
|
| 53 |
+
type: "QQmlComponent"
|
| 54 |
+
isPointer: true
|
| 55 |
+
read: "delegate"
|
| 56 |
+
write: "setDelegate"
|
| 57 |
+
notify: "delegateChanged"
|
| 58 |
+
index: 4
|
| 59 |
+
}
|
| 60 |
+
Signal { name: "roleValueChanged" }
|
| 61 |
+
Signal { name: "rowChanged" }
|
| 62 |
+
Signal { name: "indexChanged" }
|
| 63 |
+
Signal { name: "columnChanged" }
|
| 64 |
+
Signal { name: "delegateChanged" }
|
| 65 |
+
Signal { name: "changed" }
|
| 66 |
+
}
|
| 67 |
+
Component {
|
| 68 |
+
file: "private/qqmldelegatecomponent_p.h"
|
| 69 |
+
name: "QQmlDelegateChooser"
|
| 70 |
+
accessSemantics: "reference"
|
| 71 |
+
defaultProperty: "choices"
|
| 72 |
+
prototype: "QQmlAbstractDelegateComponent"
|
| 73 |
+
exports: [
|
| 74 |
+
"Qt.labs.qmlmodels/DelegateChooser 1.0",
|
| 75 |
+
"Qt.labs.qmlmodels/DelegateChooser 2.0",
|
| 76 |
+
"Qt.labs.qmlmodels/DelegateChooser 6.0"
|
| 77 |
+
]
|
| 78 |
+
exportMetaObjectRevisions: [256, 512, 1536]
|
| 79 |
+
Property {
|
| 80 |
+
name: "role"
|
| 81 |
+
type: "QString"
|
| 82 |
+
read: "role"
|
| 83 |
+
write: "setRole"
|
| 84 |
+
notify: "roleChanged"
|
| 85 |
+
index: 0
|
| 86 |
+
}
|
| 87 |
+
Property {
|
| 88 |
+
name: "choices"
|
| 89 |
+
type: "QQmlDelegateChoice"
|
| 90 |
+
isList: true
|
| 91 |
+
read: "choices"
|
| 92 |
+
index: 1
|
| 93 |
+
isReadonly: true
|
| 94 |
+
}
|
| 95 |
+
Signal { name: "roleChanged" }
|
| 96 |
+
}
|
| 97 |
+
Component {
|
| 98 |
+
file: "private/qqmltablemodel_p.h"
|
| 99 |
+
name: "QQmlTableModel"
|
| 100 |
+
accessSemantics: "reference"
|
| 101 |
+
defaultProperty: "columns"
|
| 102 |
+
prototype: "QAbstractTableModel"
|
| 103 |
+
interfaces: ["QQmlParserStatus"]
|
| 104 |
+
exports: [
|
| 105 |
+
"Qt.labs.qmlmodels/TableModel 1.0",
|
| 106 |
+
"Qt.labs.qmlmodels/TableModel 6.0"
|
| 107 |
+
]
|
| 108 |
+
exportMetaObjectRevisions: [256, 1536]
|
| 109 |
+
Property {
|
| 110 |
+
name: "columnCount"
|
| 111 |
+
type: "int"
|
| 112 |
+
read: "columnCount"
|
| 113 |
+
notify: "columnCountChanged"
|
| 114 |
+
index: 0
|
| 115 |
+
isReadonly: true
|
| 116 |
+
isFinal: true
|
| 117 |
+
}
|
| 118 |
+
Property {
|
| 119 |
+
name: "rowCount"
|
| 120 |
+
type: "int"
|
| 121 |
+
read: "rowCount"
|
| 122 |
+
notify: "rowCountChanged"
|
| 123 |
+
index: 1
|
| 124 |
+
isReadonly: true
|
| 125 |
+
isFinal: true
|
| 126 |
+
}
|
| 127 |
+
Property {
|
| 128 |
+
name: "rows"
|
| 129 |
+
type: "QVariant"
|
| 130 |
+
read: "rows"
|
| 131 |
+
write: "setRows"
|
| 132 |
+
notify: "rowsChanged"
|
| 133 |
+
index: 2
|
| 134 |
+
isFinal: true
|
| 135 |
+
}
|
| 136 |
+
Property {
|
| 137 |
+
name: "columns"
|
| 138 |
+
type: "QQmlTableModelColumn"
|
| 139 |
+
isList: true
|
| 140 |
+
read: "columns"
|
| 141 |
+
index: 3
|
| 142 |
+
isReadonly: true
|
| 143 |
+
isFinal: true
|
| 144 |
+
}
|
| 145 |
+
Signal { name: "columnCountChanged" }
|
| 146 |
+
Signal { name: "rowCountChanged" }
|
| 147 |
+
Signal { name: "rowsChanged" }
|
| 148 |
+
Method {
|
| 149 |
+
name: "appendRow"
|
| 150 |
+
Parameter { name: "row"; type: "QVariant" }
|
| 151 |
+
}
|
| 152 |
+
Method { name: "clear" }
|
| 153 |
+
Method {
|
| 154 |
+
name: "getRow"
|
| 155 |
+
type: "QVariant"
|
| 156 |
+
Parameter { name: "rowIndex"; type: "int" }
|
| 157 |
+
}
|
| 158 |
+
Method {
|
| 159 |
+
name: "insertRow"
|
| 160 |
+
Parameter { name: "rowIndex"; type: "int" }
|
| 161 |
+
Parameter { name: "row"; type: "QVariant" }
|
| 162 |
+
}
|
| 163 |
+
Method {
|
| 164 |
+
name: "moveRow"
|
| 165 |
+
Parameter { name: "fromRowIndex"; type: "int" }
|
| 166 |
+
Parameter { name: "toRowIndex"; type: "int" }
|
| 167 |
+
Parameter { name: "rows"; type: "int" }
|
| 168 |
+
}
|
| 169 |
+
Method {
|
| 170 |
+
name: "moveRow"
|
| 171 |
+
Parameter { name: "fromRowIndex"; type: "int" }
|
| 172 |
+
Parameter { name: "toRowIndex"; type: "int" }
|
| 173 |
+
}
|
| 174 |
+
Method {
|
| 175 |
+
name: "removeRow"
|
| 176 |
+
Parameter { name: "rowIndex"; type: "int" }
|
| 177 |
+
Parameter { name: "rows"; type: "int" }
|
| 178 |
+
}
|
| 179 |
+
Method {
|
| 180 |
+
name: "removeRow"
|
| 181 |
+
Parameter { name: "rowIndex"; type: "int" }
|
| 182 |
+
}
|
| 183 |
+
Method {
|
| 184 |
+
name: "setRow"
|
| 185 |
+
Parameter { name: "rowIndex"; type: "int" }
|
| 186 |
+
Parameter { name: "row"; type: "QVariant" }
|
| 187 |
+
}
|
| 188 |
+
Method {
|
| 189 |
+
name: "data"
|
| 190 |
+
type: "QVariant"
|
| 191 |
+
Parameter { name: "index"; type: "QModelIndex" }
|
| 192 |
+
Parameter { name: "role"; type: "QString" }
|
| 193 |
+
}
|
| 194 |
+
Method {
|
| 195 |
+
name: "setData"
|
| 196 |
+
type: "bool"
|
| 197 |
+
Parameter { name: "index"; type: "QModelIndex" }
|
| 198 |
+
Parameter { name: "role"; type: "QString" }
|
| 199 |
+
Parameter { name: "value"; type: "QVariant" }
|
| 200 |
+
}
|
| 201 |
+
}
|
| 202 |
+
Component {
|
| 203 |
+
file: "private/qqmltablemodelcolumn_p.h"
|
| 204 |
+
name: "QQmlTableModelColumn"
|
| 205 |
+
accessSemantics: "reference"
|
| 206 |
+
prototype: "QObject"
|
| 207 |
+
exports: [
|
| 208 |
+
"Qt.labs.qmlmodels/TableModelColumn 1.0",
|
| 209 |
+
"Qt.labs.qmlmodels/TableModelColumn 6.0"
|
| 210 |
+
]
|
| 211 |
+
exportMetaObjectRevisions: [256, 1536]
|
| 212 |
+
Property {
|
| 213 |
+
name: "display"
|
| 214 |
+
type: "QJSValue"
|
| 215 |
+
read: "display"
|
| 216 |
+
write: "setDisplay"
|
| 217 |
+
notify: "displayChanged"
|
| 218 |
+
index: 0
|
| 219 |
+
isFinal: true
|
| 220 |
+
}
|
| 221 |
+
Property {
|
| 222 |
+
name: "setDisplay"
|
| 223 |
+
type: "QJSValue"
|
| 224 |
+
read: "getSetDisplay"
|
| 225 |
+
write: "setSetDisplay"
|
| 226 |
+
notify: "setDisplayChanged"
|
| 227 |
+
index: 1
|
| 228 |
+
}
|
| 229 |
+
Property {
|
| 230 |
+
name: "decoration"
|
| 231 |
+
type: "QJSValue"
|
| 232 |
+
read: "decoration"
|
| 233 |
+
write: "setDecoration"
|
| 234 |
+
notify: "decorationChanged"
|
| 235 |
+
index: 2
|
| 236 |
+
isFinal: true
|
| 237 |
+
}
|
| 238 |
+
Property {
|
| 239 |
+
name: "setDecoration"
|
| 240 |
+
type: "QJSValue"
|
| 241 |
+
read: "getSetDecoration"
|
| 242 |
+
write: "setSetDecoration"
|
| 243 |
+
notify: "setDecorationChanged"
|
| 244 |
+
index: 3
|
| 245 |
+
isFinal: true
|
| 246 |
+
}
|
| 247 |
+
Property {
|
| 248 |
+
name: "edit"
|
| 249 |
+
type: "QJSValue"
|
| 250 |
+
read: "edit"
|
| 251 |
+
write: "setEdit"
|
| 252 |
+
notify: "editChanged"
|
| 253 |
+
index: 4
|
| 254 |
+
isFinal: true
|
| 255 |
+
}
|
| 256 |
+
Property {
|
| 257 |
+
name: "setEdit"
|
| 258 |
+
type: "QJSValue"
|
| 259 |
+
read: "getSetEdit"
|
| 260 |
+
write: "setSetEdit"
|
| 261 |
+
notify: "setEditChanged"
|
| 262 |
+
index: 5
|
| 263 |
+
isFinal: true
|
| 264 |
+
}
|
| 265 |
+
Property {
|
| 266 |
+
name: "toolTip"
|
| 267 |
+
type: "QJSValue"
|
| 268 |
+
read: "toolTip"
|
| 269 |
+
write: "setToolTip"
|
| 270 |
+
notify: "toolTipChanged"
|
| 271 |
+
index: 6
|
| 272 |
+
isFinal: true
|
| 273 |
+
}
|
| 274 |
+
Property {
|
| 275 |
+
name: "setToolTip"
|
| 276 |
+
type: "QJSValue"
|
| 277 |
+
read: "getSetToolTip"
|
| 278 |
+
write: "setSetToolTip"
|
| 279 |
+
notify: "setToolTipChanged"
|
| 280 |
+
index: 7
|
| 281 |
+
isFinal: true
|
| 282 |
+
}
|
| 283 |
+
Property {
|
| 284 |
+
name: "statusTip"
|
| 285 |
+
type: "QJSValue"
|
| 286 |
+
read: "statusTip"
|
| 287 |
+
write: "setStatusTip"
|
| 288 |
+
notify: "statusTipChanged"
|
| 289 |
+
index: 8
|
| 290 |
+
isFinal: true
|
| 291 |
+
}
|
| 292 |
+
Property {
|
| 293 |
+
name: "setStatusTip"
|
| 294 |
+
type: "QJSValue"
|
| 295 |
+
read: "getSetStatusTip"
|
| 296 |
+
write: "setSetStatusTip"
|
| 297 |
+
notify: "setStatusTipChanged"
|
| 298 |
+
index: 9
|
| 299 |
+
isFinal: true
|
| 300 |
+
}
|
| 301 |
+
Property {
|
| 302 |
+
name: "whatsThis"
|
| 303 |
+
type: "QJSValue"
|
| 304 |
+
read: "whatsThis"
|
| 305 |
+
write: "setWhatsThis"
|
| 306 |
+
notify: "whatsThisChanged"
|
| 307 |
+
index: 10
|
| 308 |
+
isFinal: true
|
| 309 |
+
}
|
| 310 |
+
Property {
|
| 311 |
+
name: "setWhatsThis"
|
| 312 |
+
type: "QJSValue"
|
| 313 |
+
read: "getSetWhatsThis"
|
| 314 |
+
write: "setSetWhatsThis"
|
| 315 |
+
notify: "setWhatsThisChanged"
|
| 316 |
+
index: 11
|
| 317 |
+
isFinal: true
|
| 318 |
+
}
|
| 319 |
+
Property {
|
| 320 |
+
name: "font"
|
| 321 |
+
type: "QJSValue"
|
| 322 |
+
read: "font"
|
| 323 |
+
write: "setFont"
|
| 324 |
+
notify: "fontChanged"
|
| 325 |
+
index: 12
|
| 326 |
+
isFinal: true
|
| 327 |
+
}
|
| 328 |
+
Property {
|
| 329 |
+
name: "setFont"
|
| 330 |
+
type: "QJSValue"
|
| 331 |
+
read: "getSetFont"
|
| 332 |
+
write: "setSetFont"
|
| 333 |
+
notify: "setFontChanged"
|
| 334 |
+
index: 13
|
| 335 |
+
isFinal: true
|
| 336 |
+
}
|
| 337 |
+
Property {
|
| 338 |
+
name: "textAlignment"
|
| 339 |
+
type: "QJSValue"
|
| 340 |
+
read: "textAlignment"
|
| 341 |
+
write: "setTextAlignment"
|
| 342 |
+
notify: "textAlignmentChanged"
|
| 343 |
+
index: 14
|
| 344 |
+
isFinal: true
|
| 345 |
+
}
|
| 346 |
+
Property {
|
| 347 |
+
name: "setTextAlignment"
|
| 348 |
+
type: "QJSValue"
|
| 349 |
+
read: "getSetTextAlignment"
|
| 350 |
+
write: "setSetTextAlignment"
|
| 351 |
+
notify: "setTextAlignmentChanged"
|
| 352 |
+
index: 15
|
| 353 |
+
isFinal: true
|
| 354 |
+
}
|
| 355 |
+
Property {
|
| 356 |
+
name: "background"
|
| 357 |
+
type: "QJSValue"
|
| 358 |
+
read: "background"
|
| 359 |
+
write: "setBackground"
|
| 360 |
+
notify: "backgroundChanged"
|
| 361 |
+
index: 16
|
| 362 |
+
isFinal: true
|
| 363 |
+
}
|
| 364 |
+
Property {
|
| 365 |
+
name: "setBackground"
|
| 366 |
+
type: "QJSValue"
|
| 367 |
+
read: "getSetBackground"
|
| 368 |
+
write: "setSetBackground"
|
| 369 |
+
notify: "setBackgroundChanged"
|
| 370 |
+
index: 17
|
| 371 |
+
isFinal: true
|
| 372 |
+
}
|
| 373 |
+
Property {
|
| 374 |
+
name: "foreground"
|
| 375 |
+
type: "QJSValue"
|
| 376 |
+
read: "foreground"
|
| 377 |
+
write: "setForeground"
|
| 378 |
+
notify: "foregroundChanged"
|
| 379 |
+
index: 18
|
| 380 |
+
isFinal: true
|
| 381 |
+
}
|
| 382 |
+
Property {
|
| 383 |
+
name: "setForeground"
|
| 384 |
+
type: "QJSValue"
|
| 385 |
+
read: "getSetForeground"
|
| 386 |
+
write: "setSetForeground"
|
| 387 |
+
notify: "setForegroundChanged"
|
| 388 |
+
index: 19
|
| 389 |
+
isFinal: true
|
| 390 |
+
}
|
| 391 |
+
Property {
|
| 392 |
+
name: "checkState"
|
| 393 |
+
type: "QJSValue"
|
| 394 |
+
read: "checkState"
|
| 395 |
+
write: "setCheckState"
|
| 396 |
+
notify: "checkStateChanged"
|
| 397 |
+
index: 20
|
| 398 |
+
isFinal: true
|
| 399 |
+
}
|
| 400 |
+
Property {
|
| 401 |
+
name: "setCheckState"
|
| 402 |
+
type: "QJSValue"
|
| 403 |
+
read: "getSetCheckState"
|
| 404 |
+
write: "setSetCheckState"
|
| 405 |
+
notify: "setCheckStateChanged"
|
| 406 |
+
index: 21
|
| 407 |
+
isFinal: true
|
| 408 |
+
}
|
| 409 |
+
Property {
|
| 410 |
+
name: "accessibleText"
|
| 411 |
+
type: "QJSValue"
|
| 412 |
+
read: "accessibleText"
|
| 413 |
+
write: "setAccessibleText"
|
| 414 |
+
notify: "accessibleTextChanged"
|
| 415 |
+
index: 22
|
| 416 |
+
isFinal: true
|
| 417 |
+
}
|
| 418 |
+
Property {
|
| 419 |
+
name: "setAccessibleText"
|
| 420 |
+
type: "QJSValue"
|
| 421 |
+
read: "getSetAccessibleText"
|
| 422 |
+
write: "setSetAccessibleText"
|
| 423 |
+
notify: "setAccessibleTextChanged"
|
| 424 |
+
index: 23
|
| 425 |
+
isFinal: true
|
| 426 |
+
}
|
| 427 |
+
Property {
|
| 428 |
+
name: "accessibleDescription"
|
| 429 |
+
type: "QJSValue"
|
| 430 |
+
read: "accessibleDescription"
|
| 431 |
+
write: "setAccessibleDescription"
|
| 432 |
+
notify: "accessibleDescriptionChanged"
|
| 433 |
+
index: 24
|
| 434 |
+
isFinal: true
|
| 435 |
+
}
|
| 436 |
+
Property {
|
| 437 |
+
name: "setAccessibleDescription"
|
| 438 |
+
type: "QJSValue"
|
| 439 |
+
read: "getSetAccessibleDescription"
|
| 440 |
+
write: "setSetAccessibleDescription"
|
| 441 |
+
notify: "setAccessibleDescriptionChanged"
|
| 442 |
+
index: 25
|
| 443 |
+
isFinal: true
|
| 444 |
+
}
|
| 445 |
+
Property {
|
| 446 |
+
name: "sizeHint"
|
| 447 |
+
type: "QJSValue"
|
| 448 |
+
read: "sizeHint"
|
| 449 |
+
write: "setSizeHint"
|
| 450 |
+
notify: "sizeHintChanged"
|
| 451 |
+
index: 26
|
| 452 |
+
isFinal: true
|
| 453 |
+
}
|
| 454 |
+
Property {
|
| 455 |
+
name: "setSizeHint"
|
| 456 |
+
type: "QJSValue"
|
| 457 |
+
read: "getSetSizeHint"
|
| 458 |
+
write: "setSetSizeHint"
|
| 459 |
+
notify: "setSizeHintChanged"
|
| 460 |
+
index: 27
|
| 461 |
+
isFinal: true
|
| 462 |
+
}
|
| 463 |
+
Signal { name: "indexChanged" }
|
| 464 |
+
Signal { name: "displayChanged" }
|
| 465 |
+
Signal { name: "setDisplayChanged" }
|
| 466 |
+
Signal { name: "decorationChanged" }
|
| 467 |
+
Signal { name: "setDecorationChanged" }
|
| 468 |
+
Signal { name: "editChanged" }
|
| 469 |
+
Signal { name: "setEditChanged" }
|
| 470 |
+
Signal { name: "toolTipChanged" }
|
| 471 |
+
Signal { name: "setToolTipChanged" }
|
| 472 |
+
Signal { name: "statusTipChanged" }
|
| 473 |
+
Signal { name: "setStatusTipChanged" }
|
| 474 |
+
Signal { name: "whatsThisChanged" }
|
| 475 |
+
Signal { name: "setWhatsThisChanged" }
|
| 476 |
+
Signal { name: "fontChanged" }
|
| 477 |
+
Signal { name: "setFontChanged" }
|
| 478 |
+
Signal { name: "textAlignmentChanged" }
|
| 479 |
+
Signal { name: "setTextAlignmentChanged" }
|
| 480 |
+
Signal { name: "backgroundChanged" }
|
| 481 |
+
Signal { name: "setBackgroundChanged" }
|
| 482 |
+
Signal { name: "foregroundChanged" }
|
| 483 |
+
Signal { name: "setForegroundChanged" }
|
| 484 |
+
Signal { name: "checkStateChanged" }
|
| 485 |
+
Signal { name: "setCheckStateChanged" }
|
| 486 |
+
Signal { name: "accessibleTextChanged" }
|
| 487 |
+
Signal { name: "setAccessibleTextChanged" }
|
| 488 |
+
Signal { name: "accessibleDescriptionChanged" }
|
| 489 |
+
Signal { name: "setAccessibleDescriptionChanged" }
|
| 490 |
+
Signal { name: "sizeHintChanged" }
|
| 491 |
+
Signal { name: "setSizeHintChanged" }
|
| 492 |
+
}
|
| 493 |
+
}
|
4.8.0.1779/Qt/labs/qmlmodels/qmldir
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module Qt.labs.qmlmodels
|
| 2 |
+
linktarget Qt6::labsmodelsplugin
|
| 3 |
+
optional plugin labsmodelsplugin
|
| 4 |
+
classname QtQmlLabsModelsPlugin
|
| 5 |
+
typeinfo plugins.qmltypes
|
| 6 |
+
prefer :/qt-project.org/imports/Qt/labs/qmlmodels/
|
| 7 |
+
|
4.8.0.1779/Qt/labs/settings/plugins.qmltypes
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import QtQuick.tooling 1.2
|
| 2 |
+
|
| 3 |
+
// This file describes the plugin-supplied types contained in the library.
|
| 4 |
+
// It is used for QML tooling purposes only.
|
| 5 |
+
//
|
| 6 |
+
// This file was auto-generated by qmltyperegistrar.
|
| 7 |
+
|
| 8 |
+
Module {
|
| 9 |
+
Component {
|
| 10 |
+
file: "private/qqmlsettings_p.h"
|
| 11 |
+
name: "QQmlSettings"
|
| 12 |
+
accessSemantics: "reference"
|
| 13 |
+
prototype: "QObject"
|
| 14 |
+
interfaces: ["QQmlParserStatus"]
|
| 15 |
+
exports: [
|
| 16 |
+
"Qt.labs.settings/Settings 1.0",
|
| 17 |
+
"Qt.labs.settings/Settings 6.0"
|
| 18 |
+
]
|
| 19 |
+
exportMetaObjectRevisions: [256, 1536]
|
| 20 |
+
Property {
|
| 21 |
+
name: "category"
|
| 22 |
+
type: "QString"
|
| 23 |
+
read: "category"
|
| 24 |
+
write: "setCategory"
|
| 25 |
+
index: 0
|
| 26 |
+
isFinal: true
|
| 27 |
+
}
|
| 28 |
+
Property {
|
| 29 |
+
name: "fileName"
|
| 30 |
+
type: "QString"
|
| 31 |
+
read: "fileName"
|
| 32 |
+
write: "setFileName"
|
| 33 |
+
index: 1
|
| 34 |
+
isFinal: true
|
| 35 |
+
}
|
| 36 |
+
Method { name: "_q_propertyChanged" }
|
| 37 |
+
Method {
|
| 38 |
+
name: "value"
|
| 39 |
+
type: "QVariant"
|
| 40 |
+
Parameter { name: "key"; type: "QString" }
|
| 41 |
+
Parameter { name: "defaultValue"; type: "QVariant" }
|
| 42 |
+
}
|
| 43 |
+
Method {
|
| 44 |
+
name: "value"
|
| 45 |
+
type: "QVariant"
|
| 46 |
+
Parameter { name: "key"; type: "QString" }
|
| 47 |
+
}
|
| 48 |
+
Method {
|
| 49 |
+
name: "setValue"
|
| 50 |
+
Parameter { name: "key"; type: "QString" }
|
| 51 |
+
Parameter { name: "value"; type: "QVariant" }
|
| 52 |
+
}
|
| 53 |
+
Method { name: "sync" }
|
| 54 |
+
}
|
| 55 |
+
}
|
4.8.0.1779/Qt/labs/settings/qmldir
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module Qt.labs.settings
|
| 2 |
+
linktarget Qt6::qmlsettingsplugin
|
| 3 |
+
optional plugin qmlsettingsplugin
|
| 4 |
+
classname QmlSettingsPlugin
|
| 5 |
+
typeinfo plugins.qmltypes
|
| 6 |
+
prefer :/qt-project.org/imports/Qt/labs/settings/
|
| 7 |
+
|
4.8.0.1779/Qt/labs/settings/qmlsettingsplugin.dll
ADDED
|
Binary file (31.9 kB). View file
|
|
|
4.8.0.1779/Qt5Compat/GraphicalEffects/BrightnessContrast.qml
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype BrightnessContrast
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Adjusts brightness and contrast.
|
| 61 |
+
|
| 62 |
+
This effect adjusts the source item colors.
|
| 63 |
+
Brightness adjustment changes the perceived luminance of the source item.
|
| 64 |
+
Contrast adjustment increases or decreases the color
|
| 65 |
+
and brightness variations.
|
| 66 |
+
|
| 67 |
+
\table
|
| 68 |
+
\header
|
| 69 |
+
\li Source
|
| 70 |
+
\li Effect applied
|
| 71 |
+
\row
|
| 72 |
+
\li \image Original_bug.png
|
| 73 |
+
\li \image BrightnessContrast_bug.png
|
| 74 |
+
\endtable
|
| 75 |
+
|
| 76 |
+
\section1 Example
|
| 77 |
+
|
| 78 |
+
The following example shows how to apply the effect.
|
| 79 |
+
\snippet BrightnessContrast-example.qml example
|
| 80 |
+
|
| 81 |
+
*/
|
| 82 |
+
Item {
|
| 83 |
+
id: rootItem
|
| 84 |
+
|
| 85 |
+
/*!
|
| 86 |
+
This property defines the source item that provides the source pixels
|
| 87 |
+
for the effect.
|
| 88 |
+
|
| 89 |
+
\note It is not supported to let the effect include itself, for
|
| 90 |
+
instance by setting source to the effect's parent.
|
| 91 |
+
*/
|
| 92 |
+
property variant source
|
| 93 |
+
|
| 94 |
+
/*!
|
| 95 |
+
This property defines how much the source brightness is increased or
|
| 96 |
+
decreased.
|
| 97 |
+
|
| 98 |
+
The value ranges from -1.0 to 1.0. By default, the property is set to \c
|
| 99 |
+
0.0 (no change).
|
| 100 |
+
|
| 101 |
+
\table
|
| 102 |
+
\header
|
| 103 |
+
\li Output examples with different brightness values
|
| 104 |
+
\li
|
| 105 |
+
\li
|
| 106 |
+
\row
|
| 107 |
+
\li \image BrightnessContrast_brightness1.png
|
| 108 |
+
\li \image BrightnessContrast_brightness2.png
|
| 109 |
+
\li \image BrightnessContrast_brightness3.png
|
| 110 |
+
\row
|
| 111 |
+
\li \b { brightness: -0.25 }
|
| 112 |
+
\li \b { brightness: 0 }
|
| 113 |
+
\li \b { brightness: 0.5 }
|
| 114 |
+
\row
|
| 115 |
+
\li \l contrast: 0
|
| 116 |
+
\li \l contrast: 0
|
| 117 |
+
\li \l contrast: 0
|
| 118 |
+
\endtable
|
| 119 |
+
|
| 120 |
+
*/
|
| 121 |
+
property real brightness: 0.0
|
| 122 |
+
|
| 123 |
+
/*!
|
| 124 |
+
This property defines how much the source contrast is increased or
|
| 125 |
+
decreased. The decrease of the contrast is linear, but the increase is
|
| 126 |
+
applied with a non-linear curve to allow very high contrast adjustment at
|
| 127 |
+
the high end of the value range.
|
| 128 |
+
|
| 129 |
+
\table
|
| 130 |
+
\header
|
| 131 |
+
\li Contrast adjustment curve
|
| 132 |
+
\row
|
| 133 |
+
\li \image BrightnessContrast_contrast_graph.png
|
| 134 |
+
\endtable
|
| 135 |
+
|
| 136 |
+
The value ranges from -1.0 to 1.0. By default, the property is set to \c 0.0 (no change).
|
| 137 |
+
|
| 138 |
+
\table
|
| 139 |
+
\header
|
| 140 |
+
\li Output examples with different contrast values
|
| 141 |
+
\li
|
| 142 |
+
\li
|
| 143 |
+
\row
|
| 144 |
+
\li \image BrightnessContrast_contrast1.png
|
| 145 |
+
\li \image BrightnessContrast_contrast2.png
|
| 146 |
+
\li \image BrightnessContrast_contrast3.png
|
| 147 |
+
\row
|
| 148 |
+
\li \b { contrast: -0.5 }
|
| 149 |
+
\li \b { contrast: 0 }
|
| 150 |
+
\li \b { contrast: 0.5 }
|
| 151 |
+
\row
|
| 152 |
+
\li \l brightness: 0
|
| 153 |
+
\li \l brightness: 0
|
| 154 |
+
\li \l brightness: 0
|
| 155 |
+
\endtable
|
| 156 |
+
|
| 157 |
+
*/
|
| 158 |
+
property real contrast: 0.0
|
| 159 |
+
|
| 160 |
+
/*!
|
| 161 |
+
This property allows the effect output pixels to be cached in order to
|
| 162 |
+
improve the rendering performance.
|
| 163 |
+
|
| 164 |
+
Every time the source or effect properties are changed, the pixels in
|
| 165 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 166 |
+
extra buffer of memory is required for storing the effect output.
|
| 167 |
+
|
| 168 |
+
It is recommended to disable the cache when the source or the effect
|
| 169 |
+
properties are animated.
|
| 170 |
+
|
| 171 |
+
By default, the property is set to \c false.
|
| 172 |
+
|
| 173 |
+
*/
|
| 174 |
+
property bool cached: false
|
| 175 |
+
|
| 176 |
+
SourceProxy {
|
| 177 |
+
id: sourceProxy
|
| 178 |
+
input: rootItem.source
|
| 179 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 180 |
+
}
|
| 181 |
+
|
| 182 |
+
ShaderEffectSource {
|
| 183 |
+
id: cacheItem
|
| 184 |
+
anchors.fill: parent
|
| 185 |
+
visible: rootItem.cached
|
| 186 |
+
smooth: true
|
| 187 |
+
sourceItem: shaderItem
|
| 188 |
+
live: true
|
| 189 |
+
hideSource: visible
|
| 190 |
+
}
|
| 191 |
+
|
| 192 |
+
ShaderEffect {
|
| 193 |
+
id: shaderItem
|
| 194 |
+
property variant source: sourceProxy.output
|
| 195 |
+
property real brightness: rootItem.brightness
|
| 196 |
+
property real contrast: rootItem.contrast
|
| 197 |
+
|
| 198 |
+
anchors.fill: parent
|
| 199 |
+
blending: !rootItem.cached
|
| 200 |
+
|
| 201 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/brightnesscontrast.frag.qsb"
|
| 202 |
+
}
|
| 203 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/ColorOverlay.qml
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype ColorOverlay
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Alters the colors of the source item by applying an overlay color.
|
| 61 |
+
|
| 62 |
+
The effect is similar to what happens when a colorized glass is put on top
|
| 63 |
+
of a grayscale image. The color for the overlay is given in the RGBA format.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Source
|
| 68 |
+
\li Effect applied
|
| 69 |
+
\row
|
| 70 |
+
\li \image Original_butterfly.png
|
| 71 |
+
\li \image ColorOverlay_butterfly.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet ColorOverlay-example.qml example
|
| 78 |
+
|
| 79 |
+
*/
|
| 80 |
+
Item {
|
| 81 |
+
id: rootItem
|
| 82 |
+
|
| 83 |
+
/*!
|
| 84 |
+
This property defines the source item that provides the source pixels
|
| 85 |
+
for the effect.
|
| 86 |
+
|
| 87 |
+
\note It is not supported to let the effect include itself, for
|
| 88 |
+
instance by setting source to the effect's parent.
|
| 89 |
+
*/
|
| 90 |
+
property variant source
|
| 91 |
+
|
| 92 |
+
/*!
|
| 93 |
+
This property defines the color value which is used to colorize the
|
| 94 |
+
source.
|
| 95 |
+
|
| 96 |
+
By default, the property is set to \c "transparent".
|
| 97 |
+
|
| 98 |
+
\table
|
| 99 |
+
\header
|
| 100 |
+
\li Output examples with different color values
|
| 101 |
+
\li
|
| 102 |
+
\li
|
| 103 |
+
\row
|
| 104 |
+
\li \image ColorOverlay_color1.png
|
| 105 |
+
\li \image ColorOverlay_color2.png
|
| 106 |
+
\li \image ColorOverlay_color3.png
|
| 107 |
+
\row
|
| 108 |
+
\li \b { color: #80ff0000 }
|
| 109 |
+
\li \b { color: #8000ff00 }
|
| 110 |
+
\li \b { color: #800000ff }
|
| 111 |
+
\endtable
|
| 112 |
+
|
| 113 |
+
*/
|
| 114 |
+
property color color: "transparent"
|
| 115 |
+
|
| 116 |
+
/*!
|
| 117 |
+
This property allows the effect output pixels to be cached in order to
|
| 118 |
+
improve the rendering performance.
|
| 119 |
+
|
| 120 |
+
Every time the source or effect properties are changed, the pixels in
|
| 121 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 122 |
+
extra buffer of memory is required for storing the effect output.
|
| 123 |
+
|
| 124 |
+
It is recommended to disable the cache when the source or the effect
|
| 125 |
+
properties are animated.
|
| 126 |
+
|
| 127 |
+
By default, the property is set to \c false.
|
| 128 |
+
|
| 129 |
+
*/
|
| 130 |
+
property bool cached: false
|
| 131 |
+
|
| 132 |
+
SourceProxy {
|
| 133 |
+
id: sourceProxy
|
| 134 |
+
input: rootItem.source
|
| 135 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 136 |
+
}
|
| 137 |
+
|
| 138 |
+
ShaderEffectSource {
|
| 139 |
+
id: cacheItem
|
| 140 |
+
anchors.fill: parent
|
| 141 |
+
visible: rootItem.cached
|
| 142 |
+
smooth: true
|
| 143 |
+
sourceItem: shaderItem
|
| 144 |
+
live: true
|
| 145 |
+
hideSource: visible
|
| 146 |
+
}
|
| 147 |
+
|
| 148 |
+
ShaderEffect {
|
| 149 |
+
id: shaderItem
|
| 150 |
+
property variant source: sourceProxy.output
|
| 151 |
+
property color color: rootItem.color
|
| 152 |
+
|
| 153 |
+
anchors.fill: parent
|
| 154 |
+
|
| 155 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/coloroverlay.frag.qsb"
|
| 156 |
+
}
|
| 157 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/Colorize.qml
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype Colorize
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Sets the color in the HSL color space.
|
| 61 |
+
|
| 62 |
+
The effect is similar to what happens when a colorized glass is put on top
|
| 63 |
+
of a grayscale image. Colorize uses the hue, saturation, and lightness (HSL)
|
| 64 |
+
color space. You can specify a desired value for each property. You can
|
| 65 |
+
shift all HSL values with the \l HueSaturation effect.
|
| 66 |
+
|
| 67 |
+
Alternatively, you can use the \l ColorOverlay effect to colorize the
|
| 68 |
+
source item in the RGBA color space.
|
| 69 |
+
|
| 70 |
+
\table
|
| 71 |
+
\header
|
| 72 |
+
\li Source
|
| 73 |
+
\li Effect applied
|
| 74 |
+
\row
|
| 75 |
+
\li \image Original_bug.png
|
| 76 |
+
\li \image Colorize_bug.png
|
| 77 |
+
\endtable
|
| 78 |
+
|
| 79 |
+
\section1 Example
|
| 80 |
+
|
| 81 |
+
The following example shows how to apply the effect.
|
| 82 |
+
\snippet Colorize-example.qml example
|
| 83 |
+
*/
|
| 84 |
+
Item {
|
| 85 |
+
id: rootItem
|
| 86 |
+
|
| 87 |
+
/*!
|
| 88 |
+
This property defines the source item that provides the source pixels
|
| 89 |
+
for the effect.
|
| 90 |
+
|
| 91 |
+
\note It is not supported to let the effect include itself, for
|
| 92 |
+
instance by setting source to the effect's parent.
|
| 93 |
+
*/
|
| 94 |
+
property variant source
|
| 95 |
+
|
| 96 |
+
/*!
|
| 97 |
+
This property defines the hue value which is used to colorize the
|
| 98 |
+
source.
|
| 99 |
+
|
| 100 |
+
The value ranges from 0.0 to 1.0. By default, the property is set to \c
|
| 101 |
+
0.0, which produces a slightly red color.
|
| 102 |
+
|
| 103 |
+
\table
|
| 104 |
+
\header
|
| 105 |
+
\li Allowed hue values
|
| 106 |
+
\row
|
| 107 |
+
\li \image Colorize_hue_scale.png
|
| 108 |
+
\endtable
|
| 109 |
+
|
| 110 |
+
\table
|
| 111 |
+
\header
|
| 112 |
+
\li Output examples with different hue values
|
| 113 |
+
\li
|
| 114 |
+
\li
|
| 115 |
+
\row
|
| 116 |
+
\li \image Colorize_hue1.png
|
| 117 |
+
\li \image Colorize_hue2.png
|
| 118 |
+
\li \image Colorize_hue3.png
|
| 119 |
+
\row
|
| 120 |
+
\li \b { hue: 0.2 }
|
| 121 |
+
\li \b { hue: 0.5 }
|
| 122 |
+
\li \b { hue: 0.8 }
|
| 123 |
+
\row
|
| 124 |
+
\li \l saturation: 1
|
| 125 |
+
\li \l saturation: 1
|
| 126 |
+
\li \l saturation: 1
|
| 127 |
+
\row
|
| 128 |
+
\li \l lightness: 0
|
| 129 |
+
\li \l lightness: 0
|
| 130 |
+
\li \l lightness: 0
|
| 131 |
+
\endtable
|
| 132 |
+
*/
|
| 133 |
+
property real hue: 0.0
|
| 134 |
+
|
| 135 |
+
/*!
|
| 136 |
+
This property defines the saturation value which is used to colorize the
|
| 137 |
+
source.
|
| 138 |
+
|
| 139 |
+
The value ranges from 0.0 (desaturated) to 1.0 (saturated). By default,
|
| 140 |
+
the property is set to \c 1.0 (saturated).
|
| 141 |
+
|
| 142 |
+
\table
|
| 143 |
+
\header
|
| 144 |
+
\li Output examples with different saturation values
|
| 145 |
+
\li
|
| 146 |
+
\li
|
| 147 |
+
\row
|
| 148 |
+
\li \image Colorize_saturation1.png
|
| 149 |
+
\li \image Colorize_saturation2.png
|
| 150 |
+
\li \image Colorize_saturation3.png
|
| 151 |
+
\row
|
| 152 |
+
\li \b { saturation: 0 }
|
| 153 |
+
\li \b { saturation: 0.5 }
|
| 154 |
+
\li \b { saturation: 1 }
|
| 155 |
+
\row
|
| 156 |
+
\li \l hue: 0
|
| 157 |
+
\li \l hue: 0
|
| 158 |
+
\li \l hue: 0
|
| 159 |
+
\row
|
| 160 |
+
\li \l lightness: 0
|
| 161 |
+
\li \l lightness: 0
|
| 162 |
+
\li \l lightness: 0
|
| 163 |
+
\endtable
|
| 164 |
+
*/
|
| 165 |
+
property real saturation: 1.0
|
| 166 |
+
|
| 167 |
+
/*!
|
| 168 |
+
This property defines how much the source lightness value is increased
|
| 169 |
+
or decreased.
|
| 170 |
+
|
| 171 |
+
Unlike hue and saturation properties, lightness does not set the used
|
| 172 |
+
value, but it shifts the existing source pixel lightness value.
|
| 173 |
+
|
| 174 |
+
The value ranges from -1.0 (decreased) to 1.0 (increased). By default,
|
| 175 |
+
the property is set to \c 0.0 (no change).
|
| 176 |
+
|
| 177 |
+
\table
|
| 178 |
+
\header
|
| 179 |
+
\li Output examples with different lightness values
|
| 180 |
+
\li
|
| 181 |
+
\li
|
| 182 |
+
\row
|
| 183 |
+
\li \image Colorize_lightness1.png
|
| 184 |
+
\li \image Colorize_lightness2.png
|
| 185 |
+
\li \image Colorize_lightness3.png
|
| 186 |
+
\row
|
| 187 |
+
\li \b { lightness: -0.75 }
|
| 188 |
+
\li \b { lightness: 0 }
|
| 189 |
+
\li \b { lightness: 0.75 }
|
| 190 |
+
\row
|
| 191 |
+
\li \l hue: 0
|
| 192 |
+
\li \l hue: 0
|
| 193 |
+
\li \l hue: 0
|
| 194 |
+
\row
|
| 195 |
+
\li \l saturation: 1
|
| 196 |
+
\li \l saturation: 1
|
| 197 |
+
\li \l saturation: 1
|
| 198 |
+
\endtable
|
| 199 |
+
*/
|
| 200 |
+
property real lightness: 0.0
|
| 201 |
+
|
| 202 |
+
/*!
|
| 203 |
+
This property allows the effect output pixels to be cached in order to
|
| 204 |
+
improve the rendering performance.
|
| 205 |
+
|
| 206 |
+
Every time the source or effect properties are changed, the pixels in
|
| 207 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 208 |
+
extra buffer of memory is required for storing the effect output.
|
| 209 |
+
|
| 210 |
+
It is recommended to disable the cache when the source or the effect
|
| 211 |
+
properties are animated.
|
| 212 |
+
|
| 213 |
+
By default, the property is set to \c false.
|
| 214 |
+
*/
|
| 215 |
+
property bool cached: false
|
| 216 |
+
|
| 217 |
+
SourceProxy {
|
| 218 |
+
id: sourceProxy
|
| 219 |
+
input: rootItem.source
|
| 220 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 221 |
+
}
|
| 222 |
+
|
| 223 |
+
ShaderEffectSource {
|
| 224 |
+
id: cacheItem
|
| 225 |
+
anchors.fill: parent
|
| 226 |
+
visible: rootItem.cached
|
| 227 |
+
smooth: true
|
| 228 |
+
sourceItem: shaderItem
|
| 229 |
+
live: true
|
| 230 |
+
hideSource: visible
|
| 231 |
+
}
|
| 232 |
+
|
| 233 |
+
ShaderEffect {
|
| 234 |
+
id: shaderItem
|
| 235 |
+
property variant source: sourceProxy.output
|
| 236 |
+
property real hue: rootItem.hue
|
| 237 |
+
property real saturation: rootItem.saturation
|
| 238 |
+
property real lightness: rootItem.lightness
|
| 239 |
+
|
| 240 |
+
anchors.fill: parent
|
| 241 |
+
|
| 242 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/colorize.frag.qsb"
|
| 243 |
+
|
| 244 |
+
}
|
| 245 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/ConicalGradient.qml
ADDED
|
@@ -0,0 +1,342 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype ConicalGradient
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-gradient
|
| 60 |
+
\brief Draws a conical gradient.
|
| 61 |
+
|
| 62 |
+
A gradient is defined by two or more colors, which are blended seamlessly.
|
| 63 |
+
The colors start from the specified angle and end at 360 degrees larger
|
| 64 |
+
angle value.
|
| 65 |
+
|
| 66 |
+
\table
|
| 67 |
+
\header
|
| 68 |
+
\li Effect applied
|
| 69 |
+
\row
|
| 70 |
+
\li \image ConicalGradient.png
|
| 71 |
+
\endtable
|
| 72 |
+
|
| 73 |
+
\section1 Example
|
| 74 |
+
|
| 75 |
+
The following example shows how to apply the effect.
|
| 76 |
+
\snippet ConicalGradient-example.qml example
|
| 77 |
+
|
| 78 |
+
*/
|
| 79 |
+
Item {
|
| 80 |
+
id: rootItem
|
| 81 |
+
|
| 82 |
+
/*!
|
| 83 |
+
This property allows the effect output pixels to be cached in order to
|
| 84 |
+
improve the rendering performance.
|
| 85 |
+
|
| 86 |
+
Every time the source or effect properties are changed, the pixels in
|
| 87 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 88 |
+
extra buffer of memory is required for storing the effect output.
|
| 89 |
+
|
| 90 |
+
It is recommended to disable the cache when the source or the effect
|
| 91 |
+
properties are animated.
|
| 92 |
+
|
| 93 |
+
By default, the property is set to \c false.
|
| 94 |
+
|
| 95 |
+
*/
|
| 96 |
+
property bool cached: false
|
| 97 |
+
|
| 98 |
+
/*!
|
| 99 |
+
This property defines the starting angle where the color at the gradient
|
| 100 |
+
position of 0.0 is rendered. Colors at larger position values are
|
| 101 |
+
rendered into larger angle values and blended seamlessly. Angle values
|
| 102 |
+
increase clockwise.
|
| 103 |
+
|
| 104 |
+
\table
|
| 105 |
+
\header
|
| 106 |
+
\li Output examples with different angle values
|
| 107 |
+
\li
|
| 108 |
+
\li
|
| 109 |
+
\row
|
| 110 |
+
\li \image ConicalGradient_angle1.png
|
| 111 |
+
\li \image ConicalGradient_angle2.png
|
| 112 |
+
\li \image ConicalGradient_angle3.png
|
| 113 |
+
\row
|
| 114 |
+
\li \b { angle: 0 }
|
| 115 |
+
\li \b { angle: 45 }
|
| 116 |
+
\li \b { angle: 185 }
|
| 117 |
+
\row
|
| 118 |
+
\li \l horizontalOffset: 0
|
| 119 |
+
\li \l horizontalOffset: 0
|
| 120 |
+
\li \l horizontalOffset: 0
|
| 121 |
+
\row
|
| 122 |
+
\li \l verticalOffset: 0
|
| 123 |
+
\li \l verticalOffset: 0
|
| 124 |
+
\li \l verticalOffset: 0
|
| 125 |
+
\endtable
|
| 126 |
+
|
| 127 |
+
*/
|
| 128 |
+
property real angle: 0.0
|
| 129 |
+
|
| 130 |
+
/*!
|
| 131 |
+
\qmlproperty real QtGraphicalEffects::ConicalGradient::horizontalOffset
|
| 132 |
+
\qmlproperty real QtGraphicalEffects::ConicalGradient::verticalOffset
|
| 133 |
+
|
| 134 |
+
The horizontalOffset and verticalOffset properties define the offset in
|
| 135 |
+
pixels for the center point of the gradient compared to the item center.
|
| 136 |
+
|
| 137 |
+
The value ranges from -inf to inf. By default, the properties are set to \c
|
| 138 |
+
0.
|
| 139 |
+
|
| 140 |
+
\table
|
| 141 |
+
\header
|
| 142 |
+
\li Output examples with different horizontalOffset values
|
| 143 |
+
\li
|
| 144 |
+
\li
|
| 145 |
+
\row
|
| 146 |
+
\li \image ConicalGradient_horizontalOffset1.png
|
| 147 |
+
\li \image ConicalGradient_horizontalOffset2.png
|
| 148 |
+
\li \image ConicalGradient_horizontalOffset3.png
|
| 149 |
+
\row
|
| 150 |
+
\li \b { horizontalOffset: -50 }
|
| 151 |
+
\li \b { horizontalOffset: 0 }
|
| 152 |
+
\li \b { horizontalOffset: 50 }
|
| 153 |
+
\row
|
| 154 |
+
\li \l angle: 0
|
| 155 |
+
\li \l angle: 0
|
| 156 |
+
\li \l angle: 0
|
| 157 |
+
\row
|
| 158 |
+
\li \l verticalOffset: 0
|
| 159 |
+
\li \l verticalOffset: 0
|
| 160 |
+
\li \l verticalOffset: 0
|
| 161 |
+
\endtable
|
| 162 |
+
*/
|
| 163 |
+
property real horizontalOffset: 0.0
|
| 164 |
+
property real verticalOffset: 0.0
|
| 165 |
+
|
| 166 |
+
/*!
|
| 167 |
+
This property defines the item that is going to be filled with gradient.
|
| 168 |
+
Source item gets rendered into an intermediate pixel buffer and the
|
| 169 |
+
alpha values from the result are used to determine the gradient's pixels
|
| 170 |
+
visibility in the display. The default value for source is undefined and
|
| 171 |
+
in that case whole effect area is filled with gradient.
|
| 172 |
+
|
| 173 |
+
\table
|
| 174 |
+
\header
|
| 175 |
+
\li Output examples with different source values
|
| 176 |
+
\li
|
| 177 |
+
\row
|
| 178 |
+
\li \image ConicalGradient_maskSource1.png
|
| 179 |
+
\li \image ConicalGradient_maskSource2.png
|
| 180 |
+
\row
|
| 181 |
+
\li \b { source: undefined }
|
| 182 |
+
\li \b { source: }
|
| 183 |
+
\row
|
| 184 |
+
\li \l angle: 0
|
| 185 |
+
\li \l angle: 0
|
| 186 |
+
\row
|
| 187 |
+
\li \l horizontalOffset: 0
|
| 188 |
+
\li \l horizontalOffset: 0
|
| 189 |
+
\row
|
| 190 |
+
\li \l verticalOffset: 0
|
| 191 |
+
\li \l verticalOffset: 0
|
| 192 |
+
\endtable
|
| 193 |
+
|
| 194 |
+
|
| 195 |
+
\note It is not supported to let the effect include itself, for
|
| 196 |
+
instance by setting source to the effect's parent.
|
| 197 |
+
*/
|
| 198 |
+
property variant source
|
| 199 |
+
|
| 200 |
+
/*!
|
| 201 |
+
A gradient is defined by two or more colors, which are blended seamlessly.
|
| 202 |
+
The colors are specified as a set of GradientStop child items, each of which
|
| 203 |
+
defines a position on the gradient (from 0.0 to 1.0), and a color.
|
| 204 |
+
The position of each GradientStop is defined by the position property.
|
| 205 |
+
The color is defined by the color property.
|
| 206 |
+
|
| 207 |
+
\table
|
| 208 |
+
\header
|
| 209 |
+
\li Output examples with different gradient values
|
| 210 |
+
\li
|
| 211 |
+
\li
|
| 212 |
+
\row
|
| 213 |
+
\li \image ConicalGradient_gradient1.png
|
| 214 |
+
\li \image ConicalGradient_gradient2.png
|
| 215 |
+
\li \image ConicalGradient_gradient3.png
|
| 216 |
+
\row
|
| 217 |
+
\li \b {gradient:} \code
|
| 218 |
+
Gradient {
|
| 219 |
+
GradientStop {
|
| 220 |
+
position: 0.000
|
| 221 |
+
color: Qt.rgba(1, 0, 0, 1)
|
| 222 |
+
}
|
| 223 |
+
GradientStop {
|
| 224 |
+
position: 0.167
|
| 225 |
+
color: Qt.rgba(1, 1, 0, 1)
|
| 226 |
+
}
|
| 227 |
+
GradientStop {
|
| 228 |
+
position: 0.333
|
| 229 |
+
color: Qt.rgba(0, 1, 0, 1)
|
| 230 |
+
}
|
| 231 |
+
GradientStop {
|
| 232 |
+
position: 0.500
|
| 233 |
+
color: Qt.rgba(0, 1, 1, 1)
|
| 234 |
+
}
|
| 235 |
+
GradientStop {
|
| 236 |
+
position: 0.667
|
| 237 |
+
color: Qt.rgba(0, 0, 1, 1)
|
| 238 |
+
}
|
| 239 |
+
GradientStop {
|
| 240 |
+
position: 0.833
|
| 241 |
+
color: Qt.rgba(1, 0, 1, 1)
|
| 242 |
+
}
|
| 243 |
+
GradientStop {
|
| 244 |
+
position: 1.000
|
| 245 |
+
color: Qt.rgba(1, 0, 0, 1)
|
| 246 |
+
}
|
| 247 |
+
}
|
| 248 |
+
\endcode
|
| 249 |
+
\li \b {gradient:} \code
|
| 250 |
+
Gradient {
|
| 251 |
+
GradientStop {
|
| 252 |
+
position: 0.0
|
| 253 |
+
color: "#F0F0F0"
|
| 254 |
+
}
|
| 255 |
+
GradientStop {
|
| 256 |
+
position: 0.5
|
| 257 |
+
color: "#000000"
|
| 258 |
+
}
|
| 259 |
+
GradientStop {
|
| 260 |
+
position: 1.0
|
| 261 |
+
color: "#F0F0F0"
|
| 262 |
+
}
|
| 263 |
+
}
|
| 264 |
+
\endcode
|
| 265 |
+
\li \b {gradient:} \code
|
| 266 |
+
Gradient {
|
| 267 |
+
GradientStop {
|
| 268 |
+
position: 0.0
|
| 269 |
+
color: "#00000000"
|
| 270 |
+
}
|
| 271 |
+
GradientStop {
|
| 272 |
+
position: 1.0
|
| 273 |
+
color: "#FF000000"
|
| 274 |
+
}
|
| 275 |
+
}
|
| 276 |
+
\endcode
|
| 277 |
+
\row
|
| 278 |
+
\li \l angle: 0
|
| 279 |
+
\li \l angle: 0
|
| 280 |
+
\li \l angle: 0
|
| 281 |
+
\row
|
| 282 |
+
\li \l horizontalOffset: 0
|
| 283 |
+
\li \l horizontalOffset: 0
|
| 284 |
+
\li \l horizontalOffset: 0
|
| 285 |
+
\row
|
| 286 |
+
\li \l verticalOffset: 0
|
| 287 |
+
\li \l verticalOffset: 0
|
| 288 |
+
\li \l verticalOffset: 0
|
| 289 |
+
\endtable
|
| 290 |
+
|
| 291 |
+
*/
|
| 292 |
+
property Gradient gradient: Gradient {
|
| 293 |
+
GradientStop { position: 0.0; color: "white" }
|
| 294 |
+
GradientStop { position: 1.0; color: "black" }
|
| 295 |
+
}
|
| 296 |
+
|
| 297 |
+
SourceProxy {
|
| 298 |
+
id: maskSourceProxy
|
| 299 |
+
input: rootItem.source
|
| 300 |
+
}
|
| 301 |
+
|
| 302 |
+
Rectangle {
|
| 303 |
+
id: gradientRect
|
| 304 |
+
width: 16
|
| 305 |
+
height: 256
|
| 306 |
+
gradient: rootItem.gradient
|
| 307 |
+
smooth: true
|
| 308 |
+
}
|
| 309 |
+
|
| 310 |
+
ShaderEffectSource {
|
| 311 |
+
id: cacheItem
|
| 312 |
+
anchors.fill: parent
|
| 313 |
+
visible: rootItem.cached
|
| 314 |
+
smooth: true
|
| 315 |
+
rotation: shaderItem.rotation
|
| 316 |
+
sourceItem: shaderItem
|
| 317 |
+
live: true
|
| 318 |
+
hideSource: visible
|
| 319 |
+
}
|
| 320 |
+
|
| 321 |
+
ShaderEffect {
|
| 322 |
+
id: shaderItem
|
| 323 |
+
property variant gradientSource: ShaderEffectSource {
|
| 324 |
+
sourceItem: gradientRect
|
| 325 |
+
smooth: true
|
| 326 |
+
hideSource: true
|
| 327 |
+
visible: false
|
| 328 |
+
}
|
| 329 |
+
property variant maskSource: maskSourceProxy.output
|
| 330 |
+
property real startAngle: (rootItem.angle - 90) * Math.PI/180
|
| 331 |
+
property variant center: Qt.point(0.5 + horizontalOffset / width, 0.5 + verticalOffset / height)
|
| 332 |
+
|
| 333 |
+
anchors.fill: parent
|
| 334 |
+
|
| 335 |
+
fragmentShader: maskSource == undefined ? noMaskShader : maskShader
|
| 336 |
+
|
| 337 |
+
onFragmentShaderChanged: startAngleChanged()
|
| 338 |
+
|
| 339 |
+
property string noMaskShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/conicalgradient_nomask.frag.qsb"
|
| 340 |
+
property string maskShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/conicalgradient_mask.frag.qsb"
|
| 341 |
+
}
|
| 342 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/Desaturate.qml
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype Desaturate
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Reduces the saturation of the colors.
|
| 61 |
+
|
| 62 |
+
Desaturated pixel values are calculated as averages of the original RGB
|
| 63 |
+
component values of the source item.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Source
|
| 68 |
+
\li Effect applied
|
| 69 |
+
\row
|
| 70 |
+
\li \image Original_bug.png
|
| 71 |
+
\li \image Desaturate_bug.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet Desaturate-example.qml example
|
| 78 |
+
|
| 79 |
+
*/
|
| 80 |
+
Item {
|
| 81 |
+
id: rootItem
|
| 82 |
+
|
| 83 |
+
/*!
|
| 84 |
+
This property defines the source item that provides the source pixels to
|
| 85 |
+
the effect.
|
| 86 |
+
|
| 87 |
+
\note It is not supported to let the effect include itself, for
|
| 88 |
+
instance by setting source to the effect's parent.
|
| 89 |
+
*/
|
| 90 |
+
property variant source
|
| 91 |
+
|
| 92 |
+
/*!
|
| 93 |
+
This property defines how much the source colors are desaturated.
|
| 94 |
+
|
| 95 |
+
The value ranges from 0.0 (no change) to 1.0 (desaturated). By default,
|
| 96 |
+
the property is set to \c 0.0 (no change).
|
| 97 |
+
|
| 98 |
+
\table
|
| 99 |
+
\header
|
| 100 |
+
\li Output examples with different desaturation values
|
| 101 |
+
\li
|
| 102 |
+
\li
|
| 103 |
+
\row
|
| 104 |
+
\li \image Desaturate_desaturation1.png
|
| 105 |
+
\li \image Desaturate_desaturation2.png
|
| 106 |
+
\li \image Desaturate_desaturation3.png
|
| 107 |
+
\row
|
| 108 |
+
\li \b { desaturation: 0.0 }
|
| 109 |
+
\li \b { desaturation: 0.5 }
|
| 110 |
+
\li \b { desaturation: 1.0 }
|
| 111 |
+
\endtable
|
| 112 |
+
*/
|
| 113 |
+
property real desaturation: 0.0
|
| 114 |
+
|
| 115 |
+
/*!
|
| 116 |
+
This property allows the effect output pixels to be cached in order to
|
| 117 |
+
improve the rendering performance.
|
| 118 |
+
|
| 119 |
+
Every time the source or effect properties are changed, the pixels in
|
| 120 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 121 |
+
extra buffer of memory is required for storing the effect output.
|
| 122 |
+
|
| 123 |
+
It is recommended to disable the cache when the source or the effect
|
| 124 |
+
properties are animated.
|
| 125 |
+
|
| 126 |
+
By default, the property is set to \c false.
|
| 127 |
+
|
| 128 |
+
*/
|
| 129 |
+
property bool cached: false
|
| 130 |
+
|
| 131 |
+
SourceProxy {
|
| 132 |
+
id: sourceProxy
|
| 133 |
+
input: rootItem.source
|
| 134 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
+
ShaderEffectSource {
|
| 138 |
+
id: cacheItem
|
| 139 |
+
anchors.fill: parent
|
| 140 |
+
visible: rootItem.cached
|
| 141 |
+
smooth: true
|
| 142 |
+
sourceItem: shaderItem
|
| 143 |
+
live: true
|
| 144 |
+
hideSource: visible
|
| 145 |
+
}
|
| 146 |
+
|
| 147 |
+
ShaderEffect {
|
| 148 |
+
id: shaderItem
|
| 149 |
+
property variant source: sourceProxy.output
|
| 150 |
+
property real desaturation: rootItem.desaturation
|
| 151 |
+
|
| 152 |
+
anchors.fill: parent
|
| 153 |
+
|
| 154 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/desaturate.frag.qsb"
|
| 155 |
+
}
|
| 156 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/Displace.qml
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype Displace
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-distortion
|
| 60 |
+
\brief Moves the pixels of the source item according to the given
|
| 61 |
+
displacement map.
|
| 62 |
+
|
| 63 |
+
\table
|
| 64 |
+
\header
|
| 65 |
+
\li Source
|
| 66 |
+
\li DisplacementSource
|
| 67 |
+
\li Effect applied
|
| 68 |
+
\row
|
| 69 |
+
\li \image Original_bug.png
|
| 70 |
+
\li \image Displace_map.png
|
| 71 |
+
\li \image Displace_bug.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet Displace-example.qml example
|
| 78 |
+
|
| 79 |
+
*/
|
| 80 |
+
Item {
|
| 81 |
+
id: rootItem
|
| 82 |
+
|
| 83 |
+
/*!
|
| 84 |
+
This property defines the source item for the pixels that are going to
|
| 85 |
+
be displaced according to the data from
|
| 86 |
+
\l{Displace::displacementSource}{displacementSource}.
|
| 87 |
+
|
| 88 |
+
\note It is not supported to let the effect include itself, for
|
| 89 |
+
instance by setting source to the effect's parent.
|
| 90 |
+
*/
|
| 91 |
+
property variant source
|
| 92 |
+
|
| 93 |
+
/*!
|
| 94 |
+
This property defines the item that is going to be used as the
|
| 95 |
+
displacement map. The displacementSource item gets rendered into the
|
| 96 |
+
intermediate pixel buffer. The red and green component values from the
|
| 97 |
+
result determine the displacement of the pixels from the source item.
|
| 98 |
+
|
| 99 |
+
The format for the displacement map is similar to the tangent space
|
| 100 |
+
normal maps, which can be created with most 3D-modeling tools. Many
|
| 101 |
+
image processing tools include the support for generating normal maps.
|
| 102 |
+
Alternatively, the displacement map for this effect can also be a QML
|
| 103 |
+
element which is colored appropriately. Like any QML element, it can be
|
| 104 |
+
animated. It is recommended that the size of the diplacement map matches
|
| 105 |
+
the size of the \l{Displace::source}{source}.
|
| 106 |
+
|
| 107 |
+
The displace data is interpreted in the RGBA format. For every pixel:
|
| 108 |
+
the red channel stores the x-axis displacement, and the green channel
|
| 109 |
+
stores the y-axis displacement. Blue and alpha channels are ignored for
|
| 110 |
+
this effect.
|
| 111 |
+
|
| 112 |
+
Assuming that red channel value 1.0 is fully red (0.0 having no red at
|
| 113 |
+
all), this effect considers pixel component value 0.5 to cause no
|
| 114 |
+
displacement at all. Values above 0.5 shift pixels to the left, values
|
| 115 |
+
below 0.5 do the shift to the right. In a similar way, green channel
|
| 116 |
+
values above 0.5 displace the pixels upwards, and values below 0.5 shift
|
| 117 |
+
the pixels downwards. The actual amount of displacement in pixels
|
| 118 |
+
depends on the \l displacement property.
|
| 119 |
+
|
| 120 |
+
*/
|
| 121 |
+
property variant displacementSource
|
| 122 |
+
|
| 123 |
+
/*!
|
| 124 |
+
This property defines the scale for the displacement. The bigger scale,
|
| 125 |
+
the bigger the displacement of the pixels. The value set to 0.0 causes
|
| 126 |
+
no displacement.
|
| 127 |
+
|
| 128 |
+
The value ranges from -1.0 (inverted maximum shift, according to
|
| 129 |
+
displacementSource) to 1.0 (maximum shift, according to
|
| 130 |
+
displacementSource). By default, the property is set to \c 0.0 (no
|
| 131 |
+
displacement).
|
| 132 |
+
|
| 133 |
+
\table
|
| 134 |
+
\header
|
| 135 |
+
\li Output examples with different displacement values
|
| 136 |
+
\li
|
| 137 |
+
\li
|
| 138 |
+
\row
|
| 139 |
+
\li \image Displace_displacement1.png
|
| 140 |
+
\li \image Displace_displacement2.png
|
| 141 |
+
\li \image Displace_displacement3.png
|
| 142 |
+
\row
|
| 143 |
+
\li \b { displacement: -0.2 }
|
| 144 |
+
\li \b { displacement: 0.0 }
|
| 145 |
+
\li \b { displacement: 0.2 }
|
| 146 |
+
\endtable
|
| 147 |
+
|
| 148 |
+
*/
|
| 149 |
+
property real displacement: 0.0
|
| 150 |
+
|
| 151 |
+
/*!
|
| 152 |
+
This property allows the effect output pixels to be cached in order to
|
| 153 |
+
improve the rendering performance.
|
| 154 |
+
|
| 155 |
+
Every time the source or effect properties are changed, the pixels in
|
| 156 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 157 |
+
extra buffer of memory is required for storing the effect output.
|
| 158 |
+
|
| 159 |
+
It is recommended to disable the cache when the source or the effect
|
| 160 |
+
properties are animated.
|
| 161 |
+
|
| 162 |
+
By default, the property is set to \c false.
|
| 163 |
+
|
| 164 |
+
*/
|
| 165 |
+
property bool cached: false
|
| 166 |
+
|
| 167 |
+
SourceProxy {
|
| 168 |
+
id: sourceProxy
|
| 169 |
+
input: rootItem.source
|
| 170 |
+
}
|
| 171 |
+
|
| 172 |
+
SourceProxy {
|
| 173 |
+
id: displacementSourceProxy
|
| 174 |
+
input: rootItem.displacementSource
|
| 175 |
+
}
|
| 176 |
+
|
| 177 |
+
ShaderEffectSource {
|
| 178 |
+
id: cacheItem
|
| 179 |
+
anchors.fill: parent
|
| 180 |
+
visible: rootItem.cached
|
| 181 |
+
smooth: true
|
| 182 |
+
sourceItem: shaderItem
|
| 183 |
+
live: true
|
| 184 |
+
hideSource: visible
|
| 185 |
+
}
|
| 186 |
+
|
| 187 |
+
ShaderEffect {
|
| 188 |
+
id: shaderItem
|
| 189 |
+
property variant source: sourceProxy.output
|
| 190 |
+
property variant displacementSource: displacementSourceProxy.output
|
| 191 |
+
property real displacement: rootItem.displacement
|
| 192 |
+
property real xPixel: 1.0/width
|
| 193 |
+
property real yPixel: 1.0/height
|
| 194 |
+
|
| 195 |
+
anchors.fill: parent
|
| 196 |
+
|
| 197 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/displace.frag.qsb"
|
| 198 |
+
}
|
| 199 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/DropShadow.qml
ADDED
|
@@ -0,0 +1,326 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Copyright (C) 2017 Jolla Ltd, author: <gunnar.sletta@jollamobile.com>
|
| 5 |
+
** Contact: https://www.qt.io/licensing/
|
| 6 |
+
**
|
| 7 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 8 |
+
**
|
| 9 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 10 |
+
** Commercial License Usage
|
| 11 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 12 |
+
** accordance with the commercial license agreement provided with the
|
| 13 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 14 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 15 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 16 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 17 |
+
**
|
| 18 |
+
** BSD License Usage
|
| 19 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 20 |
+
** as follows:
|
| 21 |
+
**
|
| 22 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 23 |
+
** modification, are permitted provided that the following conditions are
|
| 24 |
+
** met:
|
| 25 |
+
** * Redistributions of source code must retain the above copyright
|
| 26 |
+
** notice, this list of conditions and the following disclaimer.
|
| 27 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 28 |
+
** notice, this list of conditions and the following disclaimer in
|
| 29 |
+
** the documentation and/or other materials provided with the
|
| 30 |
+
** distribution.
|
| 31 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 32 |
+
** contributors may be used to endorse or promote products derived
|
| 33 |
+
** from this software without specific prior written permission.
|
| 34 |
+
**
|
| 35 |
+
**
|
| 36 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 37 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 38 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 39 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 40 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 41 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 42 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 43 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 44 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 45 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 46 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 47 |
+
**
|
| 48 |
+
** $QT_END_LICENSE$
|
| 49 |
+
**
|
| 50 |
+
****************************************************************************/
|
| 51 |
+
|
| 52 |
+
import QtQuick
|
| 53 |
+
import Qt5Compat.GraphicalEffects.private
|
| 54 |
+
|
| 55 |
+
/*!
|
| 56 |
+
\qmltype DropShadow
|
| 57 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 58 |
+
\since QtGraphicalEffects 1.0
|
| 59 |
+
\inherits QtQuick2::Item
|
| 60 |
+
\ingroup qtgraphicaleffects-drop-shadow
|
| 61 |
+
\brief Generates a colorized and blurred shadow image of the
|
| 62 |
+
source and places it behind the original, giving the impression that
|
| 63 |
+
source item is raised from the background.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Source
|
| 68 |
+
\li Effect applied
|
| 69 |
+
\row
|
| 70 |
+
\li \image Original_butterfly.png
|
| 71 |
+
\li \image DropShadow_butterfly.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet DropShadow-example.qml example
|
| 78 |
+
|
| 79 |
+
*/
|
| 80 |
+
Item {
|
| 81 |
+
id: rootItem
|
| 82 |
+
|
| 83 |
+
/*!
|
| 84 |
+
This property defines the source item that is going to be used as the
|
| 85 |
+
source for the generated shadow.
|
| 86 |
+
|
| 87 |
+
\note It is not supported to let the effect include itself, for
|
| 88 |
+
instance by setting source to the effect's parent.
|
| 89 |
+
*/
|
| 90 |
+
property variant source
|
| 91 |
+
|
| 92 |
+
/*!
|
| 93 |
+
Radius defines the softness of the shadow. A larger radius causes the
|
| 94 |
+
edges of the shadow to appear more blurry.
|
| 95 |
+
|
| 96 |
+
The value ranges from 0.0 (no blur) to inf. By default, the property is
|
| 97 |
+
set to \c 0.0 (no blur).
|
| 98 |
+
|
| 99 |
+
\table
|
| 100 |
+
\header
|
| 101 |
+
\li Output examples with different radius values
|
| 102 |
+
\li
|
| 103 |
+
\li
|
| 104 |
+
\row
|
| 105 |
+
\li \image DropShadow_radius1.png
|
| 106 |
+
\li \image DropShadow_radius2.png
|
| 107 |
+
\li \image DropShadow_radius3.png
|
| 108 |
+
\row
|
| 109 |
+
\li \b { radius: 0 }
|
| 110 |
+
\li \b { radius: 6 }
|
| 111 |
+
\li \b { radius: 12 }
|
| 112 |
+
\row
|
| 113 |
+
\li \l color: #000000
|
| 114 |
+
\li \l color: #000000
|
| 115 |
+
\li \l color: #000000
|
| 116 |
+
\row
|
| 117 |
+
\li \l horizontalOffset: 0
|
| 118 |
+
\li \l horizontalOffset: 0
|
| 119 |
+
\li \l horizontalOffset: 0
|
| 120 |
+
\row
|
| 121 |
+
\li \l verticalOffset: 20
|
| 122 |
+
\li \l verticalOffset: 20
|
| 123 |
+
\li \l verticalOffset: 20
|
| 124 |
+
\row
|
| 125 |
+
\li \l spread: 0
|
| 126 |
+
\li \l spread: 0
|
| 127 |
+
\li \l spread: 0
|
| 128 |
+
\endtable
|
| 129 |
+
|
| 130 |
+
*/
|
| 131 |
+
property real radius: 0.0
|
| 132 |
+
|
| 133 |
+
/*!
|
| 134 |
+
This property defines the RGBA color value which is used for the shadow.
|
| 135 |
+
|
| 136 |
+
By default, the property is set to \c "black".
|
| 137 |
+
|
| 138 |
+
\table
|
| 139 |
+
\header
|
| 140 |
+
\li Output examples with different color values
|
| 141 |
+
\li
|
| 142 |
+
\li
|
| 143 |
+
\row
|
| 144 |
+
\li \image DropShadow_color1.png
|
| 145 |
+
\li \image DropShadow_color2.png
|
| 146 |
+
\li \image DropShadow_color3.png
|
| 147 |
+
\row
|
| 148 |
+
\li \b { color: #000000 }
|
| 149 |
+
\li \b { color: #0000ff }
|
| 150 |
+
\li \b { color: #aa000000 }
|
| 151 |
+
\row
|
| 152 |
+
\li \l radius: 8
|
| 153 |
+
\li \l radius: 8
|
| 154 |
+
\li \l radius: 8
|
| 155 |
+
\row
|
| 156 |
+
\li \l horizontalOffset: 0
|
| 157 |
+
\li \l horizontalOffset: 0
|
| 158 |
+
\li \l horizontalOffset: 0
|
| 159 |
+
\row
|
| 160 |
+
\li \l verticalOffset: 20
|
| 161 |
+
\li \l verticalOffset: 20
|
| 162 |
+
\li \l verticalOffset: 20
|
| 163 |
+
\row
|
| 164 |
+
\li \l spread: 0
|
| 165 |
+
\li \l spread: 0
|
| 166 |
+
\li \l spread: 0
|
| 167 |
+
\endtable
|
| 168 |
+
|
| 169 |
+
*/
|
| 170 |
+
property color color: "black"
|
| 171 |
+
|
| 172 |
+
/*!
|
| 173 |
+
\qmlproperty real QtGraphicalEffects::DropShadow::horizontalOffset
|
| 174 |
+
\qmlproperty real QtGraphicalEffects::DropShadow::verticalOffset
|
| 175 |
+
|
| 176 |
+
HorizontalOffset and verticalOffset properties define the offset for the
|
| 177 |
+
rendered shadow compared to the DropShadow item position. Often, the
|
| 178 |
+
DropShadow item is anchored so that it fills the source element. In this
|
| 179 |
+
case, if the HorizontalOffset and verticalOffset properties are set to
|
| 180 |
+
0, the shadow is rendered exactly under the source item. By changing the
|
| 181 |
+
offset properties, the shadow can be positioned relatively to the source
|
| 182 |
+
item.
|
| 183 |
+
|
| 184 |
+
The values range from -inf to inf. By default, the properties are set to
|
| 185 |
+
\c 0.
|
| 186 |
+
|
| 187 |
+
\table
|
| 188 |
+
\header
|
| 189 |
+
\li Output examples with different horizontalOffset values
|
| 190 |
+
\li
|
| 191 |
+
\li
|
| 192 |
+
\row
|
| 193 |
+
\li \image DropShadow_horizontalOffset1.png
|
| 194 |
+
\li \image DropShadow_horizontalOffset2.png
|
| 195 |
+
\li \image DropShadow_horizontalOffset3.png
|
| 196 |
+
\row
|
| 197 |
+
\li \b { horizontalOffset: -20 }
|
| 198 |
+
\li \b { horizontalOffset: 0 }
|
| 199 |
+
\li \b { horizontalOffset: 20 }
|
| 200 |
+
\row
|
| 201 |
+
\li \l radius: 4
|
| 202 |
+
\li \l radius: 4
|
| 203 |
+
\li \l radius: 4
|
| 204 |
+
\row
|
| 205 |
+
\li \l color: #000000
|
| 206 |
+
\li \l color: #000000
|
| 207 |
+
\li \l color: #000000
|
| 208 |
+
\row
|
| 209 |
+
\li \l verticalOffset: 0
|
| 210 |
+
\li \l verticalOffset: 0
|
| 211 |
+
\li \l verticalOffset: 0
|
| 212 |
+
\row
|
| 213 |
+
\li \l spread: 0
|
| 214 |
+
\li \l spread: 0
|
| 215 |
+
\li \l spread: 0
|
| 216 |
+
\endtable
|
| 217 |
+
|
| 218 |
+
*/
|
| 219 |
+
property real horizontalOffset: 0.0
|
| 220 |
+
property real verticalOffset: 0.0
|
| 221 |
+
|
| 222 |
+
/*!
|
| 223 |
+
This property defines how large part of the shadow color is strenghtened
|
| 224 |
+
near the source edges.
|
| 225 |
+
|
| 226 |
+
The value ranges from 0.0 to 1.0. By default, the property is set to \c
|
| 227 |
+
0.5.
|
| 228 |
+
|
| 229 |
+
\table
|
| 230 |
+
\header
|
| 231 |
+
\li Output examples with different spread values
|
| 232 |
+
\li
|
| 233 |
+
\li
|
| 234 |
+
\row
|
| 235 |
+
\li \image DropShadow_spread1.png
|
| 236 |
+
\li \image DropShadow_spread2.png
|
| 237 |
+
\li \image DropShadow_spread3.png
|
| 238 |
+
\row
|
| 239 |
+
\li \b { spread: 0.0 }
|
| 240 |
+
\li \b { spread: 0.5 }
|
| 241 |
+
\li \b { spread: 1.0 }
|
| 242 |
+
\row
|
| 243 |
+
\li \l radius: 8
|
| 244 |
+
\li \l radius: 8
|
| 245 |
+
\li \l radius: 8
|
| 246 |
+
\row
|
| 247 |
+
\li \l color: #000000
|
| 248 |
+
\li \l color: #000000
|
| 249 |
+
\li \l color: #000000
|
| 250 |
+
\row
|
| 251 |
+
\li \l horizontalOffset: 0
|
| 252 |
+
\li \l horizontalOffset: 0
|
| 253 |
+
\li \l horizontalOffset: 0
|
| 254 |
+
\row
|
| 255 |
+
\li \l verticalOffset: 20
|
| 256 |
+
\li \l verticalOffset: 20
|
| 257 |
+
\li \l verticalOffset: 20
|
| 258 |
+
\endtable
|
| 259 |
+
|
| 260 |
+
*/
|
| 261 |
+
property real spread: 0.0
|
| 262 |
+
|
| 263 |
+
/*!
|
| 264 |
+
This property allows the effect output pixels to be cached in order to
|
| 265 |
+
improve the rendering performance. Every time the source or effect
|
| 266 |
+
properties are changed, the pixels in the cache must be updated. Memory
|
| 267 |
+
consumption is increased, because an extra buffer of memory is required
|
| 268 |
+
for storing the effect output.
|
| 269 |
+
|
| 270 |
+
It is recommended to disable the cache when the source or the effect
|
| 271 |
+
properties are animated.
|
| 272 |
+
|
| 273 |
+
By default, the property is set to \c false.
|
| 274 |
+
|
| 275 |
+
*/
|
| 276 |
+
property bool cached: false
|
| 277 |
+
|
| 278 |
+
/*!
|
| 279 |
+
This property determines whether or not the effect has a transparent
|
| 280 |
+
border.
|
| 281 |
+
|
| 282 |
+
When set to \c true, the exterior of the item is padded with a 1 pixel
|
| 283 |
+
wide transparent edge, making sampling outside the source texture use
|
| 284 |
+
transparency instead of the edge pixels. Without this property, an
|
| 285 |
+
image which has opaque edges will not get a blurred edge.
|
| 286 |
+
|
| 287 |
+
In the image below, the Rectangle on the left has transparent borders
|
| 288 |
+
and has blurred edges, whereas the Rectangle on the right does not:
|
| 289 |
+
|
| 290 |
+
\snippet DropShadow-transparentBorder-example.qml example
|
| 291 |
+
|
| 292 |
+
\image DropShadow-transparentBorder.png
|
| 293 |
+
*/
|
| 294 |
+
property bool transparentBorder: false
|
| 295 |
+
|
| 296 |
+
Loader {
|
| 297 |
+
x: rootItem.horizontalOffset
|
| 298 |
+
y: rootItem.verticalOffset
|
| 299 |
+
width: parent.width
|
| 300 |
+
height: parent.height
|
| 301 |
+
sourceComponent: fastGlow
|
| 302 |
+
}
|
| 303 |
+
|
| 304 |
+
Component {
|
| 305 |
+
id: fastGlow
|
| 306 |
+
FastGlow {
|
| 307 |
+
anchors.fill: parent
|
| 308 |
+
source: sourceProxy.output
|
| 309 |
+
blur: Math.pow(rootItem.radius / 64.0, 0.4)
|
| 310 |
+
color: rootItem.color
|
| 311 |
+
cached: rootItem.cached
|
| 312 |
+
spread: rootItem.spread
|
| 313 |
+
transparentBorder: rootItem.transparentBorder
|
| 314 |
+
}
|
| 315 |
+
}
|
| 316 |
+
|
| 317 |
+
SourceProxy {
|
| 318 |
+
id: sourceProxy
|
| 319 |
+
input: rootItem.source
|
| 320 |
+
sourceRect: rootItem.transparentBorder ? Qt.rect(-1, -1, parent.width + 2.0, parent.height + 2.0) : Qt.rect(0, 0, 0, 0)
|
| 321 |
+
}
|
| 322 |
+
ShaderEffect {
|
| 323 |
+
anchors.fill: parent
|
| 324 |
+
property variant source: sourceProxy.output
|
| 325 |
+
}
|
| 326 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/FastBlur.qml
ADDED
|
@@ -0,0 +1,446 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype FastBlur
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-blur
|
| 60 |
+
\brief Applies a fast blur effect to one or more source items.
|
| 61 |
+
|
| 62 |
+
The FastBlur effect softens the source content by blurring it with algorithm
|
| 63 |
+
which uses the source content downscaling and bilinear filtering.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Source
|
| 68 |
+
\li Effect applied
|
| 69 |
+
\row
|
| 70 |
+
\li \image Original_bug.png
|
| 71 |
+
\li \image FastBlur_bug.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet FastBlur-example.qml example
|
| 78 |
+
|
| 79 |
+
*/
|
| 80 |
+
Item {
|
| 81 |
+
id: rootItem
|
| 82 |
+
|
| 83 |
+
/*!
|
| 84 |
+
This property defines the source item that is going to be blurred.
|
| 85 |
+
|
| 86 |
+
\note It is not supported to let the effect include itself, for
|
| 87 |
+
instance by setting source to the effect's parent.
|
| 88 |
+
*/
|
| 89 |
+
property variant source
|
| 90 |
+
|
| 91 |
+
/*!
|
| 92 |
+
This property defines the distance of the neighboring pixels which affect
|
| 93 |
+
the blurring of an individual pixel. A larger radius increases the blur
|
| 94 |
+
effect. FastBlur algorithm may internally reduce the accuracy of the radius in order to
|
| 95 |
+
provide good rendering performance.
|
| 96 |
+
|
| 97 |
+
The value ranges from 0.0 (no blur) to inf. Visual quality of the blur is reduced when
|
| 98 |
+
radius exceeds value 64. By default, the property is set to \c 0.0 (no blur).
|
| 99 |
+
|
| 100 |
+
\table
|
| 101 |
+
\header
|
| 102 |
+
\li Output examples with different blur values
|
| 103 |
+
\li
|
| 104 |
+
\li
|
| 105 |
+
\row
|
| 106 |
+
\li \image FastBlur_radius1.png
|
| 107 |
+
\li \image FastBlur_radius2.png
|
| 108 |
+
\li \image FastBlur_radius3.png
|
| 109 |
+
\row
|
| 110 |
+
\li \b { radius: 0 }
|
| 111 |
+
\li \b { radius: 32 }
|
| 112 |
+
\li \b { radius: 64 }
|
| 113 |
+
\endtable
|
| 114 |
+
*/
|
| 115 |
+
property real radius: 0.0
|
| 116 |
+
|
| 117 |
+
/*!
|
| 118 |
+
This property defines the blur behavior near the edges of the item,
|
| 119 |
+
where the pixel blurring is affected by the pixels outside the source
|
| 120 |
+
edges.
|
| 121 |
+
|
| 122 |
+
If the property is set to \c true, the pixels outside the source are
|
| 123 |
+
interpreted to be transparent, which is similar to OpenGL
|
| 124 |
+
clamp-to-border extension. The blur is expanded slightly outside the
|
| 125 |
+
effect item area.
|
| 126 |
+
|
| 127 |
+
If the property is set to \c false, the pixels outside the source are
|
| 128 |
+
interpreted to contain the same color as the pixels at the edge of the
|
| 129 |
+
item, which is similar to OpenGL clamp-to-edge behavior. The blur does
|
| 130 |
+
not expand outside the effect item area.
|
| 131 |
+
|
| 132 |
+
By default, the property is set to \c false.
|
| 133 |
+
|
| 134 |
+
\table
|
| 135 |
+
\header
|
| 136 |
+
\li Output examples with different transparentBorder values
|
| 137 |
+
\li
|
| 138 |
+
\li
|
| 139 |
+
\row
|
| 140 |
+
\li \image FastBlur_transparentBorder1.png
|
| 141 |
+
\li \image FastBlur_transparentBorder2.png
|
| 142 |
+
\row
|
| 143 |
+
\li \b { transparentBorder: false }
|
| 144 |
+
\li \b { transparentBorder: true }
|
| 145 |
+
\row
|
| 146 |
+
\li \l radius: 64
|
| 147 |
+
\li \l radius: 64
|
| 148 |
+
\endtable
|
| 149 |
+
*/
|
| 150 |
+
property bool transparentBorder: false
|
| 151 |
+
|
| 152 |
+
/*!
|
| 153 |
+
This property allows the effect output pixels to be cached in order to
|
| 154 |
+
improve the rendering performance.
|
| 155 |
+
|
| 156 |
+
Every time the source or effect properties are changed, the pixels in
|
| 157 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 158 |
+
extra buffer of memory is required for storing the effect output.
|
| 159 |
+
|
| 160 |
+
It is recommended to disable the cache when the source or the effect
|
| 161 |
+
properties are animated.
|
| 162 |
+
|
| 163 |
+
By default, the property is set to \c false.
|
| 164 |
+
|
| 165 |
+
*/
|
| 166 |
+
property bool cached: false
|
| 167 |
+
|
| 168 |
+
SourceProxy {
|
| 169 |
+
id: sourceProxy
|
| 170 |
+
input: rootItem.source
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
ShaderEffectSource {
|
| 174 |
+
id: cacheItem
|
| 175 |
+
anchors.fill: shaderItem
|
| 176 |
+
visible: rootItem.cached
|
| 177 |
+
sourceItem: shaderItem
|
| 178 |
+
live: true
|
| 179 |
+
hideSource: visible
|
| 180 |
+
smooth: rootItem.radius > 0
|
| 181 |
+
}
|
| 182 |
+
|
| 183 |
+
/*! \internal */
|
| 184 |
+
property string __internalBlurVertexShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/fastblur_internal.vert.qsb"
|
| 185 |
+
|
| 186 |
+
/*! \internal */
|
| 187 |
+
property string __internalBlurFragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/fastblur_internal.frag.qsb"
|
| 188 |
+
|
| 189 |
+
ShaderEffect {
|
| 190 |
+
id: level0
|
| 191 |
+
property variant source: sourceProxy.output
|
| 192 |
+
anchors.fill: parent
|
| 193 |
+
visible: false
|
| 194 |
+
smooth: true
|
| 195 |
+
}
|
| 196 |
+
|
| 197 |
+
ShaderEffectSource {
|
| 198 |
+
id: level1
|
| 199 |
+
width: Math.ceil(shaderItem.width / 32) * 32
|
| 200 |
+
height: Math.ceil(shaderItem.height / 32) * 32
|
| 201 |
+
sourceItem: level0
|
| 202 |
+
hideSource: rootItem.visible
|
| 203 |
+
sourceRect: transparentBorder ? Qt.rect(-64, -64, shaderItem.width, shaderItem.height) : Qt.rect(0, 0, 0, 0)
|
| 204 |
+
visible: false
|
| 205 |
+
smooth: rootItem.radius > 0
|
| 206 |
+
}
|
| 207 |
+
|
| 208 |
+
ShaderEffect {
|
| 209 |
+
id: effect1
|
| 210 |
+
property variant source: level1
|
| 211 |
+
property real yStep: 1/height
|
| 212 |
+
property real xStep: 1/width
|
| 213 |
+
anchors.fill: level2
|
| 214 |
+
visible: false
|
| 215 |
+
smooth: true
|
| 216 |
+
vertexShader: __internalBlurVertexShader
|
| 217 |
+
fragmentShader: __internalBlurFragmentShader
|
| 218 |
+
}
|
| 219 |
+
|
| 220 |
+
ShaderEffectSource {
|
| 221 |
+
id: level2
|
| 222 |
+
width: level1.width / 2
|
| 223 |
+
height: level1.height / 2
|
| 224 |
+
sourceItem: effect1
|
| 225 |
+
hideSource: rootItem.visible
|
| 226 |
+
visible: false
|
| 227 |
+
smooth: true
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
ShaderEffect {
|
| 231 |
+
id: effect2
|
| 232 |
+
property variant source: level2
|
| 233 |
+
property real yStep: 1/height
|
| 234 |
+
property real xStep: 1/width
|
| 235 |
+
anchors.fill: level3
|
| 236 |
+
visible: false
|
| 237 |
+
smooth: true
|
| 238 |
+
vertexShader: __internalBlurVertexShader
|
| 239 |
+
fragmentShader: __internalBlurFragmentShader
|
| 240 |
+
}
|
| 241 |
+
|
| 242 |
+
ShaderEffectSource {
|
| 243 |
+
id: level3
|
| 244 |
+
width: level2.width / 2
|
| 245 |
+
height: level2.height / 2
|
| 246 |
+
sourceItem: effect2
|
| 247 |
+
hideSource: rootItem.visible
|
| 248 |
+
visible: false
|
| 249 |
+
smooth: true
|
| 250 |
+
}
|
| 251 |
+
|
| 252 |
+
ShaderEffect {
|
| 253 |
+
id: effect3
|
| 254 |
+
property variant source: level3
|
| 255 |
+
property real yStep: 1/height
|
| 256 |
+
property real xStep: 1/width
|
| 257 |
+
anchors.fill: level4
|
| 258 |
+
visible: false
|
| 259 |
+
smooth: true
|
| 260 |
+
vertexShader: __internalBlurVertexShader
|
| 261 |
+
fragmentShader: __internalBlurFragmentShader
|
| 262 |
+
}
|
| 263 |
+
|
| 264 |
+
ShaderEffectSource {
|
| 265 |
+
id: level4
|
| 266 |
+
width: level3.width / 2
|
| 267 |
+
height: level3.height / 2
|
| 268 |
+
sourceItem: effect3
|
| 269 |
+
hideSource: rootItem.visible
|
| 270 |
+
visible: false
|
| 271 |
+
smooth: true
|
| 272 |
+
}
|
| 273 |
+
|
| 274 |
+
ShaderEffect {
|
| 275 |
+
id: effect4
|
| 276 |
+
property variant source: level4
|
| 277 |
+
property real yStep: 1/height
|
| 278 |
+
property real xStep: 1/width
|
| 279 |
+
anchors.fill: level5
|
| 280 |
+
visible: false
|
| 281 |
+
smooth: true
|
| 282 |
+
vertexShader: __internalBlurVertexShader
|
| 283 |
+
fragmentShader: __internalBlurFragmentShader
|
| 284 |
+
}
|
| 285 |
+
|
| 286 |
+
ShaderEffectSource {
|
| 287 |
+
id: level5
|
| 288 |
+
width: level4.width / 2
|
| 289 |
+
height: level4.height / 2
|
| 290 |
+
sourceItem: effect4
|
| 291 |
+
hideSource: rootItem.visible
|
| 292 |
+
visible: false
|
| 293 |
+
smooth: true
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
ShaderEffect {
|
| 297 |
+
id: effect5
|
| 298 |
+
property variant source: level5
|
| 299 |
+
property real yStep: 1/height
|
| 300 |
+
property real xStep: 1/width
|
| 301 |
+
anchors.fill: level6
|
| 302 |
+
visible: false
|
| 303 |
+
smooth: true
|
| 304 |
+
vertexShader: __internalBlurVertexShader
|
| 305 |
+
fragmentShader: __internalBlurFragmentShader
|
| 306 |
+
}
|
| 307 |
+
|
| 308 |
+
ShaderEffectSource {
|
| 309 |
+
id: level6
|
| 310 |
+
width: level5.width / 2
|
| 311 |
+
height: level5.height / 2
|
| 312 |
+
sourceItem: effect5
|
| 313 |
+
hideSource: rootItem.visible
|
| 314 |
+
visible: false
|
| 315 |
+
smooth: true
|
| 316 |
+
}
|
| 317 |
+
|
| 318 |
+
Item {
|
| 319 |
+
id: dummysource
|
| 320 |
+
width: 1
|
| 321 |
+
height: 1
|
| 322 |
+
visible: false
|
| 323 |
+
}
|
| 324 |
+
|
| 325 |
+
ShaderEffectSource {
|
| 326 |
+
id: dummy
|
| 327 |
+
width: 1
|
| 328 |
+
height: 1
|
| 329 |
+
sourceItem: dummysource
|
| 330 |
+
visible: false
|
| 331 |
+
smooth: false
|
| 332 |
+
live: false
|
| 333 |
+
}
|
| 334 |
+
|
| 335 |
+
ShaderEffect {
|
| 336 |
+
id: shaderItem
|
| 337 |
+
|
| 338 |
+
property variant source1: level1
|
| 339 |
+
property variant source2: level2
|
| 340 |
+
property variant source3: level3
|
| 341 |
+
property variant source4: level4
|
| 342 |
+
property variant source5: level5
|
| 343 |
+
property variant source6: level6
|
| 344 |
+
property real lod: Math.sqrt(rootItem.radius / 64.0) * 1.2 - 0.2
|
| 345 |
+
property real weight1
|
| 346 |
+
property real weight2
|
| 347 |
+
property real weight3
|
| 348 |
+
property real weight4
|
| 349 |
+
property real weight5
|
| 350 |
+
property real weight6
|
| 351 |
+
|
| 352 |
+
x: transparentBorder ? -64 : 0
|
| 353 |
+
y: transparentBorder ? -64 : 0
|
| 354 |
+
width: transparentBorder ? parent.width + 128 : parent.width
|
| 355 |
+
height: transparentBorder ? parent.height + 128 : parent.height
|
| 356 |
+
|
| 357 |
+
function weight(v) {
|
| 358 |
+
if (v <= 0.0)
|
| 359 |
+
return 1.0
|
| 360 |
+
if (v >= 0.5)
|
| 361 |
+
return 0.0
|
| 362 |
+
|
| 363 |
+
return 1.0 - v * 2.0
|
| 364 |
+
}
|
| 365 |
+
|
| 366 |
+
function calculateWeights() {
|
| 367 |
+
|
| 368 |
+
var w1 = weight(Math.abs(lod - 0.100))
|
| 369 |
+
var w2 = weight(Math.abs(lod - 0.300))
|
| 370 |
+
var w3 = weight(Math.abs(lod - 0.500))
|
| 371 |
+
var w4 = weight(Math.abs(lod - 0.700))
|
| 372 |
+
var w5 = weight(Math.abs(lod - 0.900))
|
| 373 |
+
var w6 = weight(Math.abs(lod - 1.100))
|
| 374 |
+
|
| 375 |
+
var sum = w1 + w2 + w3 + w4 + w5 + w6;
|
| 376 |
+
weight1 = w1 / sum;
|
| 377 |
+
weight2 = w2 / sum;
|
| 378 |
+
weight3 = w3 / sum;
|
| 379 |
+
weight4 = w4 / sum;
|
| 380 |
+
weight5 = w5 / sum;
|
| 381 |
+
weight6 = w6 / sum;
|
| 382 |
+
|
| 383 |
+
upateSources()
|
| 384 |
+
}
|
| 385 |
+
|
| 386 |
+
function upateSources() {
|
| 387 |
+
var sources = new Array();
|
| 388 |
+
var weights = new Array();
|
| 389 |
+
|
| 390 |
+
if (weight1 > 0) {
|
| 391 |
+
sources.push(level1)
|
| 392 |
+
weights.push(weight1)
|
| 393 |
+
}
|
| 394 |
+
|
| 395 |
+
if (weight2 > 0) {
|
| 396 |
+
sources.push(level2)
|
| 397 |
+
weights.push(weight2)
|
| 398 |
+
}
|
| 399 |
+
|
| 400 |
+
if (weight3 > 0) {
|
| 401 |
+
sources.push(level3)
|
| 402 |
+
weights.push(weight3)
|
| 403 |
+
}
|
| 404 |
+
|
| 405 |
+
if (weight4 > 0) {
|
| 406 |
+
sources.push(level4)
|
| 407 |
+
weights.push(weight4)
|
| 408 |
+
}
|
| 409 |
+
|
| 410 |
+
if (weight5 > 0) {
|
| 411 |
+
sources.push(level5)
|
| 412 |
+
weights.push(weight5)
|
| 413 |
+
}
|
| 414 |
+
|
| 415 |
+
if (weight6 > 0) {
|
| 416 |
+
sources.push(level6)
|
| 417 |
+
weights.push(weight6)
|
| 418 |
+
}
|
| 419 |
+
|
| 420 |
+
for (var j = sources.length; j < 6; j++) {
|
| 421 |
+
sources.push(dummy)
|
| 422 |
+
weights.push(0.0)
|
| 423 |
+
}
|
| 424 |
+
|
| 425 |
+
source1 = sources[0]
|
| 426 |
+
source2 = sources[1]
|
| 427 |
+
source3 = sources[2]
|
| 428 |
+
source4 = sources[3]
|
| 429 |
+
source5 = sources[4]
|
| 430 |
+
source6 = sources[5]
|
| 431 |
+
|
| 432 |
+
weight1 = weights[0]
|
| 433 |
+
weight2 = weights[1]
|
| 434 |
+
weight3 = weights[2]
|
| 435 |
+
weight4 = weights[3]
|
| 436 |
+
weight5 = weights[4]
|
| 437 |
+
weight6 = weights[5]
|
| 438 |
+
}
|
| 439 |
+
|
| 440 |
+
Component.onCompleted: calculateWeights()
|
| 441 |
+
|
| 442 |
+
onLodChanged: calculateWeights()
|
| 443 |
+
|
| 444 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/fastblur.frag.qsb"
|
| 445 |
+
}
|
| 446 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/GammaAdjust.qml
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype GammaAdjust
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Alters the luminance of the source item.
|
| 61 |
+
|
| 62 |
+
GammaAdjust is applied to each pixel according to the curve which is
|
| 63 |
+
pre-defined as a power-law expression, where the property gamma is used as the
|
| 64 |
+
reciprocal scaling exponent. Refer to the property documentation of \l{GammaAdjust::gamma}{gamma}
|
| 65 |
+
for more details.
|
| 66 |
+
|
| 67 |
+
\table
|
| 68 |
+
\header
|
| 69 |
+
\li Source
|
| 70 |
+
\li Effect applied
|
| 71 |
+
\row
|
| 72 |
+
\li \image Original_bug.png
|
| 73 |
+
\li \image GammaAdjust_bug.png
|
| 74 |
+
\endtable
|
| 75 |
+
|
| 76 |
+
\section1 Example
|
| 77 |
+
|
| 78 |
+
The following example shows how to apply the effect.
|
| 79 |
+
\snippet GammaAdjust-example.qml example
|
| 80 |
+
|
| 81 |
+
*/
|
| 82 |
+
Item {
|
| 83 |
+
id: rootItem
|
| 84 |
+
|
| 85 |
+
/*!
|
| 86 |
+
This property defines the source item for which the luminance is going to be
|
| 87 |
+
adjusted.
|
| 88 |
+
|
| 89 |
+
\note It is not supported to let the effect include itself, for
|
| 90 |
+
instance by setting source to the effect's parent.
|
| 91 |
+
*/
|
| 92 |
+
property variant source
|
| 93 |
+
|
| 94 |
+
/*!
|
| 95 |
+
This property defines the change factor for how the luminance of each pixel
|
| 96 |
+
is altered according to the equation:
|
| 97 |
+
|
| 98 |
+
\code
|
| 99 |
+
luminance = pow(original_luminance, 1.0 / gamma); // The luminance is assumed to be between 0.0 and 1.0
|
| 100 |
+
\endcode
|
| 101 |
+
|
| 102 |
+
Setting the gamma values under 1.0 makes the image darker, the values
|
| 103 |
+
above 1.0 lighten it.
|
| 104 |
+
|
| 105 |
+
The value ranges from 0.0 (darkest) to inf (lightest). By default, the
|
| 106 |
+
property is set to \c 1.0 (no change).
|
| 107 |
+
|
| 108 |
+
\table
|
| 109 |
+
\header
|
| 110 |
+
\li Output examples with different gamma values
|
| 111 |
+
\li
|
| 112 |
+
\li
|
| 113 |
+
\row
|
| 114 |
+
\li \image GammaAdjust_gamma1.png
|
| 115 |
+
\li \image GammaAdjust_gamma2.png
|
| 116 |
+
\li \image GammaAdjust_gamma3.png
|
| 117 |
+
\row
|
| 118 |
+
\li \b { gamma: 0.5 }
|
| 119 |
+
\li \b { gamma: 1.0 }
|
| 120 |
+
\li \b { gamma: 2.0 }
|
| 121 |
+
\endtable
|
| 122 |
+
|
| 123 |
+
\table
|
| 124 |
+
\header
|
| 125 |
+
\li Pixel luminance curves of the above images.
|
| 126 |
+
\li
|
| 127 |
+
\li
|
| 128 |
+
\row
|
| 129 |
+
\li \image GammaAdjust_gamma1_graph.png
|
| 130 |
+
\li \image GammaAdjust_gamma2_graph.png
|
| 131 |
+
\li \image GammaAdjust_gamma3_graph.png
|
| 132 |
+
\row
|
| 133 |
+
\li Red curve: default gamma (1.0)
|
| 134 |
+
\li
|
| 135 |
+
\li
|
| 136 |
+
\row
|
| 137 |
+
\li Yellow curve: effect applied
|
| 138 |
+
\li
|
| 139 |
+
\li
|
| 140 |
+
\row
|
| 141 |
+
\li X-axis: pixel original luminance
|
| 142 |
+
\li
|
| 143 |
+
\li
|
| 144 |
+
\row
|
| 145 |
+
\li Y-axis: pixel luminance with effect applied
|
| 146 |
+
\li
|
| 147 |
+
\li
|
| 148 |
+
\endtable
|
| 149 |
+
|
| 150 |
+
*/
|
| 151 |
+
property real gamma: 1.0
|
| 152 |
+
|
| 153 |
+
/*!
|
| 154 |
+
This property allows the effect output pixels to be cached in order to
|
| 155 |
+
improve the rendering performance.
|
| 156 |
+
|
| 157 |
+
Every time the source or effect properties are changed, the pixels in
|
| 158 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 159 |
+
extra buffer of memory is required for storing the effect output.
|
| 160 |
+
|
| 161 |
+
It is recommended to disable the cache when the source or the effect
|
| 162 |
+
properties are animated.
|
| 163 |
+
|
| 164 |
+
By default, the property is set to \c false.
|
| 165 |
+
*/
|
| 166 |
+
property bool cached: false
|
| 167 |
+
|
| 168 |
+
SourceProxy {
|
| 169 |
+
id: sourceProxy
|
| 170 |
+
input: rootItem.source
|
| 171 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
ShaderEffectSource {
|
| 175 |
+
id: cacheItem
|
| 176 |
+
anchors.fill: parent
|
| 177 |
+
visible: rootItem.cached
|
| 178 |
+
smooth: true
|
| 179 |
+
sourceItem: shaderItem
|
| 180 |
+
live: true
|
| 181 |
+
hideSource: visible
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
ShaderEffect {
|
| 185 |
+
id: shaderItem
|
| 186 |
+
property variant source: sourceProxy.output
|
| 187 |
+
property real gamma: 1.0 / Math.max(rootItem.gamma, 0.0001)
|
| 188 |
+
|
| 189 |
+
anchors.fill: parent
|
| 190 |
+
|
| 191 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/gammaadjust.frag.qsb"
|
| 192 |
+
}
|
| 193 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/Glow.qml
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Copyright (C) 2017 Jolla Ltd, author: <gunnar.sletta@jollamobile.com>
|
| 5 |
+
** Contact: https://www.qt.io/licensing/
|
| 6 |
+
**
|
| 7 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 8 |
+
**
|
| 9 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 10 |
+
** Commercial License Usage
|
| 11 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 12 |
+
** accordance with the commercial license agreement provided with the
|
| 13 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 14 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 15 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 16 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 17 |
+
**
|
| 18 |
+
** BSD License Usage
|
| 19 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 20 |
+
** as follows:
|
| 21 |
+
**
|
| 22 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 23 |
+
** modification, are permitted provided that the following conditions are
|
| 24 |
+
** met:
|
| 25 |
+
** * Redistributions of source code must retain the above copyright
|
| 26 |
+
** notice, this list of conditions and the following disclaimer.
|
| 27 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 28 |
+
** notice, this list of conditions and the following disclaimer in
|
| 29 |
+
** the documentation and/or other materials provided with the
|
| 30 |
+
** distribution.
|
| 31 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 32 |
+
** contributors may be used to endorse or promote products derived
|
| 33 |
+
** from this software without specific prior written permission.
|
| 34 |
+
**
|
| 35 |
+
**
|
| 36 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 37 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 38 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 39 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 40 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 41 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 42 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 43 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 44 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 45 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 46 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 47 |
+
**
|
| 48 |
+
** $QT_END_LICENSE$
|
| 49 |
+
**
|
| 50 |
+
****************************************************************************/
|
| 51 |
+
|
| 52 |
+
import QtQuick
|
| 53 |
+
import Qt5Compat.GraphicalEffects.private
|
| 54 |
+
|
| 55 |
+
/*!
|
| 56 |
+
\qmltype Glow
|
| 57 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 58 |
+
\since QtGraphicalEffects 1.0
|
| 59 |
+
\inherits QtQuick2::Item
|
| 60 |
+
\ingroup qtgraphicaleffects-glow
|
| 61 |
+
\brief Generates a blurred and colorized image of the source and places it
|
| 62 |
+
behind the original, giving impression that the source is glowing.
|
| 63 |
+
|
| 64 |
+
\table
|
| 65 |
+
\header
|
| 66 |
+
\li Source
|
| 67 |
+
\li Effect applied
|
| 68 |
+
\row
|
| 69 |
+
\li \image Original_butterfly_black.png
|
| 70 |
+
\li \image Glow_butterfly.png
|
| 71 |
+
\endtable
|
| 72 |
+
|
| 73 |
+
\section1 Example
|
| 74 |
+
|
| 75 |
+
The following example shows how to apply the effect.
|
| 76 |
+
\snippet Glow-example.qml example
|
| 77 |
+
|
| 78 |
+
*/
|
| 79 |
+
Item {
|
| 80 |
+
id: rootItem
|
| 81 |
+
|
| 82 |
+
/*!
|
| 83 |
+
This property defines the source item that is going to be used as source
|
| 84 |
+
for the generated glow.
|
| 85 |
+
|
| 86 |
+
\note It is not supported to let the effect include itself, for
|
| 87 |
+
instance by setting source to the effect's parent.
|
| 88 |
+
*/
|
| 89 |
+
property variant source
|
| 90 |
+
|
| 91 |
+
/*!
|
| 92 |
+
Radius defines the softness of the glow. A larger radius causes the
|
| 93 |
+
edges of the glow to appear more blurry.
|
| 94 |
+
|
| 95 |
+
The value ranges from 0.0 (no blur) to inf. By default, the property is
|
| 96 |
+
set to \c 0.0 (no blur).
|
| 97 |
+
|
| 98 |
+
\table
|
| 99 |
+
\header
|
| 100 |
+
\li Output examples with different radius values
|
| 101 |
+
\li
|
| 102 |
+
\li
|
| 103 |
+
\row
|
| 104 |
+
\li \image Glow_radius1.png
|
| 105 |
+
\li \image Glow_radius2.png
|
| 106 |
+
\li \image Glow_radius3.png
|
| 107 |
+
\row
|
| 108 |
+
\li \b { radius: 0 }
|
| 109 |
+
\li \b { radius: 6 }
|
| 110 |
+
\li \b { radius: 12 }
|
| 111 |
+
\row
|
| 112 |
+
\li \l color: #ffffff
|
| 113 |
+
\li \l color: #ffffff
|
| 114 |
+
\li \l color: #ffffff
|
| 115 |
+
\row
|
| 116 |
+
\li \l spread: 0
|
| 117 |
+
\li \l spread: 0
|
| 118 |
+
\li \l spread: 0
|
| 119 |
+
\endtable
|
| 120 |
+
*/
|
| 121 |
+
property real radius: 0.0
|
| 122 |
+
|
| 123 |
+
/*!
|
| 124 |
+
This property defines how large part of the glow color is strenghtened
|
| 125 |
+
near the source edges.
|
| 126 |
+
|
| 127 |
+
The values range from 0.0 to 1.0. By default, the property is set to \c
|
| 128 |
+
0.5.
|
| 129 |
+
|
| 130 |
+
\table
|
| 131 |
+
\header
|
| 132 |
+
\li Output examples with different spread values
|
| 133 |
+
\li
|
| 134 |
+
\li
|
| 135 |
+
\row
|
| 136 |
+
\li \image Glow_spread1.png
|
| 137 |
+
\li \image Glow_spread2.png
|
| 138 |
+
\li \image Glow_spread3.png
|
| 139 |
+
\row
|
| 140 |
+
\li \b { spread: 0.0 }
|
| 141 |
+
\li \b { spread: 0.5 }
|
| 142 |
+
\li \b { spread: 1.0 }
|
| 143 |
+
\row
|
| 144 |
+
\li \l radius: 8
|
| 145 |
+
\li \l radius: 8
|
| 146 |
+
\li \l radius: 8
|
| 147 |
+
\row
|
| 148 |
+
\li \l color: #ffffff
|
| 149 |
+
\li \l color: #ffffff
|
| 150 |
+
\li \l color: #ffffff
|
| 151 |
+
\endtable
|
| 152 |
+
*/
|
| 153 |
+
property real spread: 0.0
|
| 154 |
+
|
| 155 |
+
/*!
|
| 156 |
+
This property defines the RGBA color value which is used for the glow.
|
| 157 |
+
|
| 158 |
+
By default, the property is set to \c "white".
|
| 159 |
+
|
| 160 |
+
\table
|
| 161 |
+
\header
|
| 162 |
+
\li Output examples with different color values
|
| 163 |
+
\li
|
| 164 |
+
\li
|
| 165 |
+
\row
|
| 166 |
+
\li \image Glow_color1.png
|
| 167 |
+
\li \image Glow_color2.png
|
| 168 |
+
\li \image Glow_color3.png
|
| 169 |
+
\row
|
| 170 |
+
\li \b { color: #ffffff }
|
| 171 |
+
\li \b { color: #00ff00 }
|
| 172 |
+
\li \b { color: #aa00ff00 }
|
| 173 |
+
\row
|
| 174 |
+
\li \l radius: 8
|
| 175 |
+
\li \l radius: 8
|
| 176 |
+
\li \l radius: 8
|
| 177 |
+
\row
|
| 178 |
+
\li \l spread: 0.5
|
| 179 |
+
\li \l spread: 0.5
|
| 180 |
+
\li \l spread: 0.5
|
| 181 |
+
\endtable
|
| 182 |
+
|
| 183 |
+
*/
|
| 184 |
+
property color color: "white"
|
| 185 |
+
|
| 186 |
+
/*!
|
| 187 |
+
This property allows the effect output pixels to be cached in order to
|
| 188 |
+
improve the rendering performance.
|
| 189 |
+
|
| 190 |
+
Every time the source or effect properties are changed, the pixels in
|
| 191 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 192 |
+
extra buffer of memory is required for storing the effect output.
|
| 193 |
+
|
| 194 |
+
It is recommended to disable the cache when the source or the effect
|
| 195 |
+
properties are animated.
|
| 196 |
+
|
| 197 |
+
By default, the property is set to \c false.
|
| 198 |
+
|
| 199 |
+
*/
|
| 200 |
+
property bool cached: false
|
| 201 |
+
|
| 202 |
+
/*!
|
| 203 |
+
This property determines whether or not the effect has a transparent
|
| 204 |
+
border.
|
| 205 |
+
|
| 206 |
+
When set to \c true, the exterior of the item is padded with a 1 pixel
|
| 207 |
+
wide transparent edge, making sampling outside the source texture use
|
| 208 |
+
transparency instead of the edge pixels. Without this property, an
|
| 209 |
+
image which has opaque edges will not get a blurred edge.
|
| 210 |
+
|
| 211 |
+
In the snippet below, the Rectangle on the left has transparent borders
|
| 212 |
+
and has blurred edges, whereas the Rectangle on the right does not.
|
| 213 |
+
|
| 214 |
+
\snippet Glow-transparentBorder-example.qml example
|
| 215 |
+
|
| 216 |
+
\image Glow-transparentBorder.png
|
| 217 |
+
*/
|
| 218 |
+
property bool transparentBorder: false
|
| 219 |
+
|
| 220 |
+
Loader {
|
| 221 |
+
anchors.fill: parent
|
| 222 |
+
sourceComponent: fastGlow
|
| 223 |
+
}
|
| 224 |
+
|
| 225 |
+
Component {
|
| 226 |
+
id: fastGlow
|
| 227 |
+
FastGlow {
|
| 228 |
+
anchors.fill: parent
|
| 229 |
+
source: sourceProxy.output
|
| 230 |
+
blur: Math.pow(rootItem.radius / 64.0, 0.4)
|
| 231 |
+
color: rootItem.color
|
| 232 |
+
cached: rootItem.cached
|
| 233 |
+
spread: rootItem.spread
|
| 234 |
+
transparentBorder: rootItem.transparentBorder
|
| 235 |
+
}
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
SourceProxy {
|
| 239 |
+
id: sourceProxy
|
| 240 |
+
input: rootItem.source
|
| 241 |
+
sourceRect: rootItem.transparentBorder ? Qt.rect(-1, -1, parent.width + 2.0, parent.height + 2.0) : Qt.rect(0, 0, 0, 0)
|
| 242 |
+
}
|
| 243 |
+
ShaderEffect {
|
| 244 |
+
anchors.fill: parent
|
| 245 |
+
property variant source: sourceProxy.output
|
| 246 |
+
}
|
| 247 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/HueSaturation.qml
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype HueSaturation
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Alters the source item colors in the HSL color space.
|
| 61 |
+
|
| 62 |
+
HueSaturation is similar to the \l Colorize effect, but the hue and
|
| 63 |
+
saturation property values are handled differently. The HueSaturation effect
|
| 64 |
+
always shifts the hue, saturation, and lightness from the original, instead
|
| 65 |
+
of setting them.
|
| 66 |
+
|
| 67 |
+
\table
|
| 68 |
+
\header
|
| 69 |
+
\li Source
|
| 70 |
+
\li Effect applied
|
| 71 |
+
\row
|
| 72 |
+
\li \image Original_bug.png
|
| 73 |
+
\li \image HueSaturation_bug.png
|
| 74 |
+
\endtable
|
| 75 |
+
|
| 76 |
+
\section1 Example
|
| 77 |
+
|
| 78 |
+
The following example shows how to apply the effect.
|
| 79 |
+
\snippet HueSaturation-example.qml example
|
| 80 |
+
|
| 81 |
+
*/
|
| 82 |
+
Item {
|
| 83 |
+
id: rootItem
|
| 84 |
+
|
| 85 |
+
/*!
|
| 86 |
+
This property defines the source item that provides the source pixels
|
| 87 |
+
for the effect.
|
| 88 |
+
|
| 89 |
+
\note It is not supported to let the effect include itself, for
|
| 90 |
+
instance by setting source to the effect's parent.
|
| 91 |
+
*/
|
| 92 |
+
property variant source: 0
|
| 93 |
+
|
| 94 |
+
/*!
|
| 95 |
+
This property defines the hue value which is added to the source hue
|
| 96 |
+
value.
|
| 97 |
+
|
| 98 |
+
The value ranges from -1.0 (decrease) to 1.0 (increase). By default, the
|
| 99 |
+
property is set to \c 0.0 (no change).
|
| 100 |
+
|
| 101 |
+
\table
|
| 102 |
+
\header
|
| 103 |
+
\li Output examples with different hue values
|
| 104 |
+
\li
|
| 105 |
+
\li
|
| 106 |
+
\row
|
| 107 |
+
\li \image HueSaturation_hue1.png
|
| 108 |
+
\li \image HueSaturation_hue2.png
|
| 109 |
+
\li \image HueSaturation_hue3.png
|
| 110 |
+
\row
|
| 111 |
+
\li \b { hue: -0.3 }
|
| 112 |
+
\li \b { hue: 0.0 }
|
| 113 |
+
\li \b { hue: 0.3 }
|
| 114 |
+
\row
|
| 115 |
+
\li \l saturation: 0
|
| 116 |
+
\li \l saturation: 0
|
| 117 |
+
\li \l saturation: 0
|
| 118 |
+
\row
|
| 119 |
+
\li \l lightness: 0
|
| 120 |
+
\li \l lightness: 0
|
| 121 |
+
\li \l lightness: 0
|
| 122 |
+
\endtable
|
| 123 |
+
|
| 124 |
+
*/
|
| 125 |
+
property real hue: 0.0
|
| 126 |
+
|
| 127 |
+
/*!
|
| 128 |
+
This property defines the saturation value value which is added to the
|
| 129 |
+
source saturation value.
|
| 130 |
+
|
| 131 |
+
The value ranges from -1.0 (decrease) to 1.0 (increase). By default, the
|
| 132 |
+
property is set to \c 0.0 (no change).
|
| 133 |
+
|
| 134 |
+
\table
|
| 135 |
+
\header
|
| 136 |
+
\li Output examples with different saturation values
|
| 137 |
+
\li
|
| 138 |
+
\li
|
| 139 |
+
\row
|
| 140 |
+
\li \image HueSaturation_saturation1.png
|
| 141 |
+
\li \image HueSaturation_saturation2.png
|
| 142 |
+
\li \image HueSaturation_saturation3.png
|
| 143 |
+
\row
|
| 144 |
+
\li \b { saturation: -0.8 }
|
| 145 |
+
\li \b { saturation: 0.0 }
|
| 146 |
+
\li \b { saturation: 1.0 }
|
| 147 |
+
\row
|
| 148 |
+
\li \l hue: 0
|
| 149 |
+
\li \l hue: 0
|
| 150 |
+
\li \l hue: 0
|
| 151 |
+
\row
|
| 152 |
+
\li \l lightness: 0
|
| 153 |
+
\li \l lightness: 0
|
| 154 |
+
\li \l lightness: 0
|
| 155 |
+
\endtable
|
| 156 |
+
|
| 157 |
+
*/
|
| 158 |
+
property real saturation: 0.0
|
| 159 |
+
|
| 160 |
+
/*!
|
| 161 |
+
This property defines the lightness value which is added to the source
|
| 162 |
+
saturation value.
|
| 163 |
+
|
| 164 |
+
The value ranges from -1.0 (decrease) to 1.0 (increase). By default, the
|
| 165 |
+
property is set to \c 0.0 (no change).
|
| 166 |
+
|
| 167 |
+
\table
|
| 168 |
+
\header
|
| 169 |
+
\li Output examples with different lightness values
|
| 170 |
+
\li
|
| 171 |
+
\li
|
| 172 |
+
\row
|
| 173 |
+
\li \image HueSaturation_lightness1.png
|
| 174 |
+
\li \image HueSaturation_lightness2.png
|
| 175 |
+
\li \image HueSaturation_lightness3.png
|
| 176 |
+
\row
|
| 177 |
+
\li \b { lightness: -0.5 }
|
| 178 |
+
\li \b { lightness: 0.0 }
|
| 179 |
+
\li \b { lightness: 0.5 }
|
| 180 |
+
\row
|
| 181 |
+
\li \l hue: 0
|
| 182 |
+
\li \l hue: 0
|
| 183 |
+
\li \l hue: 0
|
| 184 |
+
\row
|
| 185 |
+
\li \l saturation: 0
|
| 186 |
+
\li \l saturation: 0
|
| 187 |
+
\li \l saturation: 0
|
| 188 |
+
\endtable
|
| 189 |
+
|
| 190 |
+
*/
|
| 191 |
+
property real lightness: 0.0
|
| 192 |
+
|
| 193 |
+
/*!
|
| 194 |
+
This property allows the effect output pixels to be cached in order to
|
| 195 |
+
improve the rendering performance.
|
| 196 |
+
|
| 197 |
+
Every time the source or effect properties are changed, the pixels in
|
| 198 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 199 |
+
extra buffer of memory is required for storing the effect output.
|
| 200 |
+
|
| 201 |
+
It is recommended to disable the cache when the source or the effect
|
| 202 |
+
properties are animated.
|
| 203 |
+
|
| 204 |
+
By default, the property is set to \c false.
|
| 205 |
+
*/
|
| 206 |
+
property bool cached: false
|
| 207 |
+
|
| 208 |
+
SourceProxy {
|
| 209 |
+
id: sourceProxy
|
| 210 |
+
input: rootItem.source
|
| 211 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 212 |
+
}
|
| 213 |
+
|
| 214 |
+
ShaderEffectSource {
|
| 215 |
+
id: cacheItem
|
| 216 |
+
anchors.fill: parent
|
| 217 |
+
visible: rootItem.cached
|
| 218 |
+
smooth: true
|
| 219 |
+
sourceItem: shaderItem
|
| 220 |
+
live: true
|
| 221 |
+
hideSource: visible
|
| 222 |
+
}
|
| 223 |
+
|
| 224 |
+
ShaderEffect {
|
| 225 |
+
id: shaderItem
|
| 226 |
+
property variant source: sourceProxy.output
|
| 227 |
+
property variant hsl: Qt.vector3d(rootItem.hue, rootItem.saturation, rootItem.lightness)
|
| 228 |
+
|
| 229 |
+
anchors.fill: parent
|
| 230 |
+
|
| 231 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/huesaturation.frag.qsb"
|
| 232 |
+
}
|
| 233 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/LevelAdjust.qml
ADDED
|
@@ -0,0 +1,449 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype LevelAdjust
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-color
|
| 60 |
+
\brief Adjusts color levels in the RGBA color space.
|
| 61 |
+
|
| 62 |
+
This effect adjusts the source item colors separately for each color
|
| 63 |
+
channel. Source item contrast can be adjusted and color balance altered.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Source
|
| 68 |
+
\li Effect applied
|
| 69 |
+
\row
|
| 70 |
+
\li \image Original_butterfly.png
|
| 71 |
+
\li \image LevelAdjust_butterfly.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet LevelAdjust-example.qml example
|
| 78 |
+
|
| 79 |
+
*/
|
| 80 |
+
Item {
|
| 81 |
+
id: rootItem
|
| 82 |
+
|
| 83 |
+
/*!
|
| 84 |
+
This property defines the source item that provides the source pixels
|
| 85 |
+
for the effect.
|
| 86 |
+
|
| 87 |
+
\note It is not supported to let the effect include itself, for
|
| 88 |
+
instance by setting source to the effect's parent.
|
| 89 |
+
*/
|
| 90 |
+
property variant source
|
| 91 |
+
|
| 92 |
+
/*!
|
| 93 |
+
This property defines the change factor for how the value of each pixel
|
| 94 |
+
color channel is altered according to the equation:
|
| 95 |
+
|
| 96 |
+
\code
|
| 97 |
+
result.rgb = pow(original.rgb, 1.0 / gamma.rgb);
|
| 98 |
+
\endcode
|
| 99 |
+
|
| 100 |
+
Setting the gamma values under QtVector3d(1.0, 1.0, 1.0) makes the image
|
| 101 |
+
darker, the values above QtVector3d(1.0, 1.0, 1.0) lighten it.
|
| 102 |
+
|
| 103 |
+
The value ranges from QtVector3d(0.0, 0.0, 0.0) (darkest) to inf
|
| 104 |
+
(lightest). By default, the property is set to \c QtVector3d(1.0, 1.0,
|
| 105 |
+
1.0) (no change).
|
| 106 |
+
|
| 107 |
+
\table
|
| 108 |
+
\header
|
| 109 |
+
\li Output examples with different gamma values
|
| 110 |
+
\li
|
| 111 |
+
\li
|
| 112 |
+
\row
|
| 113 |
+
\li \image LevelAdjust_gamma1.png
|
| 114 |
+
\li \image LevelAdjust_gamma2.png
|
| 115 |
+
\li \image LevelAdjust_gamma3.png
|
| 116 |
+
\row
|
| 117 |
+
\li \b { gamma: Qt.vector3d(1.0, 1.0, 1.0) }
|
| 118 |
+
\li \b { gamma: Qt.vector3d(1.0, 0.4, 2.0) }
|
| 119 |
+
\li \b { gamma: Qt.vector3d(1.0, 0.1, 4.0) }
|
| 120 |
+
\row
|
| 121 |
+
\li \l minimumInput: #000000
|
| 122 |
+
\li \l minimumInput: #000000
|
| 123 |
+
\li \l minimumInput: #000000
|
| 124 |
+
\row
|
| 125 |
+
\li \l maximumInput: #ffffff
|
| 126 |
+
\li \l maximumInput: #ffffff
|
| 127 |
+
\li \l maximumInput: #ffffff
|
| 128 |
+
\row
|
| 129 |
+
\li \l minimumOutput: #000000
|
| 130 |
+
\li \l minimumOutput: #000000
|
| 131 |
+
\li \l minimumOutput: #000000
|
| 132 |
+
\row
|
| 133 |
+
\li \l maximumOutput: #ffffff
|
| 134 |
+
\li \l maximumOutput: #ffffff
|
| 135 |
+
\li \l maximumOutput: #ffffff
|
| 136 |
+
\endtable
|
| 137 |
+
|
| 138 |
+
\table
|
| 139 |
+
\header
|
| 140 |
+
\li Pixel color channel luminance curves of the above images.
|
| 141 |
+
\li
|
| 142 |
+
\li
|
| 143 |
+
\row
|
| 144 |
+
\li \image LevelAdjust_default_curve.png
|
| 145 |
+
\li \image LevelAdjust_gamma2_curve.png
|
| 146 |
+
\li \image LevelAdjust_gamma3_curve.png
|
| 147 |
+
\row
|
| 148 |
+
\li X-axis: pixel original luminance
|
| 149 |
+
\li
|
| 150 |
+
\li
|
| 151 |
+
\row
|
| 152 |
+
\li Y-axis: color channel luminance with effect applied
|
| 153 |
+
\li
|
| 154 |
+
\li
|
| 155 |
+
\endtable
|
| 156 |
+
*/
|
| 157 |
+
property variant gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 158 |
+
|
| 159 |
+
/*!
|
| 160 |
+
This property defines the minimum input level for each color channel. It
|
| 161 |
+
sets the black-point, all pixels having lower value than this property
|
| 162 |
+
are rendered as black (per color channel). Increasing the value darkens
|
| 163 |
+
the dark areas.
|
| 164 |
+
|
| 165 |
+
The value ranges from "#00000000" to "#ffffffff". By default, the
|
| 166 |
+
property is set to \c "#00000000" (no change).
|
| 167 |
+
|
| 168 |
+
\table
|
| 169 |
+
\header
|
| 170 |
+
\li Output examples with different minimumInput values
|
| 171 |
+
\li
|
| 172 |
+
\li
|
| 173 |
+
\row
|
| 174 |
+
\li \image LevelAdjust_minimumInput1.png
|
| 175 |
+
\li \image LevelAdjust_minimumInput2.png
|
| 176 |
+
\li \image LevelAdjust_minimumInput3.png
|
| 177 |
+
\row
|
| 178 |
+
\li \b { minimumInput: #00000000 }
|
| 179 |
+
\li \b { minimumInput: #00000040 }
|
| 180 |
+
\li \b { minimumInput: #00000070 }
|
| 181 |
+
\row
|
| 182 |
+
\li \l maximumInput: #ffffff
|
| 183 |
+
\li \l maximumInput: #ffffff
|
| 184 |
+
\li \l maximumInput: #ffffff
|
| 185 |
+
\row
|
| 186 |
+
\li \l minimumOutput: #000000
|
| 187 |
+
\li \l minimumOutput: #000000
|
| 188 |
+
\li \l minimumOutput: #000000
|
| 189 |
+
\row
|
| 190 |
+
\li \l maximumOutput: #ffffff
|
| 191 |
+
\li \l maximumOutput: #ffffff
|
| 192 |
+
\li \l maximumOutput: #ffffff
|
| 193 |
+
\row
|
| 194 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 195 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 196 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 197 |
+
\endtable
|
| 198 |
+
|
| 199 |
+
\table
|
| 200 |
+
\header
|
| 201 |
+
\li Pixel color channel luminance curves of the above images.
|
| 202 |
+
\li
|
| 203 |
+
\li
|
| 204 |
+
\row
|
| 205 |
+
\li \image LevelAdjust_default_curve.png
|
| 206 |
+
\li \image LevelAdjust_minimumInput2_curve.png
|
| 207 |
+
\li \image LevelAdjust_minimumInput3_curve.png
|
| 208 |
+
\row
|
| 209 |
+
\li X-axis: pixel original luminance
|
| 210 |
+
\li
|
| 211 |
+
\li
|
| 212 |
+
\row
|
| 213 |
+
\li Y-axis: color channel luminance with effect applied
|
| 214 |
+
\li
|
| 215 |
+
\li
|
| 216 |
+
\endtable
|
| 217 |
+
|
| 218 |
+
*/
|
| 219 |
+
property color minimumInput: Qt.rgba(0.0, 0.0, 0.0, 0.0)
|
| 220 |
+
|
| 221 |
+
/*!
|
| 222 |
+
This property defines the maximum input level for each color channel.
|
| 223 |
+
It sets the white-point, all pixels having higher value than this
|
| 224 |
+
property are rendered as white (per color channel).
|
| 225 |
+
Decreasing the value lightens the light areas.
|
| 226 |
+
|
| 227 |
+
The value ranges from "#ffffffff" to "#00000000". By default, the
|
| 228 |
+
property is set to \c "#ffffffff" (no change).
|
| 229 |
+
|
| 230 |
+
\table
|
| 231 |
+
\header
|
| 232 |
+
\li Output examples with different maximumInput values
|
| 233 |
+
\li
|
| 234 |
+
\li
|
| 235 |
+
\row
|
| 236 |
+
\li \image LevelAdjust_maximumInput1.png
|
| 237 |
+
\li \image LevelAdjust_maximumInput2.png
|
| 238 |
+
\li \image LevelAdjust_maximumInput3.png
|
| 239 |
+
\row
|
| 240 |
+
\li \b { maximumInput: #FFFFFFFF }
|
| 241 |
+
\li \b { maximumInput: #FFFFFF80 }
|
| 242 |
+
\li \b { maximumInput: #FFFFFF30 }
|
| 243 |
+
\row
|
| 244 |
+
\li \l minimumInput: #000000
|
| 245 |
+
\li \l minimumInput: #000000
|
| 246 |
+
\li \l minimumInput: #000000
|
| 247 |
+
\row
|
| 248 |
+
\li \l minimumOutput: #000000
|
| 249 |
+
\li \l minimumOutput: #000000
|
| 250 |
+
\li \l minimumOutput: #000000
|
| 251 |
+
\row
|
| 252 |
+
\li \l maximumOutput: #ffffff
|
| 253 |
+
\li \l maximumOutput: #ffffff
|
| 254 |
+
\li \l maximumOutput: #ffffff
|
| 255 |
+
\row
|
| 256 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 257 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 258 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 259 |
+
\endtable
|
| 260 |
+
|
| 261 |
+
\table
|
| 262 |
+
\header
|
| 263 |
+
\li Pixel color channel luminance curves of the above images.
|
| 264 |
+
\li
|
| 265 |
+
\li
|
| 266 |
+
\row
|
| 267 |
+
\li \image LevelAdjust_default_curve.png
|
| 268 |
+
\li \image LevelAdjust_maximumInput2_curve.png
|
| 269 |
+
\li \image LevelAdjust_maximumInput3_curve.png
|
| 270 |
+
\row
|
| 271 |
+
\li X-axis: pixel original luminance
|
| 272 |
+
\li
|
| 273 |
+
\li
|
| 274 |
+
\row
|
| 275 |
+
\li Y-axis: color channel luminance with effect applied
|
| 276 |
+
\li
|
| 277 |
+
\li
|
| 278 |
+
\endtable
|
| 279 |
+
|
| 280 |
+
*/
|
| 281 |
+
property color maximumInput: Qt.rgba(1.0, 1.0, 1.0, 1.0)
|
| 282 |
+
|
| 283 |
+
/*!
|
| 284 |
+
This property defines the minimum output level for each color channel.
|
| 285 |
+
Increasing the value lightens the dark areas, reducing the contrast.
|
| 286 |
+
|
| 287 |
+
The value ranges from "#00000000" to "#ffffffff". By default, the
|
| 288 |
+
property is set to \c "#00000000" (no change).
|
| 289 |
+
|
| 290 |
+
\table
|
| 291 |
+
\header
|
| 292 |
+
\li Output examples with different minimumOutput values
|
| 293 |
+
\li
|
| 294 |
+
\li
|
| 295 |
+
\row
|
| 296 |
+
\li \image LevelAdjust_minimumOutput1.png
|
| 297 |
+
\li \image LevelAdjust_minimumOutput2.png
|
| 298 |
+
\li \image LevelAdjust_minimumOutput3.png
|
| 299 |
+
\row
|
| 300 |
+
\li \b { minimumOutput: #00000000 }
|
| 301 |
+
\li \b { minimumOutput: #00000070 }
|
| 302 |
+
\li \b { minimumOutput: #000000A0 }
|
| 303 |
+
\row
|
| 304 |
+
\li \l minimumInput: #000000
|
| 305 |
+
\li \l minimumInput: #000000
|
| 306 |
+
\li \l minimumInput: #000000
|
| 307 |
+
\row
|
| 308 |
+
\li \l maximumInput: #ffffff
|
| 309 |
+
\li \l maximumInput: #ffffff
|
| 310 |
+
\li \l maximumInput: #ffffff
|
| 311 |
+
\row
|
| 312 |
+
\li \l maximumOutput: #ffffff
|
| 313 |
+
\li \l maximumOutput: #ffffff
|
| 314 |
+
\li \l maximumOutput: #ffffff
|
| 315 |
+
\row
|
| 316 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 317 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 318 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 319 |
+
\endtable
|
| 320 |
+
|
| 321 |
+
\table
|
| 322 |
+
\header
|
| 323 |
+
\li Pixel color channel luminance curves of the above images.
|
| 324 |
+
\li
|
| 325 |
+
\li
|
| 326 |
+
\row
|
| 327 |
+
\li \image LevelAdjust_default_curve.png
|
| 328 |
+
\li \image LevelAdjust_minimumOutput2_curve.png
|
| 329 |
+
\li \image LevelAdjust_minimumOutput3_curve.png
|
| 330 |
+
\row
|
| 331 |
+
\li X-axis: pixel original luminance
|
| 332 |
+
\li
|
| 333 |
+
\li
|
| 334 |
+
\row
|
| 335 |
+
\li Y-axis: color channel luminance with effect applied
|
| 336 |
+
\li
|
| 337 |
+
\li
|
| 338 |
+
\endtable
|
| 339 |
+
|
| 340 |
+
*/
|
| 341 |
+
property color minimumOutput: Qt.rgba(0.0, 0.0, 0.0, 0.0)
|
| 342 |
+
|
| 343 |
+
/*!
|
| 344 |
+
This property defines the maximum output level for each color channel.
|
| 345 |
+
Decreasing the value darkens the light areas, reducing the contrast.
|
| 346 |
+
|
| 347 |
+
The value ranges from "#ffffffff" to "#00000000". By default, the
|
| 348 |
+
property is set to \c "#ffffffff" (no change).
|
| 349 |
+
|
| 350 |
+
\table
|
| 351 |
+
\header
|
| 352 |
+
\li Output examples with different maximumOutput values
|
| 353 |
+
\li
|
| 354 |
+
\li
|
| 355 |
+
\row
|
| 356 |
+
\li \image LevelAdjust_maximumOutput1.png
|
| 357 |
+
\li \image LevelAdjust_maximumOutput2.png
|
| 358 |
+
\li \image LevelAdjust_maximumOutput3.png
|
| 359 |
+
\row
|
| 360 |
+
\li \b { maximumOutput: #FFFFFFFF }
|
| 361 |
+
\li \b { maximumOutput: #FFFFFF80 }
|
| 362 |
+
\li \b { maximumOutput: #FFFFFF30 }
|
| 363 |
+
\row
|
| 364 |
+
\li \l minimumInput: #000000
|
| 365 |
+
\li \l minimumInput: #000000
|
| 366 |
+
\li \l minimumInput: #000000
|
| 367 |
+
\row
|
| 368 |
+
\li \l maximumInput: #ffffff
|
| 369 |
+
\li \l maximumInput: #ffffff
|
| 370 |
+
\li \l maximumInput: #ffffff
|
| 371 |
+
\row
|
| 372 |
+
\li \l minimumOutput: #000000
|
| 373 |
+
\li \l minimumOutput: #000000
|
| 374 |
+
\li \l minimumOutput: #000000
|
| 375 |
+
\row
|
| 376 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 377 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 378 |
+
\li \l gamma: Qt.vector3d(1.0, 1.0, 1.0)
|
| 379 |
+
\endtable
|
| 380 |
+
|
| 381 |
+
\table
|
| 382 |
+
\header
|
| 383 |
+
\li Pixel color channel luminance curves of the above images.
|
| 384 |
+
\li
|
| 385 |
+
\li
|
| 386 |
+
\row
|
| 387 |
+
\li \image LevelAdjust_default_curve.png
|
| 388 |
+
\li \image LevelAdjust_maximumOutput2_curve.png
|
| 389 |
+
\li \image LevelAdjust_maximumOutput3_curve.png
|
| 390 |
+
\row
|
| 391 |
+
\li X-axis: pixel original luminance
|
| 392 |
+
\li
|
| 393 |
+
\li
|
| 394 |
+
\row
|
| 395 |
+
\li Y-axis: color channel luminance with effect applied
|
| 396 |
+
\li
|
| 397 |
+
\li
|
| 398 |
+
\endtable
|
| 399 |
+
*/
|
| 400 |
+
property color maximumOutput: Qt.rgba(1.0, 1.0, 1.0, 1.0)
|
| 401 |
+
|
| 402 |
+
/*!
|
| 403 |
+
This property allows the effect output pixels to be cached in order to
|
| 404 |
+
improve the rendering performance.
|
| 405 |
+
|
| 406 |
+
Every time the source or effect properties are changed, the pixels in
|
| 407 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 408 |
+
extra buffer of memory is required for storing the effect output.
|
| 409 |
+
|
| 410 |
+
It is recommended to disable the cache when the source or the effect
|
| 411 |
+
properties are animated.
|
| 412 |
+
|
| 413 |
+
By default, the property is set to \c false.
|
| 414 |
+
*/
|
| 415 |
+
property bool cached: false
|
| 416 |
+
|
| 417 |
+
SourceProxy {
|
| 418 |
+
id: sourceProxy
|
| 419 |
+
input: rootItem.source
|
| 420 |
+
interpolation: input && input.smooth ? SourceProxy.LinearInterpolation : SourceProxy.NearestInterpolation
|
| 421 |
+
}
|
| 422 |
+
|
| 423 |
+
ShaderEffectSource {
|
| 424 |
+
id: cacheItem
|
| 425 |
+
anchors.fill: parent
|
| 426 |
+
visible: rootItem.cached
|
| 427 |
+
smooth: true
|
| 428 |
+
sourceItem: shaderItem
|
| 429 |
+
live: true
|
| 430 |
+
hideSource: visible
|
| 431 |
+
}
|
| 432 |
+
|
| 433 |
+
ShaderEffect {
|
| 434 |
+
id: shaderItem
|
| 435 |
+
property variant source: sourceProxy.output
|
| 436 |
+
property variant minimumInputRGB: Qt.vector3d(rootItem.minimumInput.r, rootItem.minimumInput.g, rootItem.minimumInput.b)
|
| 437 |
+
property variant maximumInputRGB: Qt.vector3d(rootItem.maximumInput.r, rootItem.maximumInput.g, rootItem.maximumInput.b)
|
| 438 |
+
property real minimumInputAlpha: rootItem.minimumInput.a
|
| 439 |
+
property real maximumInputAlpha: rootItem.maximumInput.a
|
| 440 |
+
property variant minimumOutputRGB: Qt.vector3d(rootItem.minimumOutput.r, rootItem.minimumOutput.g, rootItem.minimumOutput.b)
|
| 441 |
+
property variant maximumOutputRGB: Qt.vector3d(rootItem.maximumOutput.r, rootItem.maximumOutput.g, rootItem.maximumOutput.b)
|
| 442 |
+
property real minimumOutputAlpha: rootItem.minimumOutput.a
|
| 443 |
+
property real maximumOutputAlpha: rootItem.maximumOutput.a
|
| 444 |
+
property variant gamma: Qt.vector3d(1.0 / Math.max(rootItem.gamma.x, 0.0001), 1.0 / Math.max(rootItem.gamma.y, 0.0001), 1.0 / Math.max(rootItem.gamma.z, 0.0001))
|
| 445 |
+
anchors.fill: parent
|
| 446 |
+
|
| 447 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/leveladjust.frag.qsb"
|
| 448 |
+
}
|
| 449 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/LinearGradient.qml
ADDED
|
@@ -0,0 +1,332 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype LinearGradient
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-gradient
|
| 60 |
+
\brief Draws a linear gradient.
|
| 61 |
+
|
| 62 |
+
A gradient is defined by two or more colors, which are blended seamlessly.
|
| 63 |
+
The colors start from the given start point and end to the given end point.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Effect applied
|
| 68 |
+
\row
|
| 69 |
+
\li \image LinearGradient.png
|
| 70 |
+
\endtable
|
| 71 |
+
|
| 72 |
+
\section1 Example
|
| 73 |
+
|
| 74 |
+
The following example shows how to apply the effect.
|
| 75 |
+
\snippet LinearGradient-example.qml example
|
| 76 |
+
|
| 77 |
+
*/
|
| 78 |
+
Item {
|
| 79 |
+
id: rootItem
|
| 80 |
+
|
| 81 |
+
/*!
|
| 82 |
+
This property defines the starting point where the color at gradient
|
| 83 |
+
position of 0.0 is rendered. Colors at larger position values are
|
| 84 |
+
rendered linearly towards the end point. The point is given in pixels
|
| 85 |
+
and the default value is Qt.point(0, 0). Setting the default values for
|
| 86 |
+
the start and \l{LinearGradient::end}{end} results in a full height
|
| 87 |
+
linear gradient on the y-axis.
|
| 88 |
+
|
| 89 |
+
\table
|
| 90 |
+
\header
|
| 91 |
+
\li Output examples with different start values
|
| 92 |
+
\li
|
| 93 |
+
\li
|
| 94 |
+
\row
|
| 95 |
+
\li \image LinearGradient_start1.png
|
| 96 |
+
\li \image LinearGradient_start2.png
|
| 97 |
+
\li \image LinearGradient_start3.png
|
| 98 |
+
\row
|
| 99 |
+
\li \b { start: QPoint(0, 0) }
|
| 100 |
+
\li \b { start: QPoint(150, 150) }
|
| 101 |
+
\li \b { start: QPoint(300, 0) }
|
| 102 |
+
\row
|
| 103 |
+
\li \l end: QPoint(300, 300)
|
| 104 |
+
\li \l end: QPoint(300, 300)
|
| 105 |
+
\li \l end: QPoint(300, 300)
|
| 106 |
+
\endtable
|
| 107 |
+
|
| 108 |
+
*/
|
| 109 |
+
property variant start: Qt.point(0, 0)
|
| 110 |
+
|
| 111 |
+
/*!
|
| 112 |
+
This property defines the ending point where the color at gradient
|
| 113 |
+
position of 1.0 is rendered. Colors at smaller position values are
|
| 114 |
+
rendered linearly towards the start point. The point is given in pixels
|
| 115 |
+
and the default value is Qt.point(0, height). Setting the default values
|
| 116 |
+
for the \l{LinearGradient::start}{start} and end results in a full
|
| 117 |
+
height linear gradient on the y-axis.
|
| 118 |
+
|
| 119 |
+
\table
|
| 120 |
+
\header
|
| 121 |
+
\li Output examples with different end values
|
| 122 |
+
\li
|
| 123 |
+
\li
|
| 124 |
+
\row
|
| 125 |
+
\li \image LinearGradient_end1.png
|
| 126 |
+
\li \image LinearGradient_end2.png
|
| 127 |
+
\li \image LinearGradient_end3.png
|
| 128 |
+
\row
|
| 129 |
+
\li \b { end: Qt.point(300, 300) }
|
| 130 |
+
\li \b { end: Qt.point(150, 150) }
|
| 131 |
+
\li \b { end: Qt.point(300, 0) }
|
| 132 |
+
\row
|
| 133 |
+
\li \l start: Qt.point(0, 0)
|
| 134 |
+
\li \l start: Qt.point(0, 0)
|
| 135 |
+
\li \l start: Qt.point(0, 0)
|
| 136 |
+
\endtable
|
| 137 |
+
|
| 138 |
+
*/
|
| 139 |
+
property variant end: Qt.point(0, height)
|
| 140 |
+
|
| 141 |
+
/*!
|
| 142 |
+
This property allows the effect output pixels to be cached in order to
|
| 143 |
+
improve the rendering performance.
|
| 144 |
+
|
| 145 |
+
Every time the source or effect properties are changed, the pixels in
|
| 146 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 147 |
+
extra buffer of memory is required for storing the effect output.
|
| 148 |
+
|
| 149 |
+
It is recommended to disable the cache when the source or the effect
|
| 150 |
+
properties are animated.
|
| 151 |
+
|
| 152 |
+
By default, the property is set to \c false.
|
| 153 |
+
*/
|
| 154 |
+
property bool cached: false
|
| 155 |
+
|
| 156 |
+
/*!
|
| 157 |
+
This property defines the item that is going to be filled with gradient.
|
| 158 |
+
Source item gets rendered into an intermediate pixel buffer and the
|
| 159 |
+
alpha values from the result are used to determine the gradient's pixels
|
| 160 |
+
visibility in the display. The default value for source is undefined and
|
| 161 |
+
in that case whole effect area is filled with gradient.
|
| 162 |
+
|
| 163 |
+
\table
|
| 164 |
+
\header
|
| 165 |
+
\li Output examples with different source values
|
| 166 |
+
\li
|
| 167 |
+
\li
|
| 168 |
+
\row
|
| 169 |
+
\li \image LinearGradient_maskSource1.png
|
| 170 |
+
\li \image LinearGradient_maskSource2.png
|
| 171 |
+
\row
|
| 172 |
+
\li \b { source: undefined }
|
| 173 |
+
\li \b { source: Image { source: images/butterfly.png } }
|
| 174 |
+
\row
|
| 175 |
+
\li \l start: Qt.point(0, 0)
|
| 176 |
+
\li \l start: Qt.point(0, 0)
|
| 177 |
+
\row
|
| 178 |
+
\li \l end: Qt.point(300, 300)
|
| 179 |
+
\li \l end: Qt.point(300, 300)
|
| 180 |
+
\endtable
|
| 181 |
+
|
| 182 |
+
\note It is not supported to let the effect include itself, for
|
| 183 |
+
instance by setting source to the effect's parent.
|
| 184 |
+
*/
|
| 185 |
+
property variant source
|
| 186 |
+
|
| 187 |
+
|
| 188 |
+
/*!
|
| 189 |
+
A gradient is defined by two or more colors, which are blended
|
| 190 |
+
seamlessly. The colors are specified as a set of GradientStop child
|
| 191 |
+
items, each of which defines a position on the gradient from 0.0 to 1.0
|
| 192 |
+
and a color. The position of each GradientStop is defined by the
|
| 193 |
+
position property, and the color is definded by the color property.
|
| 194 |
+
|
| 195 |
+
\table
|
| 196 |
+
\header
|
| 197 |
+
\li Output examples with different gradient values
|
| 198 |
+
\li
|
| 199 |
+
\li
|
| 200 |
+
\row
|
| 201 |
+
\li \image LinearGradient_gradient1.png
|
| 202 |
+
\li \image LinearGradient_gradient2.png
|
| 203 |
+
\li \image LinearGradient_gradient3.png
|
| 204 |
+
\row
|
| 205 |
+
\li \b {gradient:} \code
|
| 206 |
+
Gradient {
|
| 207 |
+
GradientStop {
|
| 208 |
+
position: 0.000
|
| 209 |
+
color: Qt.rgba(1, 0, 0, 1)
|
| 210 |
+
}
|
| 211 |
+
GradientStop {
|
| 212 |
+
position: 0.167
|
| 213 |
+
color: Qt.rgba(1, 1, 0, 1)
|
| 214 |
+
}
|
| 215 |
+
GradientStop {
|
| 216 |
+
position: 0.333
|
| 217 |
+
color: Qt.rgba(0, 1, 0, 1)
|
| 218 |
+
}
|
| 219 |
+
GradientStop {
|
| 220 |
+
position: 0.500
|
| 221 |
+
color: Qt.rgba(0, 1, 1, 1)
|
| 222 |
+
}
|
| 223 |
+
GradientStop {
|
| 224 |
+
position: 0.667
|
| 225 |
+
color: Qt.rgba(0, 0, 1, 1)
|
| 226 |
+
}
|
| 227 |
+
GradientStop {
|
| 228 |
+
position: 0.833
|
| 229 |
+
color: Qt.rgba(1, 0, 1, 1)
|
| 230 |
+
}
|
| 231 |
+
GradientStop {
|
| 232 |
+
position: 1.000
|
| 233 |
+
color: Qt.rgba(1, 0, 0, 1)
|
| 234 |
+
}
|
| 235 |
+
}
|
| 236 |
+
\endcode
|
| 237 |
+
\li \b {gradient:} \code
|
| 238 |
+
Gradient {
|
| 239 |
+
GradientStop {
|
| 240 |
+
position: 0.0
|
| 241 |
+
color: "#F0F0F0"
|
| 242 |
+
}
|
| 243 |
+
GradientStop {
|
| 244 |
+
position: 0.5
|
| 245 |
+
color: "#000000"
|
| 246 |
+
}
|
| 247 |
+
GradientStop {
|
| 248 |
+
position: 1.0
|
| 249 |
+
color: "#F0F0F0"
|
| 250 |
+
}
|
| 251 |
+
}
|
| 252 |
+
\endcode
|
| 253 |
+
\li \b {gradient:} \code
|
| 254 |
+
Gradient {
|
| 255 |
+
GradientStop {
|
| 256 |
+
position: 0.0
|
| 257 |
+
color: "#00000000"
|
| 258 |
+
}
|
| 259 |
+
GradientStop {
|
| 260 |
+
position: 1.0
|
| 261 |
+
color: "#FF000000"
|
| 262 |
+
}
|
| 263 |
+
}
|
| 264 |
+
\endcode
|
| 265 |
+
\row
|
| 266 |
+
\li \l start: Qt.point(0, 0)
|
| 267 |
+
\li \l start: Qt.point(0, 0)
|
| 268 |
+
\li \l start: Qt.point(0, 0)
|
| 269 |
+
\row
|
| 270 |
+
\li \l end: Qt.point(300, 300)
|
| 271 |
+
\li \l end: Qt.point(300, 300)
|
| 272 |
+
\li \l end: Qt.point(300, 300)
|
| 273 |
+
\endtable
|
| 274 |
+
|
| 275 |
+
*/
|
| 276 |
+
property Gradient gradient: Gradient {
|
| 277 |
+
GradientStop { position: 0.0; color: "white" }
|
| 278 |
+
GradientStop { position: 1.0; color: "black" }
|
| 279 |
+
}
|
| 280 |
+
|
| 281 |
+
SourceProxy {
|
| 282 |
+
id: maskSourceProxy
|
| 283 |
+
input: rootItem.source
|
| 284 |
+
}
|
| 285 |
+
|
| 286 |
+
ShaderEffectSource {
|
| 287 |
+
id: gradientSource
|
| 288 |
+
sourceItem: Rectangle {
|
| 289 |
+
width: 16
|
| 290 |
+
height: 256
|
| 291 |
+
gradient: rootItem.gradient
|
| 292 |
+
smooth: true
|
| 293 |
+
}
|
| 294 |
+
smooth: true
|
| 295 |
+
hideSource: true
|
| 296 |
+
visible: false
|
| 297 |
+
}
|
| 298 |
+
|
| 299 |
+
ShaderEffectSource {
|
| 300 |
+
id: cacheItem
|
| 301 |
+
anchors.fill: parent
|
| 302 |
+
visible: rootItem.cached
|
| 303 |
+
smooth: true
|
| 304 |
+
sourceItem: shaderItem
|
| 305 |
+
live: true
|
| 306 |
+
hideSource: visible
|
| 307 |
+
}
|
| 308 |
+
|
| 309 |
+
ShaderEffect {
|
| 310 |
+
id: shaderItem
|
| 311 |
+
|
| 312 |
+
anchors.fill: parent
|
| 313 |
+
|
| 314 |
+
property variant source: gradientSource
|
| 315 |
+
property variant maskSource: maskSourceProxy.output
|
| 316 |
+
property variant startPoint: Qt.point(start.x / width, start.y / height)
|
| 317 |
+
property real dx: end.x - start.x
|
| 318 |
+
property real dy: end.y - start.y
|
| 319 |
+
property real l: 1.0 / Math.sqrt(Math.pow(dx / width, 2.0) + Math.pow(dy / height, 2.0))
|
| 320 |
+
property real angle: Math.atan2(dx, dy)
|
| 321 |
+
property variant matrixData: Qt.point(Math.sin(angle), Math.cos(angle))
|
| 322 |
+
|
| 323 |
+
vertexShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/lineargradient.vert.qsb"
|
| 324 |
+
|
| 325 |
+
fragmentShader: maskSource == undefined ? noMaskShader : maskShader
|
| 326 |
+
|
| 327 |
+
onFragmentShaderChanged: lChanged()
|
| 328 |
+
|
| 329 |
+
property string maskShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/lineargradient_mask.frag.qsb"
|
| 330 |
+
property string noMaskShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/lineargradient_nomask.frag.qsb"
|
| 331 |
+
}
|
| 332 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/OpacityMask.qml
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype OpacityMask
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-mask
|
| 60 |
+
\brief Masks the source item with another item.
|
| 61 |
+
|
| 62 |
+
\table
|
| 63 |
+
\header
|
| 64 |
+
\li Source
|
| 65 |
+
\li MaskSource
|
| 66 |
+
\li Effect applied
|
| 67 |
+
\row
|
| 68 |
+
\li \image Original_bug.png
|
| 69 |
+
\li \image OpacityMask_mask.png
|
| 70 |
+
\li \image OpacityMask_bug.png
|
| 71 |
+
\endtable
|
| 72 |
+
|
| 73 |
+
\section1 Example
|
| 74 |
+
|
| 75 |
+
The following example shows how to apply the effect.
|
| 76 |
+
\snippet OpacityMask-example.qml example
|
| 77 |
+
|
| 78 |
+
*/
|
| 79 |
+
Item {
|
| 80 |
+
id: rootItem
|
| 81 |
+
|
| 82 |
+
/*!
|
| 83 |
+
This property defines the source item that is going to be masked.
|
| 84 |
+
|
| 85 |
+
\note It is not supported to let the effect include itself, for
|
| 86 |
+
instance by setting source to the effect's parent.
|
| 87 |
+
*/
|
| 88 |
+
property variant source
|
| 89 |
+
|
| 90 |
+
/*!
|
| 91 |
+
This property defines the item that is going to be used as the mask. The
|
| 92 |
+
mask item gets rendered into an intermediate pixel buffer and the alpha
|
| 93 |
+
values from the result are used to determine the source item's pixels
|
| 94 |
+
visibility in the display.
|
| 95 |
+
|
| 96 |
+
\table
|
| 97 |
+
\header
|
| 98 |
+
\li Original
|
| 99 |
+
\li Mask
|
| 100 |
+
\li Effect applied
|
| 101 |
+
\row
|
| 102 |
+
\li \image Original_bug.png
|
| 103 |
+
\li \image OpacityMask_mask.png
|
| 104 |
+
\li \image OpacityMask_bug.png
|
| 105 |
+
\endtable
|
| 106 |
+
*/
|
| 107 |
+
property variant maskSource
|
| 108 |
+
|
| 109 |
+
/*!
|
| 110 |
+
This property allows the effect output pixels to be cached in order to
|
| 111 |
+
improve the rendering performance.
|
| 112 |
+
|
| 113 |
+
Every time the source or effect properties are changed, the pixels in
|
| 114 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 115 |
+
extra buffer of memory is required for storing the effect output.
|
| 116 |
+
|
| 117 |
+
It is recommended to disable the cache when the source or the effect
|
| 118 |
+
properties are animated.
|
| 119 |
+
|
| 120 |
+
By default, the property is set to \c false.
|
| 121 |
+
|
| 122 |
+
\note It is not supported to let the effect include itself, for
|
| 123 |
+
instance by setting maskSource to the effect's parent.
|
| 124 |
+
*/
|
| 125 |
+
property bool cached: false
|
| 126 |
+
|
| 127 |
+
/*!
|
| 128 |
+
This property controls how the alpha values of the sourceMask will behave.
|
| 129 |
+
|
| 130 |
+
If this property is \c false, the resulting opacity is the source alpha
|
| 131 |
+
multiplied with the mask alpha, \c{As * Am}.
|
| 132 |
+
|
| 133 |
+
If this property is \c true, the resulting opacity is the source alpha
|
| 134 |
+
multiplied with the inverse of the mask alpha, \c{As * (1 - Am)}.
|
| 135 |
+
|
| 136 |
+
The default is \c false.
|
| 137 |
+
|
| 138 |
+
\since 5.7
|
| 139 |
+
*/
|
| 140 |
+
property bool invert: false
|
| 141 |
+
|
| 142 |
+
SourceProxy {
|
| 143 |
+
id: sourceProxy
|
| 144 |
+
input: rootItem.source
|
| 145 |
+
}
|
| 146 |
+
|
| 147 |
+
SourceProxy {
|
| 148 |
+
id: maskSourceProxy
|
| 149 |
+
input: rootItem.maskSource
|
| 150 |
+
}
|
| 151 |
+
|
| 152 |
+
ShaderEffectSource {
|
| 153 |
+
id: cacheItem
|
| 154 |
+
anchors.fill: parent
|
| 155 |
+
visible: rootItem.cached
|
| 156 |
+
smooth: true
|
| 157 |
+
sourceItem: shaderItem
|
| 158 |
+
live: true
|
| 159 |
+
hideSource: visible
|
| 160 |
+
}
|
| 161 |
+
|
| 162 |
+
ShaderEffect {
|
| 163 |
+
id: shaderItem
|
| 164 |
+
property variant source: sourceProxy.output
|
| 165 |
+
property variant maskSource: maskSourceProxy.output
|
| 166 |
+
|
| 167 |
+
anchors.fill: parent
|
| 168 |
+
|
| 169 |
+
fragmentShader: invert ? "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/opacitymask_invert.frag.qsb" : "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/opacitymask.frag.qsb"
|
| 170 |
+
}
|
| 171 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/RadialGradient.qml
ADDED
|
@@ -0,0 +1,419 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype RadialGradient
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-gradient
|
| 60 |
+
\brief Draws a radial gradient.
|
| 61 |
+
|
| 62 |
+
A gradient is defined by two or more colors, which are blended seamlessly.
|
| 63 |
+
The colors start from the middle of the item and end at the borders.
|
| 64 |
+
|
| 65 |
+
\table
|
| 66 |
+
\header
|
| 67 |
+
\li Effect applied
|
| 68 |
+
\row
|
| 69 |
+
\li \image RadialGradient.png
|
| 70 |
+
\endtable
|
| 71 |
+
|
| 72 |
+
\section1 Example
|
| 73 |
+
|
| 74 |
+
The following example shows how to apply the effect.
|
| 75 |
+
\snippet RadialGradient-example.qml example
|
| 76 |
+
|
| 77 |
+
*/
|
| 78 |
+
Item {
|
| 79 |
+
id: rootItem
|
| 80 |
+
|
| 81 |
+
/*!
|
| 82 |
+
This property allows the effect output pixels to be cached in order to
|
| 83 |
+
improve the rendering performance.
|
| 84 |
+
|
| 85 |
+
Every time the source or effect properties are changed, the pixels in
|
| 86 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 87 |
+
extra buffer of memory is required for storing the effect output.
|
| 88 |
+
|
| 89 |
+
It is recommended to disable the cache when the source or the effect
|
| 90 |
+
properties are animated.
|
| 91 |
+
|
| 92 |
+
By default, the property is set to \c false.
|
| 93 |
+
*/
|
| 94 |
+
property bool cached: false
|
| 95 |
+
|
| 96 |
+
/*!
|
| 97 |
+
\qmlproperty real RadialGradient::horizontalOffset
|
| 98 |
+
\qmlproperty real RadialGradient::verticalOffset
|
| 99 |
+
|
| 100 |
+
The horizontalOffset and verticalOffset properties define the offset in
|
| 101 |
+
pixels for the center point of the gradient compared to the item center.
|
| 102 |
+
|
| 103 |
+
The values range from -inf to inf. By default, these properties are set
|
| 104 |
+
to \c 0.
|
| 105 |
+
|
| 106 |
+
\table
|
| 107 |
+
\header
|
| 108 |
+
\li Output examples with different horizontalOffset values
|
| 109 |
+
\li
|
| 110 |
+
\li
|
| 111 |
+
\row
|
| 112 |
+
\li \image RadialGradient_horizontalOffset1.png
|
| 113 |
+
\li \image RadialGradient_horizontalOffset2.png
|
| 114 |
+
\li \image RadialGradient_horizontalOffset3.png
|
| 115 |
+
\row
|
| 116 |
+
\li \b { horizontalOffset: -150 }
|
| 117 |
+
\li \b { horizontalOffset: 0 }
|
| 118 |
+
\li \b { horizontalOffset: 150 }
|
| 119 |
+
\row
|
| 120 |
+
\li \l verticalOffset: 0
|
| 121 |
+
\li \l verticalOffset: 0
|
| 122 |
+
\li \l verticalOffset: 0
|
| 123 |
+
\row
|
| 124 |
+
\li \l horizontalRadius: 300
|
| 125 |
+
\li \l horizontalRadius: 300
|
| 126 |
+
\li \l horizontalRadius: 300
|
| 127 |
+
\row
|
| 128 |
+
\li \l verticalRadius: 300
|
| 129 |
+
\li \l verticalRadius: 300
|
| 130 |
+
\li \l verticalRadius: 300
|
| 131 |
+
\row
|
| 132 |
+
\li \l angle: 0
|
| 133 |
+
\li \l angle: 0
|
| 134 |
+
\li \l angle: 0
|
| 135 |
+
\endtable
|
| 136 |
+
|
| 137 |
+
*/
|
| 138 |
+
property real horizontalOffset: 0.0
|
| 139 |
+
property real verticalOffset: 0.0
|
| 140 |
+
|
| 141 |
+
/*!
|
| 142 |
+
\qmlproperty real RadialGradient::horizontalRadius
|
| 143 |
+
\qmlproperty real RadialGradient::verticalRadius
|
| 144 |
+
|
| 145 |
+
The horizontalRadius and verticalRadius properties define the shape and
|
| 146 |
+
size of the radial gradient. If the radiuses are equal, the shape of the
|
| 147 |
+
gradient is a circle. If the horizontal and vertical radiuses differ,
|
| 148 |
+
the shape is elliptical. The radiuses are given in pixels.
|
| 149 |
+
|
| 150 |
+
The value ranges from -inf to inf. By default, horizontalRadius is bound
|
| 151 |
+
to width and verticalRadius is bound to height.
|
| 152 |
+
|
| 153 |
+
\table
|
| 154 |
+
\header
|
| 155 |
+
\li Output examples with different horizontalRadius values
|
| 156 |
+
\li
|
| 157 |
+
\li
|
| 158 |
+
\row
|
| 159 |
+
\li \image RadialGradient_horizontalRadius1.png
|
| 160 |
+
\li \image RadialGradient_horizontalRadius2.png
|
| 161 |
+
\row
|
| 162 |
+
\li \b { horizontalRadius: 300 }
|
| 163 |
+
\li \b { horizontalRadius: 100 }
|
| 164 |
+
\row
|
| 165 |
+
\li \l horizontalOffset: 0
|
| 166 |
+
\li \l horizontalOffset: 0
|
| 167 |
+
\row
|
| 168 |
+
\li \l verticalOffset: 0
|
| 169 |
+
\li \l verticalOffset: 0
|
| 170 |
+
\row
|
| 171 |
+
\li \l verticalRadius: 300
|
| 172 |
+
\li \l verticalRadius: 300
|
| 173 |
+
\row
|
| 174 |
+
\li \l angle: 0
|
| 175 |
+
\li \l angle: 0
|
| 176 |
+
\row
|
| 177 |
+
\li \l gradient: QQuickGradient(0xa05fb10)
|
| 178 |
+
\li \l gradient: QQuickGradient(0xa05fb10)
|
| 179 |
+
\endtable
|
| 180 |
+
|
| 181 |
+
*/
|
| 182 |
+
property real horizontalRadius: width
|
| 183 |
+
property real verticalRadius: height
|
| 184 |
+
|
| 185 |
+
/*!
|
| 186 |
+
This property defines the rotation of the gradient around its center
|
| 187 |
+
point. The rotation is only visible when the
|
| 188 |
+
\l{RadialGradient::horizontalRadius}{horizontalRadius} and
|
| 189 |
+
\l{RadialGradient::verticalRadius}{verticalRadius} properties are not
|
| 190 |
+
equal. The angle is given in degrees and the default value is \c 0.
|
| 191 |
+
|
| 192 |
+
\table
|
| 193 |
+
\header
|
| 194 |
+
\li Output examples with different angle values
|
| 195 |
+
\li
|
| 196 |
+
\li
|
| 197 |
+
\row
|
| 198 |
+
\li \image RadialGradient_angle1.png
|
| 199 |
+
\li \image RadialGradient_angle2.png
|
| 200 |
+
\li \image RadialGradient_angle3.png
|
| 201 |
+
\row
|
| 202 |
+
\li \b { angle: 0 }
|
| 203 |
+
\li \b { angle: 45 }
|
| 204 |
+
\li \b { angle: 90 }
|
| 205 |
+
\row
|
| 206 |
+
\li \l horizontalOffset: 0
|
| 207 |
+
\li \l horizontalOffset: 0
|
| 208 |
+
\li \l horizontalOffset: 0
|
| 209 |
+
\row
|
| 210 |
+
\li \l verticalOffset: 0
|
| 211 |
+
\li \l verticalOffset: 0
|
| 212 |
+
\li \l verticalOffset: 0
|
| 213 |
+
\row
|
| 214 |
+
\li \l horizontalRadius: 100
|
| 215 |
+
\li \l horizontalRadius: 100
|
| 216 |
+
\li \l horizontalRadius: 100
|
| 217 |
+
\row
|
| 218 |
+
\li \l verticalRadius: 300
|
| 219 |
+
\li \l verticalRadius: 300
|
| 220 |
+
\li \l verticalRadius: 300
|
| 221 |
+
\endtable
|
| 222 |
+
*/
|
| 223 |
+
property real angle: 0.0
|
| 224 |
+
|
| 225 |
+
/*!
|
| 226 |
+
This property defines the item that is going to be filled with gradient.
|
| 227 |
+
Source item gets rendered into an intermediate pixel buffer and the
|
| 228 |
+
alpha values from the result are used to determine the gradient's pixels
|
| 229 |
+
visibility in the display. The default value for source is undefined and
|
| 230 |
+
in that case whole effect area is filled with gradient.
|
| 231 |
+
|
| 232 |
+
\table
|
| 233 |
+
\header
|
| 234 |
+
\li Output examples with different source values
|
| 235 |
+
\li
|
| 236 |
+
\li
|
| 237 |
+
\row
|
| 238 |
+
\li \image RadialGradient_maskSource1.png
|
| 239 |
+
\li \image RadialGradient_maskSource2.png
|
| 240 |
+
\row
|
| 241 |
+
\li \b { source: undefined }
|
| 242 |
+
\li \b { source: Image { source: images/butterfly.png } }
|
| 243 |
+
\row
|
| 244 |
+
\li \l horizontalOffset: 0
|
| 245 |
+
\li \l horizontalOffset: 0
|
| 246 |
+
\row
|
| 247 |
+
\li \l verticalOffset: 0
|
| 248 |
+
\li \l verticalOffset: 0
|
| 249 |
+
\row
|
| 250 |
+
\li \l horizontalRadius: 300
|
| 251 |
+
\li \l horizontalRadius: 300
|
| 252 |
+
\row
|
| 253 |
+
\li \l verticalRadius: 300
|
| 254 |
+
\li \l verticalRadius: 300
|
| 255 |
+
\row
|
| 256 |
+
\li \l angle: 0
|
| 257 |
+
\li \l angle: 0
|
| 258 |
+
\endtable
|
| 259 |
+
|
| 260 |
+
\note It is not supported to let the effect include itself, for
|
| 261 |
+
instance by setting source to the effect's parent.
|
| 262 |
+
*/
|
| 263 |
+
property variant source
|
| 264 |
+
|
| 265 |
+
/*!
|
| 266 |
+
A gradient is defined by two or more colors, which are blended
|
| 267 |
+
seamlessly. The colors are specified as a set of GradientStop child
|
| 268 |
+
items, each of which defines a position on the gradient from 0.0 to 1.0
|
| 269 |
+
and a color. The position of each GradientStop is defined by setting the
|
| 270 |
+
position property. The color is defined by setting the color property.
|
| 271 |
+
|
| 272 |
+
\table
|
| 273 |
+
\header
|
| 274 |
+
\li Output examples with different gradient values
|
| 275 |
+
\li
|
| 276 |
+
\li
|
| 277 |
+
\row
|
| 278 |
+
\li \image RadialGradient_gradient1.png
|
| 279 |
+
\li \image RadialGradient_gradient2.png
|
| 280 |
+
\li \image RadialGradient_gradient3.png
|
| 281 |
+
\row
|
| 282 |
+
\li \b {gradient:} \code
|
| 283 |
+
Gradient {
|
| 284 |
+
GradientStop {
|
| 285 |
+
position: 0.000
|
| 286 |
+
color: Qt.rgba(1, 0, 0, 1)
|
| 287 |
+
}
|
| 288 |
+
GradientStop {
|
| 289 |
+
position: 0.167
|
| 290 |
+
color: Qt.rgba(1, 1, 0, 1)
|
| 291 |
+
}
|
| 292 |
+
GradientStop {
|
| 293 |
+
position: 0.333
|
| 294 |
+
color: Qt.rgba(0, 1, 0, 1)
|
| 295 |
+
}
|
| 296 |
+
GradientStop {
|
| 297 |
+
position: 0.500
|
| 298 |
+
color: Qt.rgba(0, 1, 1, 1)
|
| 299 |
+
}
|
| 300 |
+
GradientStop {
|
| 301 |
+
position: 0.667
|
| 302 |
+
color: Qt.rgba(0, 0, 1, 1)
|
| 303 |
+
}
|
| 304 |
+
GradientStop {
|
| 305 |
+
position: 0.833
|
| 306 |
+
color: Qt.rgba(1, 0, 1, 1)
|
| 307 |
+
}
|
| 308 |
+
GradientStop {
|
| 309 |
+
position: 1.000
|
| 310 |
+
color: Qt.rgba(1, 0, 0, 1)
|
| 311 |
+
}
|
| 312 |
+
}
|
| 313 |
+
\endcode
|
| 314 |
+
\li \b {gradient:} \code
|
| 315 |
+
Gradient {
|
| 316 |
+
GradientStop {
|
| 317 |
+
position: 0.0
|
| 318 |
+
color: "#F0F0F0"
|
| 319 |
+
}
|
| 320 |
+
GradientStop {
|
| 321 |
+
position: 0.5
|
| 322 |
+
color: "#000000"
|
| 323 |
+
}
|
| 324 |
+
GradientStop {
|
| 325 |
+
position: 1.0
|
| 326 |
+
color: "#F0F0F0"
|
| 327 |
+
}
|
| 328 |
+
}
|
| 329 |
+
\endcode
|
| 330 |
+
\li \b {gradient:}
|
| 331 |
+
\code
|
| 332 |
+
Gradient {
|
| 333 |
+
GradientStop {
|
| 334 |
+
position: 0.0
|
| 335 |
+
color: "#00000000"
|
| 336 |
+
}
|
| 337 |
+
GradientStop {
|
| 338 |
+
position: 1.0
|
| 339 |
+
color: "#FF000000"
|
| 340 |
+
}
|
| 341 |
+
}
|
| 342 |
+
\endcode
|
| 343 |
+
\row
|
| 344 |
+
\li \l horizontalOffset: 0
|
| 345 |
+
\li \l horizontalOffset: 0
|
| 346 |
+
\li \l horizontalOffset: 0
|
| 347 |
+
\row
|
| 348 |
+
\li \l verticalOffset: 0
|
| 349 |
+
\li \l verticalOffset: 0
|
| 350 |
+
\li \l verticalOffset: 0
|
| 351 |
+
\row
|
| 352 |
+
\li \l horizontalRadius: 300
|
| 353 |
+
\li \l horizontalRadius: 300
|
| 354 |
+
\li \l horizontalRadius: 300
|
| 355 |
+
\row
|
| 356 |
+
\li \l verticalRadius: 300
|
| 357 |
+
\li \l verticalRadius: 300
|
| 358 |
+
\li \l verticalRadius: 300
|
| 359 |
+
\row
|
| 360 |
+
\li \l angle: 0
|
| 361 |
+
\li \l angle: 0
|
| 362 |
+
\li \l angle: 0
|
| 363 |
+
\endtable
|
| 364 |
+
*/
|
| 365 |
+
property Gradient gradient: Gradient {
|
| 366 |
+
GradientStop { position: 0.0; color: "white" }
|
| 367 |
+
GradientStop { position: 1.0; color: "black" }
|
| 368 |
+
}
|
| 369 |
+
|
| 370 |
+
SourceProxy {
|
| 371 |
+
id: maskSourceProxy
|
| 372 |
+
input: rootItem.source
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
ShaderEffectSource {
|
| 376 |
+
id: gradientSource
|
| 377 |
+
sourceItem: Rectangle {
|
| 378 |
+
width: 16
|
| 379 |
+
height: 256
|
| 380 |
+
gradient: rootItem.gradient
|
| 381 |
+
smooth: true
|
| 382 |
+
}
|
| 383 |
+
smooth: true
|
| 384 |
+
hideSource: true
|
| 385 |
+
visible: false
|
| 386 |
+
}
|
| 387 |
+
|
| 388 |
+
ShaderEffectSource {
|
| 389 |
+
id: cacheItem
|
| 390 |
+
anchors.fill: parent
|
| 391 |
+
visible: rootItem.cached
|
| 392 |
+
smooth: true
|
| 393 |
+
sourceItem: shaderItem
|
| 394 |
+
live: true
|
| 395 |
+
hideSource: visible
|
| 396 |
+
}
|
| 397 |
+
|
| 398 |
+
ShaderEffect {
|
| 399 |
+
id: shaderItem
|
| 400 |
+
property variant gradientImage: gradientSource
|
| 401 |
+
property variant maskSource: maskSourceProxy.output
|
| 402 |
+
property variant center: Qt.point(0.5 + rootItem.horizontalOffset / width, 0.5 + rootItem.verticalOffset / height)
|
| 403 |
+
property real horizontalRatio: rootItem.horizontalRadius > 0 ? width / (2 * rootItem.horizontalRadius) : width * 16384
|
| 404 |
+
property real verticalRatio: rootItem.verticalRadius > 0 ? height / (2 * rootItem.verticalRadius) : height * 16384
|
| 405 |
+
property real angle: -rootItem.angle / 360 * 2 * Math.PI
|
| 406 |
+
property variant matrixData: Qt.point(Math.sin(angle), Math.cos(angle))
|
| 407 |
+
|
| 408 |
+
anchors.fill: parent
|
| 409 |
+
|
| 410 |
+
vertexShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/radialgradient.vert.qsb"
|
| 411 |
+
|
| 412 |
+
fragmentShader: maskSource == undefined ? noMaskShader : maskShader
|
| 413 |
+
|
| 414 |
+
onFragmentShaderChanged: horizontalRatioChanged()
|
| 415 |
+
|
| 416 |
+
property string maskShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/radialgradient_mask.frag.qsb"
|
| 417 |
+
property string noMaskShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/radialgradient_nomask.frag.qsb"
|
| 418 |
+
}
|
| 419 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/RectangularGlow.qml
ADDED
|
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype RectangularGlow
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-glow
|
| 60 |
+
\brief Generates a blurred and colorized rectangle, which gives
|
| 61 |
+
the impression that the source is glowing.
|
| 62 |
+
|
| 63 |
+
This effect is intended to have good performance. The shape of the glow is
|
| 64 |
+
limited to a rectangle with a custom corner radius. For situations where
|
| 65 |
+
custom shapes are required, consider \l[QML]{Glow} effect.
|
| 66 |
+
|
| 67 |
+
\table
|
| 68 |
+
\header
|
| 69 |
+
\li Effect applied
|
| 70 |
+
\row
|
| 71 |
+
\li \image RectangularGlow_applied.png
|
| 72 |
+
\endtable
|
| 73 |
+
|
| 74 |
+
\section1 Example
|
| 75 |
+
|
| 76 |
+
The following example shows how to apply the effect.
|
| 77 |
+
\snippet RectangularGlow-example.qml example
|
| 78 |
+
*/
|
| 79 |
+
Item {
|
| 80 |
+
id: rootItem
|
| 81 |
+
|
| 82 |
+
/*!
|
| 83 |
+
This property defines how many pixels outside the item area are reached
|
| 84 |
+
by the glow.
|
| 85 |
+
|
| 86 |
+
The value ranges from 0.0 (no glow) to inf (infinite glow). By default,
|
| 87 |
+
the property is set to \c 0.0.
|
| 88 |
+
|
| 89 |
+
\table
|
| 90 |
+
\header
|
| 91 |
+
\li Output examples with different glowRadius values
|
| 92 |
+
\li
|
| 93 |
+
\li
|
| 94 |
+
\row
|
| 95 |
+
\li \image RectangularGlow_glowRadius1.png
|
| 96 |
+
\li \image RectangularGlow_glowRadius2.png
|
| 97 |
+
\li \image RectangularGlow_glowRadius3.png
|
| 98 |
+
\row
|
| 99 |
+
\li \b { glowRadius: 10 }
|
| 100 |
+
\li \b { glowRadius: 20 }
|
| 101 |
+
\li \b { glowRadius: 40 }
|
| 102 |
+
\row
|
| 103 |
+
\li \l spread: 0
|
| 104 |
+
\li \l spread: 0
|
| 105 |
+
\li \l spread: 0
|
| 106 |
+
\row
|
| 107 |
+
\li \l color: #ffffff
|
| 108 |
+
\li \l color: #ffffff
|
| 109 |
+
\li \l color: #ffffff
|
| 110 |
+
\row
|
| 111 |
+
\li \l cornerRadius: 25
|
| 112 |
+
\li \l cornerRadius: 25
|
| 113 |
+
\li \l cornerRadius: 25
|
| 114 |
+
\endtable
|
| 115 |
+
|
| 116 |
+
*/
|
| 117 |
+
property real glowRadius: 0.0
|
| 118 |
+
|
| 119 |
+
/*!
|
| 120 |
+
This property defines how large part of the glow color is strengthened
|
| 121 |
+
near the source edges.
|
| 122 |
+
|
| 123 |
+
The value ranges from 0.0 (no strength increase) to 1.0 (maximum
|
| 124 |
+
strength increase). By default, the property is set to \c 0.0.
|
| 125 |
+
|
| 126 |
+
\table
|
| 127 |
+
\header
|
| 128 |
+
\li Output examples with different spread values
|
| 129 |
+
\li
|
| 130 |
+
\li
|
| 131 |
+
\row
|
| 132 |
+
\li \image RectangularGlow_spread1.png
|
| 133 |
+
\li \image RectangularGlow_spread2.png
|
| 134 |
+
\li \image RectangularGlow_spread3.png
|
| 135 |
+
\row
|
| 136 |
+
\li \b { spread: 0.0 }
|
| 137 |
+
\li \b { spread: 0.5 }
|
| 138 |
+
\li \b { spread: 1.0 }
|
| 139 |
+
\row
|
| 140 |
+
\li \l glowRadius: 20
|
| 141 |
+
\li \l glowRadius: 20
|
| 142 |
+
\li \l glowRadius: 20
|
| 143 |
+
\row
|
| 144 |
+
\li \l color: #ffffff
|
| 145 |
+
\li \l color: #ffffff
|
| 146 |
+
\li \l color: #ffffff
|
| 147 |
+
\row
|
| 148 |
+
\li \l cornerRadius: 25
|
| 149 |
+
\li \l cornerRadius: 25
|
| 150 |
+
\li \l cornerRadius: 25
|
| 151 |
+
\endtable
|
| 152 |
+
*/
|
| 153 |
+
property real spread: 0.0
|
| 154 |
+
|
| 155 |
+
/*!
|
| 156 |
+
This property defines the RGBA color value which is used for the glow.
|
| 157 |
+
|
| 158 |
+
By default, the property is set to \c "white".
|
| 159 |
+
|
| 160 |
+
\table
|
| 161 |
+
\header
|
| 162 |
+
\li Output examples with different color values
|
| 163 |
+
\li
|
| 164 |
+
\li
|
| 165 |
+
\row
|
| 166 |
+
\li \image RectangularGlow_color1.png
|
| 167 |
+
\li \image RectangularGlow_color2.png
|
| 168 |
+
\li \image RectangularGlow_color3.png
|
| 169 |
+
\row
|
| 170 |
+
\li \b { color: #ffffff }
|
| 171 |
+
\li \b { color: #55ff55 }
|
| 172 |
+
\li \b { color: #5555ff }
|
| 173 |
+
\row
|
| 174 |
+
\li \l glowRadius: 20
|
| 175 |
+
\li \l glowRadius: 20
|
| 176 |
+
\li \l glowRadius: 20
|
| 177 |
+
\row
|
| 178 |
+
\li \l spread: 0
|
| 179 |
+
\li \l spread: 0
|
| 180 |
+
\li \l spread: 0
|
| 181 |
+
\row
|
| 182 |
+
\li \l cornerRadius: 25
|
| 183 |
+
\li \l cornerRadius: 25
|
| 184 |
+
\li \l cornerRadius: 25
|
| 185 |
+
\endtable
|
| 186 |
+
*/
|
| 187 |
+
property color color: "white"
|
| 188 |
+
|
| 189 |
+
/*!
|
| 190 |
+
This property defines the corner radius that is used to draw a glow with
|
| 191 |
+
rounded corners.
|
| 192 |
+
|
| 193 |
+
The value ranges from 0.0 to half of the effective width or height of
|
| 194 |
+
the glow, whichever is smaller. This can be calculated with: \c{
|
| 195 |
+
min(width, height) / 2.0 + glowRadius}
|
| 196 |
+
|
| 197 |
+
By default, the property is bound to glowRadius property. The glow
|
| 198 |
+
behaves as if the rectangle was blurred when adjusting the glowRadius
|
| 199 |
+
property.
|
| 200 |
+
|
| 201 |
+
\table
|
| 202 |
+
\header
|
| 203 |
+
\li Output examples with different cornerRadius values
|
| 204 |
+
\li
|
| 205 |
+
\li
|
| 206 |
+
\row
|
| 207 |
+
\li \image RectangularGlow_cornerRadius1.png
|
| 208 |
+
\li \image RectangularGlow_cornerRadius2.png
|
| 209 |
+
\li \image RectangularGlow_cornerRadius3.png
|
| 210 |
+
\row
|
| 211 |
+
\li \b { cornerRadius: 0 }
|
| 212 |
+
\li \b { cornerRadius: 25 }
|
| 213 |
+
\li \b { cornerRadius: 50 }
|
| 214 |
+
\row
|
| 215 |
+
\li \l glowRadius: 20
|
| 216 |
+
\li \l glowRadius: 20
|
| 217 |
+
\li \l glowRadius: 20
|
| 218 |
+
\row
|
| 219 |
+
\li \l spread: 0
|
| 220 |
+
\li \l spread: 0
|
| 221 |
+
\li \l spread: 0
|
| 222 |
+
\row
|
| 223 |
+
\li \l color: #ffffff
|
| 224 |
+
\li \l color: #ffffff
|
| 225 |
+
\li \l color: #ffffff
|
| 226 |
+
\endtable
|
| 227 |
+
*/
|
| 228 |
+
property real cornerRadius: glowRadius
|
| 229 |
+
|
| 230 |
+
/*!
|
| 231 |
+
This property allows the effect output pixels to be cached in order to
|
| 232 |
+
improve the rendering performance.
|
| 233 |
+
|
| 234 |
+
Every time the source or effect properties are changed, the pixels in
|
| 235 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 236 |
+
extra buffer of memory is required for storing the effect output.
|
| 237 |
+
|
| 238 |
+
It is recommended to disable the cache when the source or the effect
|
| 239 |
+
properties are animated.
|
| 240 |
+
|
| 241 |
+
By default, the property is set to \c false.
|
| 242 |
+
*/
|
| 243 |
+
property bool cached: false
|
| 244 |
+
|
| 245 |
+
ShaderEffectSource {
|
| 246 |
+
id: cacheItem
|
| 247 |
+
anchors.fill: shaderItem
|
| 248 |
+
visible: rootItem.cached
|
| 249 |
+
smooth: true
|
| 250 |
+
sourceItem: shaderItem
|
| 251 |
+
live: true
|
| 252 |
+
hideSource: visible
|
| 253 |
+
}
|
| 254 |
+
|
| 255 |
+
ShaderEffect {
|
| 256 |
+
id: shaderItem
|
| 257 |
+
|
| 258 |
+
x: (parent.width - width) / 2.0
|
| 259 |
+
y: (parent.height - height) / 2.0
|
| 260 |
+
width: parent.width + rootItem.glowRadius * 2 + cornerRadius * 2
|
| 261 |
+
height: parent.height + rootItem.glowRadius * 2 + cornerRadius * 2
|
| 262 |
+
|
| 263 |
+
function clampedCornerRadius() {
|
| 264 |
+
var maxCornerRadius = Math.min(rootItem.width, rootItem.height) / 2 + glowRadius;
|
| 265 |
+
return Math.max(0, Math.min(rootItem.cornerRadius, maxCornerRadius))
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
property color color: rootItem.color
|
| 269 |
+
property real inverseSpread: 1.0 - rootItem.spread
|
| 270 |
+
property real relativeSizeX: ((inverseSpread * inverseSpread) * rootItem.glowRadius + cornerRadius * 2.0) / width
|
| 271 |
+
property real relativeSizeY: relativeSizeX * (width / height)
|
| 272 |
+
property real spread: rootItem.spread / 2.0
|
| 273 |
+
property real cornerRadius: clampedCornerRadius()
|
| 274 |
+
|
| 275 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/rectangularglow.frag.qsb"
|
| 276 |
+
}
|
| 277 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/ThresholdMask.qml
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
/*!
|
| 55 |
+
\qmltype ThresholdMask
|
| 56 |
+
\inqmlmodule Qt5Compat.GraphicalEffects
|
| 57 |
+
\since QtGraphicalEffects 1.0
|
| 58 |
+
\inherits QtQuick2::Item
|
| 59 |
+
\ingroup qtgraphicaleffects-mask
|
| 60 |
+
\brief Masks the source item with another item and applies a threshold
|
| 61 |
+
value.
|
| 62 |
+
|
| 63 |
+
The masking behavior can be controlled with the \l threshold value for the
|
| 64 |
+
mask pixels.
|
| 65 |
+
|
| 66 |
+
\table
|
| 67 |
+
\header
|
| 68 |
+
\li Source
|
| 69 |
+
\li MaskSource
|
| 70 |
+
\li Effect applied
|
| 71 |
+
\row
|
| 72 |
+
\li \image Original_bug.png
|
| 73 |
+
\li \image ThresholdMask_mask.png
|
| 74 |
+
\li \image ThresholdMask_bug.png
|
| 75 |
+
\endtable
|
| 76 |
+
|
| 77 |
+
\section1 Example
|
| 78 |
+
|
| 79 |
+
The following example shows how to apply the effect.
|
| 80 |
+
\snippet ThresholdMask-example.qml example
|
| 81 |
+
*/
|
| 82 |
+
Item {
|
| 83 |
+
id: rootItem
|
| 84 |
+
|
| 85 |
+
/*!
|
| 86 |
+
This property defines the source item that is going to be masked.
|
| 87 |
+
|
| 88 |
+
\note It is not supported to let the effect include itself, for
|
| 89 |
+
instance by setting source to the effect's parent.
|
| 90 |
+
*/
|
| 91 |
+
property variant source
|
| 92 |
+
|
| 93 |
+
/*!
|
| 94 |
+
This property defines the item that is going to be used as the mask.
|
| 95 |
+
Mask item gets rendered into an intermediate pixel buffer and the alpha
|
| 96 |
+
values from the result are used to determine the source item's pixels
|
| 97 |
+
visibility in the display.
|
| 98 |
+
|
| 99 |
+
\table
|
| 100 |
+
\header
|
| 101 |
+
\li Original
|
| 102 |
+
\li Mask
|
| 103 |
+
\li Effect applied
|
| 104 |
+
\row
|
| 105 |
+
\li \image Original_bug.png
|
| 106 |
+
\li \image ThresholdMask_mask.png
|
| 107 |
+
\li \image ThresholdMask_bug.png
|
| 108 |
+
\endtable
|
| 109 |
+
|
| 110 |
+
\note It is not supported to let the effect include itself, for
|
| 111 |
+
instance by setting maskSource to the effect's parent.
|
| 112 |
+
*/
|
| 113 |
+
property variant maskSource
|
| 114 |
+
|
| 115 |
+
/*!
|
| 116 |
+
This property defines a threshold value for the mask pixels. The mask
|
| 117 |
+
pixels that have an alpha value below this property are used to
|
| 118 |
+
completely mask away the corresponding pixels from the source item. The
|
| 119 |
+
mask pixels that have a higher alpha value are used to alphablend the
|
| 120 |
+
source item to the display.
|
| 121 |
+
|
| 122 |
+
The value ranges from 0.0 (alpha value 0) to 1.0 (alpha value 255). By
|
| 123 |
+
default, the property is set to \c 0.0.
|
| 124 |
+
|
| 125 |
+
\table
|
| 126 |
+
\header
|
| 127 |
+
\li Output examples with different threshold values
|
| 128 |
+
\li
|
| 129 |
+
\li
|
| 130 |
+
\row
|
| 131 |
+
\li \image ThresholdMask_threshold1.png
|
| 132 |
+
\li \image ThresholdMask_threshold2.png
|
| 133 |
+
\li \image ThresholdMask_threshold3.png
|
| 134 |
+
\row
|
| 135 |
+
\li \b { threshold: 0.0 }
|
| 136 |
+
\li \b { threshold: 0.5 }
|
| 137 |
+
\li \b { threshold: 0.7 }
|
| 138 |
+
\row
|
| 139 |
+
\li \l spread: 0.2
|
| 140 |
+
\li \l spread: 0.2
|
| 141 |
+
\li \l spread: 0.2
|
| 142 |
+
\endtable
|
| 143 |
+
*/
|
| 144 |
+
property real threshold: 0.0
|
| 145 |
+
|
| 146 |
+
/*!
|
| 147 |
+
This property defines the smoothness of the mask edges near the
|
| 148 |
+
\l{ThresholdMask::threshold}{threshold} alpha value. Setting spread to
|
| 149 |
+
0.0 uses mask normally with the specified threshold. Setting higher
|
| 150 |
+
spread values softens the transition from the transparent mask pixels
|
| 151 |
+
towards opaque mask pixels by adding interpolated values between them.
|
| 152 |
+
|
| 153 |
+
The value ranges from 0.0 (sharp mask edge) to 1.0 (smooth mask edge).
|
| 154 |
+
By default, the property is set to \c 0.0.
|
| 155 |
+
|
| 156 |
+
\table
|
| 157 |
+
\header
|
| 158 |
+
\li Output examples with different spread values
|
| 159 |
+
\li
|
| 160 |
+
\li
|
| 161 |
+
\row
|
| 162 |
+
\li \image ThresholdMask_spread1.png
|
| 163 |
+
\li \image ThresholdMask_spread2.png
|
| 164 |
+
\li \image ThresholdMask_spread3.png
|
| 165 |
+
\row
|
| 166 |
+
\li \b { spread: 0.0 }
|
| 167 |
+
\li \b { spread: 0.2 }
|
| 168 |
+
\li \b { spread: 0.8 }
|
| 169 |
+
\row
|
| 170 |
+
\li \l threshold: 0.4
|
| 171 |
+
\li \l threshold: 0.4
|
| 172 |
+
\li \l threshold: 0.4
|
| 173 |
+
\endtable
|
| 174 |
+
|
| 175 |
+
*/
|
| 176 |
+
property real spread: 0.0
|
| 177 |
+
|
| 178 |
+
/*!
|
| 179 |
+
This property allows the effect output pixels to be cached in order to
|
| 180 |
+
improve the rendering performance.
|
| 181 |
+
|
| 182 |
+
Every time the source or effect properties are changed, the pixels in
|
| 183 |
+
the cache must be updated. Memory consumption is increased, because an
|
| 184 |
+
extra buffer of memory is required for storing the effect output.
|
| 185 |
+
|
| 186 |
+
It is recommended to disable the cache when the source or the effect
|
| 187 |
+
properties are animated.
|
| 188 |
+
|
| 189 |
+
By default, the property is set to \c false.
|
| 190 |
+
*/
|
| 191 |
+
property bool cached: false
|
| 192 |
+
|
| 193 |
+
SourceProxy {
|
| 194 |
+
id: sourceProxy
|
| 195 |
+
input: rootItem.source
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
SourceProxy {
|
| 199 |
+
id: maskSourceProxy
|
| 200 |
+
input: rootItem.maskSource
|
| 201 |
+
}
|
| 202 |
+
|
| 203 |
+
ShaderEffectSource {
|
| 204 |
+
id: cacheItem
|
| 205 |
+
anchors.fill: parent
|
| 206 |
+
visible: rootItem.cached
|
| 207 |
+
smooth: true
|
| 208 |
+
sourceItem: shaderItem
|
| 209 |
+
live: true
|
| 210 |
+
hideSource: visible
|
| 211 |
+
}
|
| 212 |
+
|
| 213 |
+
ShaderEffect {
|
| 214 |
+
id: shaderItem
|
| 215 |
+
property variant source: sourceProxy.output
|
| 216 |
+
property variant maskSource: maskSourceProxy.output
|
| 217 |
+
property real threshold: rootItem.threshold
|
| 218 |
+
property real spread: rootItem.spread
|
| 219 |
+
|
| 220 |
+
anchors.fill: parent
|
| 221 |
+
|
| 222 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/thresholdmask.frag.qsb"
|
| 223 |
+
}
|
| 224 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/plugins.qmltypes
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import QtQuick.tooling 1.2
|
| 2 |
+
|
| 3 |
+
// This file describes the plugin-supplied types contained in the library.
|
| 4 |
+
// It is used for QML tooling purposes only.
|
| 5 |
+
//
|
| 6 |
+
// This file was auto-generated by:
|
| 7 |
+
// 'qmlplugindump -nonrelocatable Qt5Compat.GraphicalEffects 6.0'
|
| 8 |
+
|
| 9 |
+
Module {
|
| 10 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/private/FastGlow.qml
ADDED
|
@@ -0,0 +1,342 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/****************************************************************************
|
| 2 |
+
**
|
| 3 |
+
** Copyright (C) 2020 The Qt Company Ltd.
|
| 4 |
+
** Contact: https://www.qt.io/licensing/
|
| 5 |
+
**
|
| 6 |
+
** This file is part of the Qt Graphical Effects module of the Qt Toolkit.
|
| 7 |
+
**
|
| 8 |
+
** $QT_BEGIN_LICENSE:BSD$
|
| 9 |
+
** Commercial License Usage
|
| 10 |
+
** Licensees holding valid commercial Qt licenses may use this file in
|
| 11 |
+
** accordance with the commercial license agreement provided with the
|
| 12 |
+
** Software or, alternatively, in accordance with the terms contained in
|
| 13 |
+
** a written agreement between you and The Qt Company. For licensing terms
|
| 14 |
+
** and conditions see https://www.qt.io/terms-conditions. For further
|
| 15 |
+
** information use the contact form at https://www.qt.io/contact-us.
|
| 16 |
+
**
|
| 17 |
+
** BSD License Usage
|
| 18 |
+
** Alternatively, you may use this file under the terms of the BSD license
|
| 19 |
+
** as follows:
|
| 20 |
+
**
|
| 21 |
+
** "Redistribution and use in source and binary forms, with or without
|
| 22 |
+
** modification, are permitted provided that the following conditions are
|
| 23 |
+
** met:
|
| 24 |
+
** * Redistributions of source code must retain the above copyright
|
| 25 |
+
** notice, this list of conditions and the following disclaimer.
|
| 26 |
+
** * Redistributions in binary form must reproduce the above copyright
|
| 27 |
+
** notice, this list of conditions and the following disclaimer in
|
| 28 |
+
** the documentation and/or other materials provided with the
|
| 29 |
+
** distribution.
|
| 30 |
+
** * Neither the name of The Qt Company Ltd nor the names of its
|
| 31 |
+
** contributors may be used to endorse or promote products derived
|
| 32 |
+
** from this software without specific prior written permission.
|
| 33 |
+
**
|
| 34 |
+
**
|
| 35 |
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 36 |
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 37 |
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 38 |
+
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 39 |
+
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 40 |
+
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 41 |
+
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 42 |
+
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 43 |
+
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 44 |
+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 45 |
+
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
| 46 |
+
**
|
| 47 |
+
** $QT_END_LICENSE$
|
| 48 |
+
**
|
| 49 |
+
****************************************************************************/
|
| 50 |
+
|
| 51 |
+
import QtQuick
|
| 52 |
+
import Qt5Compat.GraphicalEffects.private
|
| 53 |
+
|
| 54 |
+
Item {
|
| 55 |
+
id: rootItem
|
| 56 |
+
property variant source
|
| 57 |
+
property real spread: 0.0
|
| 58 |
+
property real blur: 0.0
|
| 59 |
+
property color color: "white"
|
| 60 |
+
property bool transparentBorder: false
|
| 61 |
+
property bool cached: false
|
| 62 |
+
|
| 63 |
+
SourceProxy {
|
| 64 |
+
id: sourceProxy
|
| 65 |
+
input: rootItem.source
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
ShaderEffectSource {
|
| 69 |
+
id: cacheItem
|
| 70 |
+
anchors.fill: shaderItem
|
| 71 |
+
visible: rootItem.cached
|
| 72 |
+
smooth: true
|
| 73 |
+
sourceItem: shaderItem
|
| 74 |
+
live: true
|
| 75 |
+
hideSource: visible
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
property string __internalBlurVertexShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/fastblur_internal.vert.qsb"
|
| 79 |
+
|
| 80 |
+
property string __internalBlurFragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/fastblur_internal.frag.qsb"
|
| 81 |
+
|
| 82 |
+
ShaderEffect {
|
| 83 |
+
id: level0
|
| 84 |
+
property variant source: sourceProxy.output
|
| 85 |
+
anchors.fill: parent
|
| 86 |
+
visible: false
|
| 87 |
+
smooth: true
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
ShaderEffectSource {
|
| 91 |
+
id: level1
|
| 92 |
+
width: Math.ceil(shaderItem.width / 32) * 32
|
| 93 |
+
height: Math.ceil(shaderItem.height / 32) * 32
|
| 94 |
+
sourceItem: level0
|
| 95 |
+
hideSource: rootItem.visible
|
| 96 |
+
sourceRect: transparentBorder ? Qt.rect(-64, -64, shaderItem.width, shaderItem.height) : Qt.rect(0,0,0,0)
|
| 97 |
+
smooth: true
|
| 98 |
+
visible: false
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
ShaderEffect {
|
| 102 |
+
id: effect1
|
| 103 |
+
property variant source: level1
|
| 104 |
+
property real yStep: 1/height
|
| 105 |
+
property real xStep: 1/width
|
| 106 |
+
anchors.fill: level2
|
| 107 |
+
visible: false
|
| 108 |
+
smooth: true
|
| 109 |
+
vertexShader: __internalBlurVertexShader
|
| 110 |
+
fragmentShader: __internalBlurFragmentShader
|
| 111 |
+
}
|
| 112 |
+
|
| 113 |
+
ShaderEffectSource {
|
| 114 |
+
id: level2
|
| 115 |
+
width: level1.width / 2
|
| 116 |
+
height: level1.height / 2
|
| 117 |
+
sourceItem: effect1
|
| 118 |
+
hideSource: rootItem.visible
|
| 119 |
+
visible: false
|
| 120 |
+
smooth: true
|
| 121 |
+
}
|
| 122 |
+
|
| 123 |
+
ShaderEffect {
|
| 124 |
+
id: effect2
|
| 125 |
+
property variant source: level2
|
| 126 |
+
property real yStep: 1/height
|
| 127 |
+
property real xStep: 1/width
|
| 128 |
+
anchors.fill: level3
|
| 129 |
+
visible: false
|
| 130 |
+
smooth: true
|
| 131 |
+
vertexShader: __internalBlurVertexShader
|
| 132 |
+
fragmentShader: __internalBlurFragmentShader
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
ShaderEffectSource {
|
| 136 |
+
id: level3
|
| 137 |
+
width: level2.width / 2
|
| 138 |
+
height: level2.height / 2
|
| 139 |
+
sourceItem: effect2
|
| 140 |
+
hideSource: rootItem.visible
|
| 141 |
+
visible: false
|
| 142 |
+
smooth: true
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
ShaderEffect {
|
| 146 |
+
id: effect3
|
| 147 |
+
property variant source: level3
|
| 148 |
+
property real yStep: 1/height
|
| 149 |
+
property real xStep: 1/width
|
| 150 |
+
anchors.fill: level4
|
| 151 |
+
visible: false
|
| 152 |
+
smooth: true
|
| 153 |
+
vertexShader: __internalBlurVertexShader
|
| 154 |
+
fragmentShader: __internalBlurFragmentShader
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
ShaderEffectSource {
|
| 158 |
+
id: level4
|
| 159 |
+
width: level3.width / 2
|
| 160 |
+
height: level3.height / 2
|
| 161 |
+
sourceItem: effect3
|
| 162 |
+
hideSource: rootItem.visible
|
| 163 |
+
visible: false
|
| 164 |
+
smooth: true
|
| 165 |
+
}
|
| 166 |
+
|
| 167 |
+
ShaderEffect {
|
| 168 |
+
id: effect4
|
| 169 |
+
property variant source: level4
|
| 170 |
+
property real yStep: 1/height
|
| 171 |
+
property real xStep: 1/width
|
| 172 |
+
anchors.fill: level5
|
| 173 |
+
visible: false
|
| 174 |
+
smooth: true
|
| 175 |
+
vertexShader: __internalBlurVertexShader
|
| 176 |
+
fragmentShader: __internalBlurFragmentShader
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
ShaderEffectSource {
|
| 180 |
+
id: level5
|
| 181 |
+
width: level4.width / 2
|
| 182 |
+
height: level4.height / 2
|
| 183 |
+
sourceItem: effect4
|
| 184 |
+
hideSource: rootItem.visible
|
| 185 |
+
visible: false
|
| 186 |
+
smooth: true
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
ShaderEffect {
|
| 190 |
+
id: effect5
|
| 191 |
+
property variant source: level5
|
| 192 |
+
property real yStep: 1/height
|
| 193 |
+
property real xStep: 1/width
|
| 194 |
+
anchors.fill: level6
|
| 195 |
+
visible: false
|
| 196 |
+
smooth: true
|
| 197 |
+
vertexShader: __internalBlurVertexShader
|
| 198 |
+
fragmentShader: __internalBlurFragmentShader
|
| 199 |
+
}
|
| 200 |
+
|
| 201 |
+
ShaderEffectSource {
|
| 202 |
+
id: level6
|
| 203 |
+
width: level5.width / 2
|
| 204 |
+
height: level5.height / 2
|
| 205 |
+
sourceItem: effect5
|
| 206 |
+
hideSource: rootItem.visible
|
| 207 |
+
visible: false
|
| 208 |
+
smooth: true
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
Item {
|
| 212 |
+
id: dummysource
|
| 213 |
+
width: 1
|
| 214 |
+
height: 1
|
| 215 |
+
visible: false
|
| 216 |
+
}
|
| 217 |
+
|
| 218 |
+
ShaderEffectSource {
|
| 219 |
+
id: dummy
|
| 220 |
+
width: 1
|
| 221 |
+
height: 1
|
| 222 |
+
sourceItem: dummysource
|
| 223 |
+
visible: false
|
| 224 |
+
smooth: false
|
| 225 |
+
live: false
|
| 226 |
+
}
|
| 227 |
+
|
| 228 |
+
ShaderEffect {
|
| 229 |
+
id: shaderItem
|
| 230 |
+
x: transparentBorder ? -64 : 0
|
| 231 |
+
y: transparentBorder ? -64 : 0
|
| 232 |
+
width: transparentBorder ? parent.width + 128 : parent.width
|
| 233 |
+
height: transparentBorder ? parent.height + 128 : parent.height
|
| 234 |
+
|
| 235 |
+
property variant source1: level1
|
| 236 |
+
property variant source2: level2
|
| 237 |
+
property variant source3: level3
|
| 238 |
+
property variant source4: level4
|
| 239 |
+
property variant source5: level5
|
| 240 |
+
property variant source6: level6
|
| 241 |
+
property real lod: rootItem.blur
|
| 242 |
+
|
| 243 |
+
property real weight1;
|
| 244 |
+
property real weight2;
|
| 245 |
+
property real weight3;
|
| 246 |
+
property real weight4;
|
| 247 |
+
property real weight5;
|
| 248 |
+
property real weight6;
|
| 249 |
+
|
| 250 |
+
property real spread: 1.0 - (rootItem.spread * 0.98)
|
| 251 |
+
property alias color: rootItem.color
|
| 252 |
+
|
| 253 |
+
function weight(v) {
|
| 254 |
+
if (v <= 0.0)
|
| 255 |
+
return 1
|
| 256 |
+
if (v >= 0.5)
|
| 257 |
+
return 0
|
| 258 |
+
|
| 259 |
+
return 1.0 - v / 0.5
|
| 260 |
+
}
|
| 261 |
+
|
| 262 |
+
function calculateWeights() {
|
| 263 |
+
|
| 264 |
+
var w1 = weight(Math.abs(lod - 0.100))
|
| 265 |
+
var w2 = weight(Math.abs(lod - 0.300))
|
| 266 |
+
var w3 = weight(Math.abs(lod - 0.500))
|
| 267 |
+
var w4 = weight(Math.abs(lod - 0.700))
|
| 268 |
+
var w5 = weight(Math.abs(lod - 0.900))
|
| 269 |
+
var w6 = weight(Math.abs(lod - 1.100))
|
| 270 |
+
|
| 271 |
+
var sum = w1 + w2 + w3 + w4 + w5 + w6;
|
| 272 |
+
weight1 = w1 / sum;
|
| 273 |
+
weight2 = w2 / sum;
|
| 274 |
+
weight3 = w3 / sum;
|
| 275 |
+
weight4 = w4 / sum;
|
| 276 |
+
weight5 = w5 / sum;
|
| 277 |
+
weight6 = w6 / sum;
|
| 278 |
+
|
| 279 |
+
upateSources()
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
function upateSources() {
|
| 283 |
+
var sources = new Array();
|
| 284 |
+
var weights = new Array();
|
| 285 |
+
|
| 286 |
+
if (weight1 > 0) {
|
| 287 |
+
sources.push(level1)
|
| 288 |
+
weights.push(weight1)
|
| 289 |
+
}
|
| 290 |
+
|
| 291 |
+
if (weight2 > 0) {
|
| 292 |
+
sources.push(level2)
|
| 293 |
+
weights.push(weight2)
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
if (weight3 > 0) {
|
| 297 |
+
sources.push(level3)
|
| 298 |
+
weights.push(weight3)
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
if (weight4 > 0) {
|
| 302 |
+
sources.push(level4)
|
| 303 |
+
weights.push(weight4)
|
| 304 |
+
}
|
| 305 |
+
|
| 306 |
+
if (weight5 > 0) {
|
| 307 |
+
sources.push(level5)
|
| 308 |
+
weights.push(weight5)
|
| 309 |
+
}
|
| 310 |
+
|
| 311 |
+
if (weight6 > 0) {
|
| 312 |
+
sources.push(level6)
|
| 313 |
+
weights.push(weight6)
|
| 314 |
+
}
|
| 315 |
+
|
| 316 |
+
for (var j = sources.length; j < 6; j++) {
|
| 317 |
+
sources.push(dummy)
|
| 318 |
+
weights.push(0.0)
|
| 319 |
+
}
|
| 320 |
+
|
| 321 |
+
source1 = sources[0]
|
| 322 |
+
source2 = sources[1]
|
| 323 |
+
source3 = sources[2]
|
| 324 |
+
source4 = sources[3]
|
| 325 |
+
source5 = sources[4]
|
| 326 |
+
source6 = sources[5]
|
| 327 |
+
|
| 328 |
+
weight1 = weights[0]
|
| 329 |
+
weight2 = weights[1]
|
| 330 |
+
weight3 = weights[2]
|
| 331 |
+
weight4 = weights[3]
|
| 332 |
+
weight5 = weights[4]
|
| 333 |
+
weight6 = weights[5]
|
| 334 |
+
}
|
| 335 |
+
|
| 336 |
+
Component.onCompleted: calculateWeights()
|
| 337 |
+
|
| 338 |
+
onLodChanged: calculateWeights()
|
| 339 |
+
|
| 340 |
+
fragmentShader: "qrc:/qt-project.org/imports/Qt5Compat/GraphicalEffects/shaders_ng/fastglow.frag.qsb"
|
| 341 |
+
}
|
| 342 |
+
}
|
4.8.0.1779/Qt5Compat/GraphicalEffects/private/qmldir
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module Qt5Compat.GraphicalEffects.private
|
| 2 |
+
linktarget Qt6::qtgraphicaleffectsprivate
|
| 3 |
+
plugin qtgraphicaleffectsprivateplugin
|
| 4 |
+
classname QtGraphicalEffectsPrivatePlugin
|
| 5 |
+
typeinfo plugins.qmltypes
|
| 6 |
+
prefer :/qt-project.org/imports/Qt5Compat/GraphicalEffects/private/
|
| 7 |
+
FastGlow 6.0 FastGlow.qml
|
| 8 |
+
FastGlow 1.0 FastGlow.qml
|
| 9 |
+
|
4.8.0.1779/Qt5Compat/GraphicalEffects/private/qtgraphicaleffectsprivateplugin.dll
ADDED
|
Binary file (85.2 kB). View file
|
|
|
4.8.0.1779/Qt5Compat/GraphicalEffects/qmldir
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module Qt5Compat.GraphicalEffects
|
| 2 |
+
linktarget Qt6::qtgraphicaleffectsplugin
|
| 3 |
+
plugin qtgraphicaleffectsplugin
|
| 4 |
+
classname QtGraphicalEffectsPlugin
|
| 5 |
+
designersupported
|
| 6 |
+
typeinfo plugins.qmltypes
|
| 7 |
+
depends Qt5Compat.GraphicalEffects.private
|
| 8 |
+
depends QtQuick.Window
|
| 9 |
+
prefer :/qt-project.org/imports/Qt5Compat/GraphicalEffects/
|
| 10 |
+
BrightnessContrast 6.0 BrightnessContrast.qml
|
| 11 |
+
BrightnessContrast 1.0 BrightnessContrast.qml
|
| 12 |
+
ColorOverlay 6.0 ColorOverlay.qml
|
| 13 |
+
ColorOverlay 1.0 ColorOverlay.qml
|
| 14 |
+
Colorize 6.0 Colorize.qml
|
| 15 |
+
Colorize 1.0 Colorize.qml
|
| 16 |
+
ConicalGradient 6.0 ConicalGradient.qml
|
| 17 |
+
ConicalGradient 1.0 ConicalGradient.qml
|
| 18 |
+
Desaturate 6.0 Desaturate.qml
|
| 19 |
+
Desaturate 1.0 Desaturate.qml
|
| 20 |
+
Displace 6.0 Displace.qml
|
| 21 |
+
Displace 1.0 Displace.qml
|
| 22 |
+
DropShadow 6.0 DropShadow.qml
|
| 23 |
+
DropShadow 1.0 DropShadow.qml
|
| 24 |
+
FastBlur 6.0 FastBlur.qml
|
| 25 |
+
FastBlur 1.0 FastBlur.qml
|
| 26 |
+
GammaAdjust 6.0 GammaAdjust.qml
|
| 27 |
+
GammaAdjust 1.0 GammaAdjust.qml
|
| 28 |
+
Glow 6.0 Glow.qml
|
| 29 |
+
Glow 1.0 Glow.qml
|
| 30 |
+
HueSaturation 6.0 HueSaturation.qml
|
| 31 |
+
HueSaturation 1.0 HueSaturation.qml
|
| 32 |
+
LevelAdjust 6.0 LevelAdjust.qml
|
| 33 |
+
LevelAdjust 1.0 LevelAdjust.qml
|
| 34 |
+
LinearGradient 6.0 LinearGradient.qml
|
| 35 |
+
LinearGradient 1.0 LinearGradient.qml
|
| 36 |
+
OpacityMask 6.0 OpacityMask.qml
|
| 37 |
+
OpacityMask 1.0 OpacityMask.qml
|
| 38 |
+
RadialGradient 6.0 RadialGradient.qml
|
| 39 |
+
RadialGradient 1.0 RadialGradient.qml
|
| 40 |
+
RectangularGlow 6.0 RectangularGlow.qml
|
| 41 |
+
RectangularGlow 1.0 RectangularGlow.qml
|
| 42 |
+
ThresholdMask 6.0 ThresholdMask.qml
|
| 43 |
+
ThresholdMask 1.0 ThresholdMask.qml
|
| 44 |
+
|