Update copyright year in Digia's license headers
[qt:qtgraphicaleffects.git] / tests / manual / testbed / TestRadialGradient.qml
1 /****************************************************************************
2 **
3 ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the Qt Graphical Effects module.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** You may use this file under the terms of the BSD license as follows:
10 **
11 ** "Redistribution and use in source and binary forms, with or without
12 ** modification, are permitted provided that the following conditions are
13 ** met:
14 **   * Redistributions of source code must retain the above copyright
15 **     notice, this list of conditions and the following disclaimer.
16 **   * Redistributions in binary form must reproduce the above copyright
17 **     notice, this list of conditions and the following disclaimer in
18 **     the documentation and/or other materials provided with the
19 **     distribution.
20 **   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
21 **     of its contributors may be used to endorse or promote products derived
22 **     from this software without specific prior written permission.
23 **
24 **
25 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36 **
37 ** $QT_END_LICENSE$
38 **
39 ****************************************************************************/
40
41 import QtQuick 2.0
42 import "../../../src/effects"
43
44 TestCaseTemplate {
45     ImageSource {
46         id: maskImage
47         source: "images/butterfly.png"
48     }
49
50     RadialGradient {
51         id: effect
52         anchors.fill: parent
53         cached: cachedCheckBox.selected
54         visible: enabledCheckBox.selected
55         source: maskCheckBox.selected ?  maskImage : undefined
56         horizontalOffset: (offsetPicker.xValue - 0.5) * width
57         verticalOffset: (offsetPicker.yValue - 0.5) * height
58         horizontalRadius: horizontalRadiusSlider.value
59         verticalRadius: verticalRadiusSlider.value
60         angle: angleSlider.value
61         gradient: Gradient {
62             GradientStop {position: 0.0; color: gradientBeginColorSlider.color}
63             GradientStop {position: 1.0; color: gradientEndColorSlider.color}
64         }
65     }
66
67     PositionPicker {
68         id: offsetPicker
69         xValue: 0.5
70         yValue: 0.5
71     }
72
73     bgColor: bgColorPicker.color
74     controls: [
75         Control {
76             caption: "general"
77             Label {
78                 caption: "horizontalOffset"
79                 text: effect.horizontalOffset.toFixed(1)
80             }
81             Label {
82                 caption: "verticalOffset"
83                 text: effect.verticalOffset.toFixed(1)
84             }
85             Slider {
86                 id: horizontalRadiusSlider
87                 minimum: 0
88                 maximum: effect.width
89                 value: effect.width / 2
90                 caption: "horizontalRadius"
91             }
92             Slider {
93                 id: verticalRadiusSlider
94                 minimum: 0
95                 maximum: effect.height
96                 value: effect.height / 2
97                 caption: "verticalRadius"
98             }
99             Slider {
100                 id: angleSlider
101                 minimum: 0
102                 maximum: 360
103                 value: 0
104                 caption: "angle"
105             }
106             CheckBox {
107                 id: maskCheckBox
108                 caption: "Use Mask"
109             }
110         },
111
112         Control {
113             caption: "gradient begin color"
114             ColorPicker {
115                 id: gradientBeginColorSlider
116                 hue: 0.67
117                 saturation: 1.0
118                 lightness: 0.5
119             }
120         },
121
122         Control {
123             caption: "gradient end color"
124             ColorPicker {
125                 id: gradientEndColorSlider
126                 hue: 0.5
127                 saturation: 1.0
128                 lightness: 0.5
129             }
130         },
131
132         Control {
133             caption: "advanced"
134             last: true
135             Label {
136                 caption: "Effect size"
137                 text: effect.width + "x" + effect.height
138             }
139             Label {
140                 caption: "FPS"
141                 text: fps
142             }
143             CheckBox {
144                 id: cachedCheckBox
145                 caption: "cached"
146             }
147             CheckBox {
148                 id: enabledCheckBox
149                 caption: "enabled"
150             }
151             CheckBox {
152                 id: updateCheckBox
153                 caption: "animated"
154                 selected: false
155             }
156             BGColorPicker {
157                 id: bgColorPicker
158             }
159         }
160     ]
161 }