Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
b97aa396 by Fatih Uzunoglu at 2025-07-28T09:57:40+00:00
qml: expose the texture provider in `ImageExt`
- - - - -
1 changed file:
- modules/gui/qt/widgets/qml/ImageExt.qml
Changes:
=====================================
modules/gui/qt/widgets/qml/ImageExt.qml
=====================================
@@ -26,6 +26,10 @@ import QtQuick
// NOTE: Extra features are only available with the RHI graphics backend,
// particularly when shaders are supported.
// NOTE: Do not use this type if none of the extra features are used.
+// NOTE: This item is also a texture provider, but for technical reasons, it
is through an anonymous
+// item exposed through `textureProviderItem`. Note that, postprocessing
(any non-image/texture
+// level manipulation) is not going to be reflected in the texture
(similar to `Image`). Unless
+// particularly specified, the extra features of `ImageExt` are
postprocessing features.
Item {
id: root
@@ -54,6 +58,19 @@ Item {
property alias shaderStatus: shaderEffect.status
property alias cache: image.cache
+ // Normally `Image` itself is inherently a texture provider (without
needing a layer), but
+ // in `ImageExt` case, it is not. Obviously when `Image` is a texture
provider, postprocess
+ // manipulations (such as, `fillMode`, or `mirror`) would not be reflected
in the texture.
+ // The same applies here, any postprocessing feature such as rounding,
background coloring,
+ // outlining, would not be reflected in the texture. Still, we should make
it possible to
+ // expose a texture provider so that the texture can be accessed.
Unfortunately QML does
+ // not make it possible, but we can simply provide the `Image` here. I
purposefully do
+ // not use an alias property, because I do not want to expose the provider
as an `Image`,
+ // but rather as `Item`.
+ // WARNING: Consumers who downcast this item to `Image` are doing this on
their own
+ // discretion. It is discouraged, but not forbidden (or evil).
+ readonly property Item textureProviderItem: image
+
// Padding represents how much the content is shrunk. For now this is a
readonly property.
// Currently it only takes the `softEdgeMax` into calculation, as that's
what the shader
// uses to shrink to prevent "hard edges". Note that padding can only be
calculated properly
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/commit/b97aa396284a77a959378b00234ef25af283a8e1
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/commit/b97aa396284a77a959378b00234ef25af283a8e1
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits