diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2017-07-28 13:44:09 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2017-08-08 08:00:30 +0000 |
commit | 003e24d72a9647e2dc397906234059fee19103ec (patch) | |
tree | bbe749e8d665dda882cd7445f77e9d4c813b1e35 /examples | |
parent | 432e27ae092397cb2154f48103e729852c38cf2d (diff) |
shapes: Add support for radial gradients
Task-number: QTBUG-61857
Change-Id: I580e503d8266a9dca69bb542c22228df4ff4bf94
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/quick/shapes/content/item3.qml | 98 | ||||
-rw-r--r-- | examples/quick/shapes/content/pathitem.qml | 4 | ||||
-rw-r--r-- | examples/quick/shapes/content/pathitemgallery.qml | 4 | ||||
-rw-r--r-- | examples/quick/shapes/shapes.pro | 1 | ||||
-rw-r--r-- | examples/quick/shapes/shapes.qrc | 1 |
5 files changed, 106 insertions, 2 deletions
diff --git a/examples/quick/shapes/content/item3.qml b/examples/quick/shapes/content/item3.qml new file mode 100644 index 0000000000..4274f260f3 --- /dev/null +++ b/examples/quick/shapes/content/item3.qml @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtQuick module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.9 +import QtQuick.Shapes 1.0 + +Rectangle { + color: "lightGray" + Shape { + width: 200 + height: 150 + anchors.centerIn: parent + ShapePath { + strokeWidth: 4 + strokeColor: "red" + fillGradient: RadialGradient { + centerX: 100; centerY: 100; centerRadius: 100 + SequentialAnimation on focalRadius { + loops: Animation.Infinite + NumberAnimation { from: 1; to: 20; duration: 2000 } + NumberAnimation { from: 20; to: 1; duration: 2000 } + } + SequentialAnimation on focalX { + loops: Animation.Infinite + NumberAnimation { from: 50; to: 150; duration: 3000 } + NumberAnimation { from: 150; to: 50; duration: 3000 } + } + SequentialAnimation on focalY { + loops: Animation.Infinite + NumberAnimation { from: 50; to: 150; duration: 1000 } + NumberAnimation { from: 150; to: 50; duration: 1000 } + } + GradientStop { position: 0; color: "#ffffff" } + GradientStop { position: 0.11; color: "#f9ffa0" } + GradientStop { position: 0.13; color: "#f9ff99" } + GradientStop { position: 0.14; color: "#f3ff86" } + GradientStop { position: 0.49; color: "#93b353" } + GradientStop { position: 0.87; color: "#264619" } + GradientStop { position: 0.96; color: "#0c1306" } + GradientStop { position: 1; color: "#000000" } + } + fillColor: "blue" // ignored with the gradient set + strokeStyle: ShapePath.DashLine + dashPattern: [ 1, 4 ] + startX: 20; startY: 20 + PathLine { x: 180; y: 130 } + PathLine { x: 20; y: 130 } + PathLine { x: 20; y: 20 } + } + } +} diff --git a/examples/quick/shapes/content/pathitem.qml b/examples/quick/shapes/content/pathitem.qml index 0933aa79b2..e9c7ce4547 100644 --- a/examples/quick/shapes/content/pathitem.qml +++ b/examples/quick/shapes/content/pathitem.qml @@ -51,8 +51,8 @@ import QtQuick 2.0 Item { - width: 1024 - height: 768 + width: 1280 + height: 720 LauncherList { anchors.fill: parent Component.onCompleted: { diff --git a/examples/quick/shapes/content/pathitemgallery.qml b/examples/quick/shapes/content/pathitemgallery.qml index e871de4c52..4096743833 100644 --- a/examples/quick/shapes/content/pathitemgallery.qml +++ b/examples/quick/shapes/content/pathitemgallery.qml @@ -83,6 +83,10 @@ Rectangle { shapeUrl: "item5.qml" } ListElement { + name: "Radial gradient" + shapeUrl: "item3.qml" + } + ListElement { name: "Fill rules" shapeUrl: "item6.qml" } diff --git a/examples/quick/shapes/shapes.pro b/examples/quick/shapes/shapes.pro index 1b953f56ca..d884c0e8eb 100644 --- a/examples/quick/shapes/shapes.pro +++ b/examples/quick/shapes/shapes.pro @@ -11,6 +11,7 @@ OTHER_FILES += content/pathitem.qml \ content/tiger.qml \ content/item1.qml \ content/item2.qml \ + content/item3.qml \ content/item4.qml \ content/item5.qml \ content/item6.qml \ diff --git a/examples/quick/shapes/shapes.qrc b/examples/quick/shapes/shapes.qrc index 533ba090bc..388fb867dd 100644 --- a/examples/quick/shapes/shapes.qrc +++ b/examples/quick/shapes/shapes.qrc @@ -14,6 +14,7 @@ <file alias="tiger.qml">content/tiger.qml</file> <file alias="item1.qml">content/item1.qml</file> <file alias="item2.qml">content/item2.qml</file> + <file alias="item3.qml">content/item3.qml</file> <file alias="item4.qml">content/item4.qml</file> <file alias="item5.qml">content/item5.qml</file> <file alias="item6.qml">content/item6.qml</file> |