Thanks Andrey. I'll report this on TJC as well, trying to get more visibility. I hope that some Sailor will notice it: it's not that important, but it's disturbing nonetheless.
On Tue, Feb 10, 2015 at 11:39 AM, Andrey Kozhevnikov <coderusin...@gmail.com > wrote: > yes i can confirm this behaviour. > > 10.02.2015 15:24, Luca Donaggio пишет: > > Hi Andrey, thanks for your reply. > > Still, can you try both tests on your Jolla? > The first shouldn't work, while the second does. > > On Tue, Feb 10, 2015 at 10:32 AM, Andrey Kozhevnikov < > coderusin...@gmail.com> wrote: > >> sorry, not using emulator at all. >> >> 10.02.2015 14:28, Luca Donaggio пишет: >> >> Anybody is willing to try my test code and confirm or deny my finding? >> >> On Fri, Feb 6, 2015 at 2:12 PM, Luca Donaggio <donag...@gmail.com> wrote: >> >>> The following code works fine in Emulator, changing the gradient of the >>> Rectangle correctly updates the nested ShaderEffectSource and it is >>> reflected on the ShaderEffect which uses it as its texture: >>> >>> Page { >>> id: page >>> >>> SilicaFlickable { >>> anchors.fill: parent >>> >>> contentHeight: column.height >>> >>> Column { >>> id: column >>> >>> anchors { top: parent.top; left: parent.left; right: >>> parent.right; leftMargin: Theme.paddingLarge; rightMargin: >>> Theme.paddingLarge; } >>> spacing: Theme.paddingLarge >>> >>> PageHeader { >>> title: qsTr("ShaderEffect Test") >>> } >>> >>> Row { >>> anchors.horizontalCenter: parent.horizontalCenter >>> spacing: Theme.paddingLarge >>> >>> Column { >>> spacing: Theme.paddingSmall >>> >>> Rectangle { >>> id: gradientSource >>> >>> property list<Gradient> gradients: [ >>> Gradient { >>> GradientStop { position: 0.0; color: >>> "black"; } >>> GradientStop { position: 1.0; color: >>> "blue"; } >>> }, >>> >>> Gradient { >>> GradientStop { position: 0.0; color: >>> "black"; } >>> GradientStop { position: 1.0; color: >>> "red"; } >>> } >>> ] >>> >>> width: 100 >>> height: 100 >>> >>> gradient: gradients[0] >>> >>> ShaderEffectSource { >>> id: gradientTexture >>> >>> anchors.fill: parent >>> sourceItem: gradientSource >>> hideSource: false >>> live: true >>> } >>> } >>> >>> Label { >>> font.pixelSize: Theme.fontSizeExtraSmall >>> wrapMode: Text.WordWrap >>> text: "Rectangle\nShaderEffectSource" >>> } >>> } >>> >>> Column { >>> spacing: Theme.paddingSmall >>> >>> ShaderEffect { >>> property variant source: gradientTexture >>> >>> width: 100 >>> height: 100 >>> >>> blending: false >>> cullMode: ShaderEffect.BackFaceCulling >>> fragmentShader: " >>> varying highp vec2 qt_TexCoord0; >>> uniform lowp float qt_Opacity; >>> uniform sampler2D source; >>> >>> void main() { >>> gl_FragColor = texture2D(source, >>> qt_TexCoord0) * qt_Opacity; >>> }" >>> } >>> >>> Label { >>> font.pixelSize: Theme.fontSizeExtraSmall >>> text: "ShaderEffect" >>> } >>> } >>> } >>> >>> Button { >>> anchors.horizontalCenter: parent.horizontalCenter >>> text: "Blue gradient" >>> >>> onClicked: gradientSource.gradient = >>> gradientSource.gradients[0] >>> } >>> >>> Button { >>> anchors.horizontalCenter: parent.horizontalCenter >>> text: "Red gradient" >>> >>> onClicked: gradientSource.gradient = >>> gradientSource.gradients[1] >>> } >>> } >>> } >>> } >>> >>> It doesn't work on device though (changing Reactangle's gradient doesn't >>> update the ShaderEffectSource). >>> >>> Un-nesting the ShaderEffectSource from its source item (the Rectangle) >>> works fine both on emulator and on device: >>> >>> Page { >>> id: page >>> >>> SilicaFlickable { >>> anchors.fill: parent >>> >>> contentHeight: column.height >>> >>> Column { >>> id: column >>> >>> anchors { top: parent.top; left: parent.left; right: >>> parent.right; leftMargin: Theme.paddingLarge; rightMargin: >>> Theme.paddingLarge; } >>> spacing: Theme.paddingLarge >>> >>> PageHeader { >>> title: qsTr("ShaderEffect Test") >>> } >>> >>> Row { >>> anchors.horizontalCenter: parent.horizontalCenter >>> spacing: Theme.paddingLarge >>> >>> Column { >>> spacing: Theme.paddingSmall >>> >>> Rectangle { >>> id: gradientSource >>> >>> property list<Gradient> gradients: [ >>> Gradient { >>> GradientStop { position: 0.0; color: >>> "black"; } >>> GradientStop { position: 1.0; color: >>> "blue"; } >>> }, >>> >>> Gradient { >>> GradientStop { position: 0.0; color: >>> "black"; } >>> GradientStop { position: 1.0; color: >>> "red"; } >>> } >>> ] >>> >>> width: 100 >>> height: 100 >>> >>> gradient: gradients[0] >>> } >>> >>> Label { >>> font.pixelSize: Theme.fontSizeExtraSmall >>> text: "Rectangle" >>> } >>> } >>> >>> Column { >>> spacing: Theme.paddingSmall >>> >>> ShaderEffectSource { >>> id: gradientTexture >>> >>> width: 100 >>> height: 100 >>> sourceItem: gradientSource >>> hideSource: false >>> live: true >>> } >>> >>> Label { >>> font.pixelSize: Theme.fontSizeExtraSmall >>> text: "ShaderEffectSource" >>> } >>> } >>> >>> Column { >>> spacing: Theme.paddingSmall >>> >>> ShaderEffect { >>> property variant source: gradientTexture >>> >>> width: 100 >>> height: 100 >>> >>> blending: false >>> cullMode: ShaderEffect.BackFaceCulling >>> fragmentShader: " >>> varying highp vec2 qt_TexCoord0; >>> uniform lowp float qt_Opacity; >>> uniform sampler2D source; >>> >>> void main() { >>> gl_FragColor = texture2D(source, >>> qt_TexCoord0) * qt_Opacity; >>> }" >>> } >>> >>> Label { >>> font.pixelSize: Theme.fontSizeExtraSmall >>> text: "ShaderEffect" >>> } >>> } >>> } >>> >>> Button { >>> anchors.horizontalCenter: parent.horizontalCenter >>> text: "Blue gradient" >>> >>> onClicked: gradientSource.gradient = >>> gradientSource.gradients[0] >>> } >>> >>> Button { >>> anchors.horizontalCenter: parent.horizontalCenter >>> text: "Red gradient" >>> >>> onClicked: gradientSource.gradient = >>> gradientSource.gradients[1] >>> } >>> } >>> } >>> } >>> >>> Is it a bug? >>> >>> -- >>> Luca Donaggio >>> >> >> >> >> -- >> Luca Donaggio >> >> >> _______________________________________________ >> SailfishOS.org Devel mailing list >> To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org >> >> >> >> _______________________________________________ >> SailfishOS.org Devel mailing list >> To unsubscribe, please send a mail to >> devel-unsubscr...@lists.sailfishos.org >> > > > > -- > Luca Donaggio > > > _______________________________________________ > SailfishOS.org Devel mailing list > To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org > > > > _______________________________________________ > SailfishOS.org Devel mailing list > To unsubscribe, please send a mail to > devel-unsubscr...@lists.sailfishos.org > -- Luca Donaggio
_______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org