summaryrefslogtreecommitdiffstats
path: root/src/qt3support/tools/q3gdict.h
blob: b0093739cd9adc94ec98fa7bfc58e7c642282e3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt3Support module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the either Technology Preview License Agreement or the
** Beta Release License Agreement.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain
** additional rights. These rights are described in the Nokia Qt LGPL
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/

#ifndef Q3GDICT_H
#define Q3GDICT_H

#include <Qt3Support/q3ptrcollection.h>
#include <QtCore/qstring.h>

QT_BEGIN_HEADER

QT_BEGIN_NAMESPACE

QT_MODULE(Qt3SupportLight)

class Q3GDictIterator;
class Q3GDItList;


class Q3BaseBucket				// internal dict node
{
public:
    Q3PtrCollection::Item	 getData()			{ return data; }
    Q3PtrCollection::Item	 setData( Q3PtrCollection::Item d ) { return data = d; }
    Q3BaseBucket		*getNext()			{ return next; }
    void		 setNext( Q3BaseBucket *n)	{ next = n; }
protected:
    Q3BaseBucket( Q3PtrCollection::Item d, Q3BaseBucket *n ) : data(d), next(n) {}
    Q3PtrCollection::Item	 data;
    Q3BaseBucket		*next;
};

class Q3StringBucket : public Q3BaseBucket
{
public:
    Q3StringBucket( const QString &k, Q3PtrCollection::Item d, Q3BaseBucket *n )
	: Q3BaseBucket(d,n), key(k)		{}
    const QString  &getKey() const		{ return key; }
private:
    QString	    key;
};

class Q3AsciiBucket : public Q3BaseBucket
{
public:
    Q3AsciiBucket( const char *k, Q3PtrCollection::Item d, Q3BaseBucket *n )
	: Q3BaseBucket(d,n), key(k) {}
    const char *getKey() const { return key; }
private:
    const char *key;
};

class Q3IntBucket : public Q3BaseBucket
{
public:
    Q3IntBucket( long k, Q3PtrCollection::Item d, Q3BaseBucket *n )
	: Q3BaseBucket(d,n), key(k) {}
    long  getKey() const { return key; }
private:
    long  key;
};

class Q3PtrBucket : public Q3BaseBucket
{
public:
    Q3PtrBucket( void *k, Q3PtrCollection::Item d, Q3BaseBucket *n )
	: Q3BaseBucket(d,n), key(k) {}
    void *getKey() const { return key; }
private:
    void *key;
};


class Q_COMPAT_EXPORT Q3GDict : public Q3PtrCollection	// generic dictionary class
{
public:
    uint	count() const	{ return numItems; }
    uint	size()	const	{ return vlen; }
    Q3PtrCollection::Item look_string( const QString& key, Q3PtrCollection::Item,
				   int );
    Q3PtrCollection::Item look_ascii( const char *key, Q3PtrCollection::Item, int );
    Q3PtrCollection::Item look_int( long key, Q3PtrCollection::Item, int );
    Q3PtrCollection::Item look_ptr( void *key, Q3PtrCollection::Item, int );
#ifndef QT_NO_DATASTREAM
    QDataStream &read( QDataStream & );
    QDataStream &write( QDataStream & ) const;
#endif
protected:
    enum KeyType { StringKey, AsciiKey, IntKey, PtrKey };

    Q3GDict( uint len, KeyType kt, bool cs, bool ck );
    Q3GDict( const Q3GDict & );
   ~Q3GDict();

    Q3GDict     &operator=( const Q3GDict & );

    bool	remove_string( const QString &key, Q3PtrCollection::Item item=0 );
    bool	remove_ascii( const char *key, Q3PtrCollection::Item item=0 );
    bool	remove_int( long key, Q3PtrCollection::Item item=0 );
    bool	remove_ptr( void *key, Q3PtrCollection::Item item=0 );
    Q3PtrCollection::Item take_string( const QString &key );
    Q3PtrCollection::Item take_ascii( const char *key );
    Q3PtrCollection::Item take_int( long key );
    Q3PtrCollection::Item take_ptr( void *key );

    void	clear();
    void	resize( uint );

    int		hashKeyString( const QString & );
    int		hashKeyAscii( const char * );

    void	statistics() const;

#ifndef QT_NO_DATASTREAM
    virtual QDataStream &read( QDataStream &, Q3PtrCollection::Item & );
    virtual QDataStream &write( QDataStream &, Q3PtrCollection::Item ) const;
#endif
private:
    Q3BaseBucket **vec;
    uint	vlen;
    uint	numItems;
    uint	keytype	: 2;
    uint	cases	: 1;
    uint	copyk	: 1;
    Q3GDItList  *iterators;
    void	   unlink_common( int, Q3BaseBucket *, Q3BaseBucket * );
    Q3StringBucket *unlink_string( const QString &,
				  Q3PtrCollection::Item item = 0 );
    Q3AsciiBucket  *unlink_ascii( const char *, Q3PtrCollection::Item item = 0 );
    Q3IntBucket    *unlink_int( long, Q3PtrCollection::Item item = 0 );
    Q3PtrBucket    *unlink_ptr( void *, Q3PtrCollection::Item item = 0 );
    void	init( uint, KeyType, bool, bool );
    friend class Q3GDictIterator;
};


class Q_COMPAT_EXPORT Q3GDictIterator			// generic dictionary iterator
{
friend class Q3GDict;
public:
    Q3GDictIterator( const Q3GDict & );
    Q3GDictIterator( const Q3GDictIterator & );
    Q3GDictIterator &operator=( const Q3GDictIterator & );
   ~Q3GDictIterator();

    Q3PtrCollection::Item toFirst();

    Q3PtrCollection::Item get()	     const;
    QString	      getKeyString() const;
    const char	     *getKeyAscii()  const;
    long	      getKeyInt()    const;
    void	     *getKeyPtr()    const;

    Q3PtrCollection::Item operator()();
    Q3PtrCollection::Item operator++();
    Q3PtrCollection::Item operator+=(uint);

protected:
    Q3GDict	     *dict;

private:
    Q3BaseBucket      *curNode;
    uint	      curIndex;
};

inline Q3PtrCollection::Item Q3GDictIterator::get() const
{
    return curNode ? curNode->getData() : 0;
}

inline QString Q3GDictIterator::getKeyString() const
{
    return curNode ? ((Q3StringBucket*)curNode)->getKey() : QString();
}

inline const char *Q3GDictIterator::getKeyAscii() const
{
    return curNode ? ((Q3AsciiBucket*)curNode)->getKey() : 0;
}

inline long Q3GDictIterator::getKeyInt() const
{
    return curNode ? ((Q3IntBucket*)curNode)->getKey() : 0;
}

inline void *Q3GDictIterator::getKeyPtr() const
{
    return curNode ? ((Q3PtrBucket*)curNode)->getKey() : 0;
}

QT_END_NAMESPACE

QT_END_HEADER

#endif // Q3GDICT_H
s/win32-icc/qmake.conf | 2 +- src/3rdparty/easing/easing.cpp | 669 +++++ src/3rdparty/easing/legal.qdoc | 35 + src/corelib/animation/animation.pri | 25 + src/corelib/animation/qabstractanimation.cpp | 757 ++++++ src/corelib/animation/qabstractanimation.h | 141 + src/corelib/animation/qabstractanimation_p.h | 141 + src/corelib/animation/qanimationgroup.cpp | 274 ++ src/corelib/animation/qanimationgroup.h | 92 + src/corelib/animation/qanimationgroup_p.h | 79 + src/corelib/animation/qparallelanimationgroup.cpp | 298 +++ src/corelib/animation/qparallelanimationgroup.h | 90 + src/corelib/animation/qparallelanimationgroup_p.h | 85 + src/corelib/animation/qpauseanimation.cpp | 139 + src/corelib/animation/qpauseanimation.h | 88 + src/corelib/animation/qpropertyanimation.cpp | 256 ++ src/corelib/animation/qpropertyanimation.h | 94 + src/corelib/animation/qpropertyanimation_p.h | 89 + .../animation/qsequentialanimationgroup.cpp | 572 ++++ src/corelib/animation/qsequentialanimationgroup.h | 100 + .../animation/qsequentialanimationgroup_p.h | 111 + src/corelib/animation/qvariantanimation.cpp | 599 +++++ src/corelib/animation/qvariantanimation.h | 136 + src/corelib/animation/qvariantanimation_p.h | 143 + src/corelib/arch/qatomic_bootstrap.h | 14 + src/corelib/corelib.pro | 2 + src/corelib/global/qglobal.h | 29 + src/corelib/kernel/kernel.pri | 18 +- src/corelib/kernel/qabstractitemmodel.cpp | 31 + src/corelib/kernel/qabstractitemmodel.h | 3 + src/corelib/kernel/qabstractitemmodel_p.h | 5 +- src/corelib/kernel/qcoreevent.h | 9 +- src/corelib/kernel/qmetaobject.cpp | 89 +- src/corelib/kernel/qmetaobject.h | 3 + src/corelib/kernel/qmetaobjectbuilder.cpp | 2438 +++++++++++++++++ src/corelib/kernel/qmetaobjectbuilder_p.h | 269 ++ src/corelib/kernel/qobject.cpp | 9 +- src/corelib/kernel/qobject.h | 11 + src/corelib/kernel/qobject_p.h | 8 + src/corelib/kernel/qobjectdefs.h | 4 + src/corelib/kernel/qvariant_p.h | 34 +- src/corelib/statemachine/qabstractstate.cpp | 155 ++ src/corelib/statemachine/qabstractstate.h | 57 + src/corelib/statemachine/qabstractstate_p.h | 64 + src/corelib/statemachine/qabstracttransition.cpp | 281 ++ src/corelib/statemachine/qabstracttransition.h | 69 + src/corelib/statemachine/qabstracttransition_p.h | 65 + src/corelib/statemachine/qactionstate.cpp | 385 +++ src/corelib/statemachine/qactionstate.h | 85 + src/corelib/statemachine/qactionstate_p.h | 55 + src/corelib/statemachine/qanimationstate.cpp | 574 ++++ src/corelib/statemachine/qanimationstate.h | 63 + src/corelib/statemachine/qboundevent_p.h | 52 + src/corelib/statemachine/qeventtransition.cpp | 263 ++ src/corelib/statemachine/qeventtransition.h | 68 + src/corelib/statemachine/qeventtransition_p.h | 48 + src/corelib/statemachine/qfinalstate.cpp | 103 + src/corelib/statemachine/qfinalstate.h | 50 + src/corelib/statemachine/qhistorystate.cpp | 145 + src/corelib/statemachine/qhistorystate.h | 56 + src/corelib/statemachine/qhistorystate_p.h | 53 + src/corelib/statemachine/qsignalevent.h | 45 + src/corelib/statemachine/qsignaleventgenerator_p.h | 55 + src/corelib/statemachine/qsignaltransition.cpp | 228 ++ src/corelib/statemachine/qsignaltransition.h | 63 + src/corelib/statemachine/qsignaltransition_p.h | 48 + src/corelib/statemachine/qstate.cpp | 469 ++++ src/corelib/statemachine/qstate.h | 94 + src/corelib/statemachine/qstate_p.h | 54 + src/corelib/statemachine/qstateaction.cpp | 469 ++++ src/corelib/statemachine/qstateaction.h | 121 + src/corelib/statemachine/qstateaction_p.h | 92 + src/corelib/statemachine/qstatefinishedevent.h | 40 + .../statemachine/qstatefinishedtransition.cpp | 152 ++ .../statemachine/qstatefinishedtransition.h | 58 + src/corelib/statemachine/qstatemachine.cpp | 1847 +++++++++++++ src/corelib/statemachine/qstatemachine.h | 116 + src/corelib/statemachine/qstatemachine_p.h | 175 ++ src/corelib/statemachine/qtransition.cpp | 230 ++ src/corelib/statemachine/qtransition.h | 68 + src/corelib/statemachine/qtransition_p.h | 50 + src/corelib/statemachine/statemachine.pri | 47 + src/corelib/tools/qeasingcurve.cpp | 844 ++++++ src/corelib/tools/qeasingcurve.h | 114 + src/corelib/tools/qtimeline.cpp | 114 +- src/corelib/tools/qtimeline.h | 7 + src/corelib/tools/tools.pri | 2 + src/declarative/3rdparty/3rdparty.pri | 2 + src/declarative/3rdparty/easing.cpp | 726 +++++ src/declarative/3rdparty/legal.qdoc | 35 + src/declarative/3rdparty/qlistmodelinterface.h | 122 + src/declarative/canvas/canvas.pri | 19 + src/declarative/canvas/qsimplecanvas.cpp | 981 +++++++ src/declarative/canvas/qsimplecanvas.h | 187 ++ .../canvas/qsimplecanvas_graphicsview.cpp | 180 ++ src/declarative/canvas/qsimplecanvas_opengl.cpp | 456 ++++ src/declarative/canvas/qsimplecanvas_opengl1.cpp | 401 +++ src/declarative/canvas/qsimplecanvas_p.h | 196 ++ src/declarative/canvas/qsimplecanvas_software.cpp | 190 ++ src/declarative/canvas/qsimplecanvasfilter.cpp | 323 +++ src/declarative/canvas/qsimplecanvasfilter.h | 113 + src/declarative/canvas/qsimplecanvasfilter_p.h | 70 + src/declarative/canvas/qsimplecanvasitem.cpp | 1841 +++++++++++++ src/declarative/canvas/qsimplecanvasitem.h | 300 +++ src/declarative/canvas/qsimplecanvasitem_p.h | 242 ++ src/declarative/canvas/qsimplecanvasserver.cpp | 107 + src/declarative/canvas/qsimplecanvasserver_p.h | 71 + src/declarative/declarative.pro | 25 + src/declarative/extra/extra.pri | 24 + src/declarative/extra/qfxintegermodel.cpp | 126 + src/declarative/extra/qfxintegermodel.h | 86 + src/declarative/extra/qmlnumberformatter.cpp | 214 ++ src/declarative/extra/qmlnumberformatter.h | 92 + src/declarative/extra/qmlsqlconnection.cpp | 441 +++ src/declarative/extra/qmlsqlconnection.h | 117 + src/declarative/extra/qmlsqlquery.cpp | 696 +++++ src/declarative/extra/qmlsqlquery.h | 143 + src/declarative/extra/qmlxmllistmodel.cpp | 357 +++ src/declarative/extra/qmlxmllistmodel.h | 139 + src/declarative/extra/qnumberformat.cpp | 224 ++ src/declarative/extra/qnumberformat.h | 172 ++ src/declarative/fx/fx.pri | 94 + src/declarative/fx/qfxanchors.cpp | 857 ++++++ src/declarative/fx/qfxanchors.h | 194 ++ src/declarative/fx/qfxanchors_p.h | 105 + src/declarative/fx/qfxanimatedimageitem.cpp | 211 ++ src/declarative/fx/qfxanimatedimageitem.h | 100 + src/declarative/fx/qfxanimatedimageitem_p.h | 77 + src/declarative/fx/qfxblendedimage.cpp | 249 ++ src/declarative/fx/qfxblendedimage.h | 105 + src/declarative/fx/qfxblurfilter.cpp | 462 ++++ src/declarative/fx/qfxblurfilter.h | 82 + src/declarative/fx/qfxcomponentinstance.cpp | 132 + src/declarative/fx/qfxcomponentinstance.h | 89 + src/declarative/fx/qfxcomponentinstance_p.h | 76 + src/declarative/fx/qfxcontentwrapper.cpp | 129 + src/declarative/fx/qfxcontentwrapper.h | 90 + src/declarative/fx/qfxcontentwrapper_p.h | 71 + src/declarative/fx/qfxflickable.cpp | 1113 ++++++++ src/declarative/fx/qfxflickable.h | 195 ++ src/declarative/fx/qfxflickable_p.h | 166 ++ src/declarative/fx/qfxfocuspanel.cpp | 104 + src/declarative/fx/qfxfocuspanel.h | 81 + src/declarative/fx/qfxfocusrealm.cpp | 72 + src/declarative/fx/qfxfocusrealm.h | 67 + src/declarative/fx/qfxgridview.cpp | 1469 ++++++++++ src/declarative/fx/qfxgridview.h | 148 ++ src/declarative/fx/qfxhighlightfilter.cpp | 315 +++ src/declarative/fx/qfxhighlightfilter.h | 98 + src/declarative/fx/qfximage.cpp | 935 +++++++ src/declarative/fx/qfximage.h | 124 + src/declarative/fx/qfximage_p.h | 117 + src/declarative/fx/qfximageitem.cpp | 343 +++ src/declarative/fx/qfximageitem.h | 100 + src/declarative/fx/qfximageitem_p.h | 95 + src/declarative/fx/qfxitem.cpp | 1751 ++++++++++++ src/declarative/fx/qfxitem.h | 285 ++ src/declarative/fx/qfxitem_p.h | 182 ++ src/declarative/fx/qfxkeyactions.cpp | 930 +++++++ src/declarative/fx/qfxkeyactions.h | 319 +++ src/declarative/fx/qfxkeyproxy.cpp | 116 + src/declarative/fx/qfxkeyproxy.h | 78 + src/declarative/fx/qfxlayouts.cpp | 1027 +++++++ src/declarative/fx/qfxlayouts.h | 171 ++ src/declarative/fx/qfxlayouts_p.h | 100 + src/declarative/fx/qfxlistview.cpp | 1680 ++++++++++++ src/declarative/fx/qfxlistview.h | 157 ++ src/declarative/fx/qfxmouseregion.cpp | 589 ++++ src/declarative/fx/qfxmouseregion.h | 162 ++ src/declarative/fx/qfxmouseregion_p.h | 101 + src/declarative/fx/qfxpainted.cpp | 193 ++ src/declarative/fx/qfxpainted.h | 84 + src/declarative/fx/qfxpainted_p.h | 84 + src/declarative/fx/qfxparticles.cpp | 1063 ++++++++ src/declarative/fx/qfxparticles.h | 240 ++ src/declarative/fx/qfxpath.cpp | 745 ++++++ src/declarative/fx/qfxpath.h | 257 ++ src/declarative/fx/qfxpath_p.h | 79 + src/declarative/fx/qfxpathview.cpp | 841 ++++++ src/declarative/fx/qfxpathview.h | 132 + src/declarative/fx/qfxpathview_p.h | 132 + src/declarative/fx/qfxpixmap.cpp | 284 ++ src/declarative/fx/qfxpixmap.h | 92 + src/declarative/fx/qfxrect.cpp | 851 ++++++ src/declarative/fx/qfxrect.h | 140 + src/declarative/fx/qfxrect_p.h | 107 + src/declarative/fx/qfxreflectionfilter.cpp | 358 +++ src/declarative/fx/qfxreflectionfilter.h | 96 + src/declarative/fx/qfxrepeater.cpp | 354 +++ src/declarative/fx/qfxrepeater.h | 88 + src/declarative/fx/qfxrepeater_p.h | 81 + src/declarative/fx/qfxscalegrid.cpp | 216 ++ src/declarative/fx/qfxscalegrid.h | 120 + src/declarative/fx/qfxshadowfilter.cpp | 202 ++ src/declarative/fx/qfxshadowfilter.h | 86 + src/declarative/fx/qfxtext.cpp | 958 +++++++ src/declarative/fx/qfxtext.h | 153 ++ src/declarative/fx/qfxtext_p.h | 132 + src/declarative/fx/qfxtextedit.cpp | 804 ++++++ src/declarative/fx/qfxtextedit.h | 187 ++ src/declarative/fx/qfxtextedit_p.h | 102 + src/declarative/fx/qfxtransform.cpp | 661 +++++ src/declarative/fx/qfxtransform.h | 274 ++ src/declarative/fx/qfxvisualitemmodel.cpp | 690 +++++ src/declarative/fx/qfxvisualitemmodel.h | 120 + src/declarative/fx/qfxwebview.cpp | 1079 ++++++++ src/declarative/fx/qfxwebview.h | 217 ++ src/declarative/fx/qfxwidgetcontainer.cpp | 108 + src/declarative/fx/qfxwidgetcontainer.h | 79 + src/declarative/opengl/glbasicshaders.cpp | 707 +++++ src/declarative/opengl/glbasicshaders.h | 244 ++ src/declarative/opengl/glheaders.h | 49 + src/declarative/opengl/glsave.cpp | 1 + src/declarative/opengl/glsave.h | 111 + src/declarative/opengl/gltexture.cpp | 321 +++ src/declarative/opengl/gltexture.h | 116 + src/declarative/opengl/opengl.pri | 20 + src/declarative/qml/qml.h | 98 + src/declarative/qml/qml.pri | 63 + src/declarative/qml/qmlbindablevalue.cpp | 210 ++ src/declarative/qml/qmlbindablevalue.h | 94 + src/declarative/qml/qmlboundsignal.cpp | 158 ++ src/declarative/qml/qmlboundsignal_p.h | 104 + src/declarative/qml/qmlclassfactory.cpp | 47 + src/declarative/qml/qmlclassfactory_p.h | 63 + src/declarative/qml/qmlcompiledcomponent.cpp | 170 ++ src/declarative/qml/qmlcompiledcomponent_p.h | 80 + src/declarative/qml/qmlcompiler.cpp | 1662 ++++++++++++ src/declarative/qml/qmlcompiler_p.h | 183 ++ src/declarative/qml/qmlcomponent.cpp | 405 +++ src/declarative/qml/qmlcomponent.h | 102 + src/declarative/qml/qmlcomponent_p.h | 85 + src/declarative/qml/qmlcompositetypemanager.cpp | 359 +++ src/declarative/qml/qmlcompositetypemanager_p.h | 144 + src/declarative/qml/qmlcontext.cpp | 405 +++ src/declarative/qml/qmlcontext.h | 104 + src/declarative/qml/qmlcontext_p.h | 87 + src/declarative/qml/qmlcustomparser.cpp | 96 + src/declarative/qml/qmlcustomparser.h | 82 + src/declarative/qml/qmldom.cpp | 1372 ++++++++++ src/declarative/qml/qmldom.h | 263 ++ src/declarative/qml/qmldom_p.h | 116 + src/declarative/qml/qmlengine.cpp | 1295 +++++++++ src/declarative/qml/qmlengine.h | 107 + src/declarative/qml/qmlengine_p.h | 215 ++ src/declarative/qml/qmlexpression.h | 115 + src/declarative/qml/qmlinfo.cpp | 97 + src/declarative/qml/qmlinfo.h | 69 + src/declarative/qml/qmlinstruction.cpp | 214 ++ src/declarative/qml/qmlinstruction_p.h | 299 +++ src/declarative/qml/qmllist.h | 125 + src/declarative/qml/qmlmetaproperty.cpp | 847 ++++++ src/declarative/qml/qmlmetaproperty.h | 137 + src/declarative/qml/qmlmetaproperty_p.h | 75 + src/declarative/qml/qmlmetatype.cpp | 1164 ++++++++ src/declarative/qml/qmlmetatype.h | 258 ++ src/declarative/qml/qmlparser.cpp | 167 ++ src/declarative/qml/qmlparser_p.h | 209 ++ src/declarative/qml/qmlparserstatus.cpp | 75 + src/declarative/qml/qmlparserstatus.h | 69 + src/declarative/qml/qmlprivate.cpp | 48 + src/declarative/qml/qmlprivate.h | 365 +++ src/declarative/qml/qmlpropertyvaluesource.cpp | 75 + src/declarative/qml/qmlpropertyvaluesource.h | 79 + src/declarative/qml/qmlproxymetaobject.cpp | 113 + src/declarative/qml/qmlproxymetaobject_p.h | 85 + src/declarative/qml/qmlrefcount.cpp | 66 + src/declarative/qml/qmlrefcount_p.h | 69 + src/declarative/qml/qmlstringconverters.cpp | 212 ++ src/declarative/qml/qmlstringconverters_p.h | 68 + src/declarative/qml/qmlvme.cpp | 1345 ++++++++++ src/declarative/qml/qmlvme_p.h | 75 + src/declarative/qml/qmlvmemetaobject.cpp | 140 + src/declarative/qml/qmlvmemetaobject_p.h | 71 + src/declarative/qml/qmlxmlparser.cpp | 384 +++ src/declarative/qml/qmlxmlparser_p.h | 88 + src/declarative/qml/script/generator/generator.pro | 11 + src/declarative/qml/script/generator/main.cpp | 135 + src/declarative/qml/script/instructions.h | 32 + src/declarative/qml/script/keywords.cpp | 89 + src/declarative/qml/script/lexer.cpp | 139 + src/declarative/qml/script/lexer.h | 54 + src/declarative/qml/script/qmlbasicscript.cpp | 923 +++++++ src/declarative/qml/script/qmlbasicscript.h | 76 + src/declarative/qml/script/qmlbasicscript_p.h | 52 + src/declarative/qml/script/script.pri | 11 + src/declarative/qml/script/tokens.cpp | 44 + src/declarative/qml/script/tokens.h | 36 + src/declarative/test/qfxtestengine.cpp | 457 ++++ src/declarative/test/qfxtestengine.h | 85 + src/declarative/test/qfxtestobjects.cpp | 348 +++ src/declarative/test/qfxtestobjects.h | 212 ++ src/declarative/test/qfxtestview.cpp | 79 + src/declarative/test/qfxtestview.h | 74 + src/declarative/test/test.pri | 9 + src/declarative/timeline/gfxeasing.cpp | 846 ++++++ src/declarative/timeline/gfxeasing.h | 107 + src/declarative/timeline/gfxtimeline.cpp | 946 +++++++ src/declarative/timeline/gfxtimeline.h | 190 ++ src/declarative/timeline/gfxvalueproxy.h | 83 + src/declarative/timeline/timeline.pri | 9 + src/declarative/util/qbindablemap.cpp | 179 ++ src/declarative/util/qbindablemap.h | 87 + src/declarative/util/qfxglobal.h | 124 + src/declarative/util/qfxperf.cpp | 75 + src/declarative/util/qfxperf.h | 87 + src/declarative/util/qfxview.cpp | 310 +++ src/declarative/util/qfxview.h | 107 + src/declarative/util/qmlanimation.cpp | 2292 ++++++++++++++++ src/declarative/util/qmlanimation.h | 453 ++++ src/declarative/util/qmlanimation_p.h | 374 +++ src/declarative/util/qmlbehaviour.cpp | 248 ++ src/declarative/util/qmlbehaviour.h | 99 + src/declarative/util/qmlbind.cpp | 203 ++ src/declarative/util/qmlbind.h | 89 + src/declarative/util/qmlconnection.cpp | 290 ++ src/declarative/util/qmlconnection.h | 91 + src/declarative/util/qmldatetimeformatter.cpp | 368 +++ src/declarative/util/qmldatetimeformatter.h | 116 + src/declarative/util/qmlfollow.cpp | 309 +++ src/declarative/util/qmlfollow.h | 94 + src/declarative/util/qmlfont.cpp | 147 + src/declarative/util/qmlfont.h | 92 + src/declarative/util/qmllistaccessor.cpp | 243 ++ src/declarative/util/qmllistaccessor.h | 82 + src/declarative/util/qmllistmodel.cpp | 721 +++++ src/declarative/util/qmllistmodel.h | 96 + src/declarative/util/qmlnullablevalue_p.h | 67 + src/declarative/util/qmlopenmetaobject.cpp | 188 ++ src/declarative/util/qmlopenmetaobject.h | 96 + src/declarative/util/qmlpackage.cpp | 148 ++ src/declarative/util/qmlpackage.h | 86 + src/declarative/util/qmlscript.cpp | 219 ++ src/declarative/util/qmlscript.h | 80 + src/declarative/util/qmlsetproperties.cpp | 247 ++ src/declarative/util/qmlsetproperties.h | 83 + src/declarative/util/qmlstate.cpp | 469 ++++ src/declarative/util/qmlstate.h | 175 ++ src/declarative/util/qmlstate_p.h | 77 + src/declarative/util/qmlstategroup.cpp | 306 +++ src/declarative/util/qmlstategroup.h | 95 + src/declarative/util/qmlstateoperations.cpp | 416 +++ src/declarative/util/qmlstateoperations.h | 132 + src/declarative/util/qmltransition.cpp | 283 ++ src/declarative/util/qmltransition.h | 98 + src/declarative/util/qperformancelog.cpp | 177 ++ src/declarative/util/qperformancelog.h | 176 ++ src/declarative/util/util.pri | 49 + src/declarative/widgets/graphicslayouts.cpp | 325 +++ src/declarative/widgets/graphicslayouts.h | 190 ++ src/declarative/widgets/graphicswidgets.cpp | 173 ++ src/declarative/widgets/graphicswidgets.h | 60 + src/declarative/widgets/widgets.pri | 10 + src/gui/animation/animation.pri | 8 + src/gui/animation/qitemanimation.cpp | 361 +++ src/gui/animation/qitemanimation.h | 111 + src/gui/animation/qitemanimation_p.h | 83 + src/gui/graphicsview/qgraphicsitem.cpp | 252 +- src/gui/graphicsview/qgraphicsitem.h | 19 +- src/gui/graphicsview/qgraphicsitem_p.h | 12 +- src/gui/graphicsview/qgraphicslayout.h | 2 + src/gui/graphicsview/qgraphicslayoutitem.h | 2 + src/gui/graphicsview/qgraphicsproxywidget.cpp | 2 + src/gui/graphicsview/qgraphicsproxywidget.h | 2 + src/gui/graphicsview/qgraphicswidget.cpp | 4 +- src/gui/graphicsview/qgraphicswidget.h | 7 + src/gui/gui.pro | 2 + src/gui/kernel/qaction.h | 30 +- src/gui/kernel/qapplication.cpp | 6 + src/gui/kernel/qevent.cpp | 41 +- src/gui/kernel/qevent.h | 5 + src/gui/kernel/qevent_p.h | 6 + src/gui/painting/qdrawhelper.cpp | 12 +- src/gui/statemachine/qbasickeyeventtransition.cpp | 174 ++ src/gui/statemachine/qbasickeyeventtransition_p.h | 67 + .../statemachine/qbasicmouseeventtransition.cpp | 159 ++ .../statemachine/qbasicmouseeventtransition_p.h | 70 + src/gui/statemachine/qguistatemachine.cpp | 514 ++++ src/gui/statemachine/qkeyeventtransition.cpp | 156 ++ src/gui/statemachine/qkeyeventtransition.h | 60 + src/gui/statemachine/qmouseeventtransition.cpp | 162 ++ src/gui/statemachine/qmouseeventtransition.h | 62 + src/gui/statemachine/statemachine.pri | 16 + src/opengl/gl2paintengineex/qglshader_p.h | 2 + src/opengl/opengl.pro | 4 + src/opengl/qglextensions.cpp | 174 +- src/opengl/qglextensions_p.h | 134 +- src/opengl/qglpixmapfilter.cpp | 172 +- src/opengl/qglpixmapfilter_p.h | 29 - src/opengl/qglshaderprogram.cpp | 2798 ++++++++++++++++++++ src/opengl/qglshaderprogram.h | 266 ++ src/script/qscriptengine_p.cpp | 5 + src/script/qscriptenginefwd_p.h | 1 + src/script/qscriptextqobject.cpp | 33 +- src/src.pro | 4 + src/tools/moc/generator.cpp | 16 +- src/tools/moc/keywords.cpp | 162 +- src/tools/moc/moc.cpp | 11 +- src/tools/moc/moc.h | 7 +- src/tools/moc/token.h | 1 + src/tools/moc/util/generate_keywords.cpp | 1 + tests/auto/auto.pro | 10 + tests/auto/declarative/.gitignore | 3 + .../datetimeformatter/datetimeformatter.pro | 3 + .../datetimeformatter/tst_datetimeformatter.cpp | 83 + tests/auto/declarative/declarative.pro | 22 + .../auto/declarative/layouts/data/grid-margin.xml | 9 + .../layouts/data/grid-spacing-margin.xml | 9 + .../auto/declarative/layouts/data/grid-spacing.xml | 9 + tests/auto/declarative/layouts/data/grid.xml | 9 + .../declarative/layouts/data/horizontal-margin.xml | 7 + .../layouts/data/horizontal-spacing-margin.xml | 7 + .../layouts/data/horizontal-spacing.xml | 7 + tests/auto/declarative/layouts/data/horizontal.xml | 7 + .../declarative/layouts/data/vertical-margin.xml | 7 + .../layouts/data/vertical-spacing-margin.xml | 7 + .../declarative/layouts/data/vertical-spacing.xml | 7 + tests/auto/declarative/layouts/data/vertical.xml | 7 + tests/auto/declarative/layouts/layouts.pro | 6 + tests/auto/declarative/layouts/tst_layouts.cpp | 392 +++ tests/auto/declarative/listview/data/listview.xml | 14 + tests/auto/declarative/listview/listview.pro | 6 + tests/auto/declarative/listview/tst_listview.cpp | 484 ++++ .../auto/declarative/namespaces/data/Red/Rect.qml | 2 + tests/auto/declarative/namespaces/namespaces.pro | 6 + .../auto/declarative/namespaces/tst_namespaces.cpp | 94 + .../numberformatter/numberformatter.pro | 3 + .../numberformatter/tst_numberformatter.cpp | 216 ++ tests/auto/declarative/pathview/data/pathview.xml | 20 + tests/auto/declarative/pathview/pathview.pro | 6 + tests/auto/declarative/pathview/tst_pathview.cpp | 259 ++ .../auto/declarative/qbindablemap/qbindablemap.pro | 3 + .../declarative/qbindablemap/tst_qbindablemap.cpp | 72 + tests/auto/declarative/qfxtext/qfxtext.pro | 3 + tests/auto/declarative/qfxtext/tst_qfxtext.cpp | 412 +++ tests/auto/declarative/qfxtextedit/qfxtextedit.pro | 3 + .../declarative/qfxtextedit/tst_qfxtextedit.cpp | 326 +++ .../declarative/qmlbindengine/qmlbindengine.pro | 3 + .../qmlbindengine/tst_qmlbindengine.cpp | 123 + tests/auto/declarative/qmllist/qmllist.pro | 3 + tests/auto/declarative/qmllist/tst_qmllist.cpp | 38 + .../qmllistaccessor/qmllistaccessor.pro | 3 + .../qmllistaccessor/tst_qmllistaccessor.cpp | 61 + .../qmlmetaproperty/qmlmetaproperty.pro | 3 + .../qmlmetaproperty/tst_qmlmetaproperty.cpp | 104 + tests/auto/declarative/qmlparser/qmlparser.pro | 3 + tests/auto/declarative/qmlparser/tst_qmlparser.cpp | 444 ++++ tests/auto/declarative/repeater/data/repeater.xml | 7 + tests/auto/declarative/repeater/repeater.pro | 6 + tests/auto/declarative/repeater/tst_repeater.cpp | 91 + .../declarative/simplecanvasitem/data/test.xml | 12 + .../simplecanvasitem/simplecanvasitem.pro | 6 + .../simplecanvasitem/tst_simplecanvasitem.cpp | 79 + .../declarative/visual/ListView/basic1/basic1.xml | 19 + .../visual/ListView/basic1/data/opengl/image0.png | Bin 0 -> 3759 bytes .../ListView/basic1/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/ListView/basic1/test | 1 + .../declarative/visual/ListView/basic2/basic2.xml | 20 + .../visual/ListView/basic2/data/opengl/image0.png | Bin 0 -> 3759 bytes .../ListView/basic2/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/ListView/basic2/test | 1 + .../declarative/visual/ListView/basic3/basic3.xml | 18 + .../visual/ListView/basic3/data/opengl/image0.png | Bin 0 -> 3759 bytes .../ListView/basic3/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/ListView/basic3/test | 1 + .../declarative/visual/ListView/basic4/basic4.xml | 19 + .../visual/ListView/basic4/data/opengl/image0.png | Bin 0 -> 3759 bytes .../ListView/basic4/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/ListView/basic4/test | 1 + .../visual/bindinganimation/bindinganimation.xml | 19 + .../visual/bindinganimation/data/opengl/image0.png | Bin 0 -> 817 bytes .../bindinganimation/data/opengl/manifest-play.xml | 104 + .../bindinganimation/data/opengl/manifest.xml | 104 + .../auto/declarative/visual/bindinganimation/test | 1 + .../visual/colorAnimation/colorAnimation.xml | 18 + .../declarative/visual/colorAnimation/image0.png | Bin 0 -> 947 bytes .../visual/colorAnimation/manifest-play.xml | 73 + .../declarative/visual/colorAnimation/manifest.xml | 73 + tests/auto/declarative/visual/easing/easing.xml | 70 + tests/auto/declarative/visual/easing/image0.png | Bin 0 -> 17530 bytes .../declarative/visual/easing/manifest-play.xml | 23 + tests/auto/declarative/visual/easing/manifest.xml | 23 + .../auto/declarative/visual/easing/pics/qtlogo.png | Bin 0 -> 2738 bytes tests/auto/declarative/visual/flickable/Day.qml | 8 + tests/auto/declarative/visual/flickable/cork.jpg | Bin 0 -> 88766 bytes .../declarative/visual/flickable/flickable.xml | 43 + tests/auto/declarative/visual/flickable/image0.png | Bin 0 -> 360547 bytes .../declarative/visual/flickable/manifest-fail.xml | 30 + .../auto/declarative/visual/flickable/manifest.xml | 190 ++ .../auto/declarative/visual/flipable/flipable.xml | 138 + tests/auto/declarative/visual/flipable/image0.png | Bin 0 -> 6184 bytes .../declarative/visual/flipable/manifest-play.xml | 24 + .../auto/declarative/visual/flipable/manifest.xml | 24 + .../declarative/visual/flipable/pics/arrow.png | Bin 0 -> 546 bytes .../auto/declarative/visual/flipable/pics/face.png | Bin 0 -> 10112 bytes .../declarative/visual/flipable/pics/photo0.png | Bin 0 -> 10412 bytes .../declarative/visual/flipable/pics/photo1.png | Bin 0 -> 11068 bytes .../declarative/visual/flipable/pics/photo10.png | Bin 0 -> 12539 bytes .../declarative/visual/flipable/pics/photo2.png | Bin 0 -> 11490 bytes .../declarative/visual/flipable/pics/photo3.png | Bin 0 -> 11308 bytes .../declarative/visual/flipable/pics/photo4.png | Bin 0 -> 11322 bytes .../declarative/visual/flipable/pics/photo5.png | Bin 0 -> 11497 bytes .../declarative/visual/flipable/pics/photo6.png | Bin 0 -> 11707 bytes .../declarative/visual/flipable/pics/photo7.png | Bin 0 -> 11101 bytes .../declarative/visual/flipable/pics/photo8.png | Bin 0 -> 11558 bytes .../declarative/visual/flipable/pics/photo9.png | Bin 0 -> 10943 bytes .../declarative/visual/pauseAnimation/image0.png | Bin 0 -> 3209 bytes .../visual/pauseAnimation/manifest-play.xml | 138 + .../declarative/visual/pauseAnimation/manifest.xml | 138 + .../visual/pauseAnimation/pauseAnimation.xml | 13 + .../visual/pauseAnimation/pics/qtlogo.png | Bin 0 -> 2738 bytes .../visual/qfxtext/elide/data/opengl/image0.png | Bin 0 -> 980 bytes .../visual/qfxtext/elide/data/opengl/manifest.xml | 4 + .../declarative/visual/qfxtext/elide/elide.xml | 6 + tests/auto/declarative/visual/qfxtext/elide/test | 1 + .../declarative/visual/repeater/basic1/basic1.xml | 21 + .../visual/repeater/basic1/data/opengl/image0.png | Bin 0 -> 3493 bytes .../repeater/basic1/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/repeater/basic1/test | 1 + .../declarative/visual/repeater/basic2/basic2.xml | 22 + .../visual/repeater/basic2/data/opengl/image0.png | Bin 0 -> 3493 bytes .../repeater/basic2/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/repeater/basic2/test | 1 + .../declarative/visual/repeater/basic3/basic3.xml | 19 + .../visual/repeater/basic3/data/opengl/image0.png | Bin 0 -> 3493 bytes .../repeater/basic3/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/repeater/basic3/test | 1 + .../declarative/visual/repeater/basic4/basic4.xml | 18 + .../visual/repeater/basic4/data/opengl/image0.png | Bin 0 -> 3493 bytes .../repeater/basic4/data/opengl/manifest.xml | 4 + tests/auto/declarative/visual/repeater/basic4/test | 1 + tests/auto/declarative/visual/runtests.sh | 2 + tests/auto/declarative/visual/tests | 11 + tests/auto/declarative/visual/tst_visual.cpp | 72 + tests/auto/declarative/visual/visual.pro | 5 + .../visual/webview/autosize/data/opengl/image0.png | Bin 0 -> 5396 bytes .../webview/autosize/data/opengl/manifest.xml | 4 + .../auto/declarative/visual/webview/autosize/test | 1 + tests/auto/dynamicobject/dynamicobject.pro | 6 + tests/auto/dynamicobject/qdynamicmetaobject.cpp | 254 ++ tests/auto/dynamicobject/qdynamicmetaobject.h | 47 + tests/auto/dynamicobject/qmetaobjectbuilder.cpp | 2347 ++++++++++++++++ tests/auto/dynamicobject/qmetaobjectbuilder.h | 258 ++ tests/auto/dynamicobject/tst_qobject.cpp | 325 +++ tests/auto/qanimationgroup/qanimationgroup.pro | 5 + tests/auto/qanimationgroup/tst_qanimationgroup.cpp | 347 +++ tests/auto/qanimationstate/qanimationstate.pro | 5 + tests/auto/qanimationstate/tst_qanimationstate.cpp | 625 +++++ tests/auto/qeasingcurve/qeasingcurve.pro | 3 + tests/auto/qeasingcurve/tst_qeasingcurve.cpp | 488 ++++ .../qparallelanimationgroup.pro | 5 + .../tst_qparallelanimationgroup.cpp | 834 ++++++ .../auto/qpropertyanimation/qpropertyanimation.pro | 5 + .../qpropertyanimation/tst_qpropertyanimation.cpp | 831 ++++++ tests/auto/qscriptqobject/tst_qscriptqobject.cpp | 66 +- .../qsequentialanimationgroup.pro | 5 + .../tst_qsequentialanimationgroup.cpp | 1649 ++++++++++++ tests/auto/qstate/qstate.pro | 5 + tests/auto/qstate/tst_qstate.cpp | 372 +++ tests/auto/qstatemachine/qstatemachine.pro | 4 + tests/auto/qstatemachine/tst_qstatemachine.cpp | 2177 +++++++++++++++ tests/benchmarks/benchmarks.pro | 11 +- tests/benchmarks/qanimation/dummyanimation.cpp | 20 + tests/benchmarks/qanimation/dummyanimation.h | 19 + tests/benchmarks/qanimation/dummyobject.cpp | 25 + tests/benchmarks/qanimation/dummyobject.h | 23 + tests/benchmarks/qanimation/main.cpp | 173 ++ tests/benchmarks/qanimation/qanimation.pro | 18 + tests/benchmarks/qanimation/rectanimation.cpp | 58 + tests/benchmarks/qanimation/rectanimation.h | 30 + tests/benchmarks/qfxview/main.cpp | 182 ++ tests/benchmarks/qfxview/qfxview.pro | 16 + .../qfxview/testdata/tatwheel/editor/data.xml | 44 + .../qfxview/testdata/tatwheel/pics/background.png | Bin 0 -> 26508 bytes .../qfxview/testdata/tatwheel/pics/background3.png | Bin 0 -> 37671 bytes .../qfxview/testdata/tatwheel/pics/battery.png | Bin 0 -> 770 bytes .../testdata/tatwheel/pics/calendar-blur.png | Bin 0 -> 51439 bytes .../qfxview/testdata/tatwheel/pics/calendar.png | Bin 0 -> 10153 bytes .../testdata/tatwheel/pics/callhistory-blur.png | Bin 0 -> 57023 bytes .../qfxview/testdata/tatwheel/pics/callhistory.png | Bin 0 -> 13227 bytes .../qfxview/testdata/tatwheel/pics/camera-blur.png | Bin 0 -> 50955 bytes .../qfxview/testdata/tatwheel/pics/camera.png | Bin 0 -> 16126 bytes .../testdata/tatwheel/pics/contacts-blur.png | Bin 0 -> 51041 bytes .../qfxview/testdata/tatwheel/pics/contacts.png | Bin 0 -> 12177 bytes .../testdata/tatwheel/pics/file-manager-blur.png | Bin 0 -> 45164 bytes .../testdata/tatwheel/pics/file-manager.png | Bin 0 -> 8858 bytes .../qfxview/testdata/tatwheel/pics/fire.png | Bin 0 -> 1124 bytes .../qfxview/testdata/tatwheel/pics/flask-blue.png | Bin 0 -> 764 bytes .../testdata/tatwheel/pics/flask-container.png | Bin 0 -> 536 bytes .../qfxview/testdata/tatwheel/pics/flask-front.png | Bin 0 -> 962 bytes .../qfxview/testdata/tatwheel/pics/flask-pink.png | Bin 0 -> 747 bytes .../testdata/tatwheel/pics/flask-yellow.png | Bin 0 -> 775 bytes .../qfxview/testdata/tatwheel/pics/ice.png | Bin 0 -> 1112 bytes .../testdata/tatwheel/pics/icon-reflection.png | Bin 0 -> 7123 bytes .../testdata/tatwheel/pics/internet-blur.png | Bin 0 -> 57126 bytes .../qfxview/testdata/tatwheel/pics/internet.png | Bin 0 -> 24320 bytes .../testdata/tatwheel/pics/menu-background1.png | Bin 0 -> 2831 bytes .../testdata/tatwheel/pics/menu-border1.png | Bin 0 -> 926 bytes .../testdata/tatwheel/pics/menu-border3.png | Bin 0 -> 10153 bytes .../testdata/tatwheel/pics/menu-highlight.png | Bin 0 -> 3421 bytes .../qfxview/testdata/tatwheel/pics/menubar.png | Bin 0 -> 741 bytes .../testdata/tatwheel/pics/messages-blur.png | Bin 0 -> 44556 bytes .../qfxview/testdata/tatwheel/pics/messages.png | Bin 0 -> 11426 bytes .../qfxview/testdata/tatwheel/pics/moon.png | Bin 0 -> 1027 bytes .../qfxview/testdata/tatwheel/pics/sad.png | Bin 0 -> 1053 bytes .../testdata/tatwheel/pics/settings-blur.png | Bin 0 -> 50199 bytes .../qfxview/testdata/tatwheel/pics/settings.png | Bin 0 -> 8697 bytes .../qfxview/testdata/tatwheel/pics/signal.png | Bin 0 -> 739 bytes .../qfxview/testdata/tatwheel/pics/smile.png | Bin 0 -> 1051 bytes .../qfxview/testdata/tatwheel/pics/star.png | Bin 0 -> 262 bytes .../qfxview/testdata/tatwheel/pics/sun.png | Bin 0 -> 1021 bytes .../qfxview/testdata/tatwheel/pics/titlebar.png | Bin 0 -> 1041 bytes .../qfxview/testdata/tatwheel/pics/wifi.png | Bin 0 -> 782 bytes .../qfxview/testdata/tatwheel/tat-wheel.xml | 68 + tests/benchmarks/qmlxmlparser/main.cpp | 96 + tests/benchmarks/qmlxmlparser/qmlxmlparser.pro | 14 + .../benchmarks/qmlxmlparser/testdata/concept2.xml | 421 +++ tests/benchmarks/qvariant/qvariant.pro | 1 - tests/benchmarks/qvariant/tst_qvariant.cpp | 115 +- tools/configure/configureapp.cpp | 12 + tools/duiviewer/duiviewer.pro | 12 + tools/duiviewer/main.cpp | 135 + tools/duiviewer/qfxviewer.cpp | 361 +++ tools/duiviewer/qfxviewer.h | 71 + tools/qdoc3/codemarker.cpp | 109 +- tools/qdoc3/codemarker.h | 12 +- tools/qdoc3/command.cpp | 44 +- tools/qdoc3/cppcodemarker.cpp | 224 +- tools/qdoc3/cppcodemarker.h | 5 + tools/qdoc3/cppcodeparser.cpp | 260 +- tools/qdoc3/cppcodeparser.h | 12 + tools/qdoc3/doc.cpp | 14 +- tools/qdoc3/generator.cpp | 190 +- tools/qdoc3/generator.h | 5 +- tools/qdoc3/helpprojectwriter.cpp | 30 +- tools/qdoc3/htmlgenerator.cpp | 691 ++++- tools/qdoc3/htmlgenerator.h | 29 +- tools/qdoc3/jambiapiparser.cpp | 5 +- tools/qdoc3/node.cpp | 106 +- tools/qdoc3/node.h | 126 +- tools/qdoc3/pagegenerator.cpp | 59 +- tools/qdoc3/test/classic.css | 42 + tools/qdoc3/test/qt-build-docs.qdocconf | 3 +- tools/qdoc3/test/qt.qdocconf | 3 +- tools/qdoc3/tree.cpp | 50 +- tools/qdoc3/webxmlgenerator.cpp | 4 +- tools/tools.pro | 1 + 1210 files changed, 138839 insertions(+), 1789 deletions(-) create mode 100644 bin/snapshot delete mode 100644 demos/boxes/glshaders.cpp delete mode 100644 demos/boxes/glshaders.h create mode 100644 demos/declarative/calculator/CalcButton.qml create mode 100644 demos/declarative/calculator/calculator.js create mode 100644 demos/declarative/calculator/calculator.qml create mode 100644 demos/declarative/calculator/pics/button-pressed.png create mode 100644 demos/declarative/calculator/pics/button-pressed.sci create mode 100644 demos/declarative/calculator/pics/button.png create mode 100644 demos/declarative/calculator/pics/button.sci create mode 100644 demos/declarative/calculator/pics/clear.png create mode 100644 demos/declarative/mediabrowser/content/LikeOMeter.qml create mode 100644 demos/declarative/mediabrowser/content/MediaButton.qml create mode 100644 demos/declarative/mediabrowser/content/MovieInfoContainer.qml create mode 100644 demos/declarative/mediabrowser/content/MoviesPathView.qml create mode 100644 demos/declarative/mediabrowser/content/ScrollBar.qml create mode 100644 demos/declarative/mediabrowser/content/Star.qml create mode 100644 demos/declarative/mediabrowser/content/pics/background.png create mode 100644 demos/declarative/mediabrowser/content/pics/button-pressed.png create mode 100644 demos/declarative/mediabrowser/content/pics/button.png create mode 100644 demos/declarative/mediabrowser/content/pics/ghns_star.png create mode 100644 demos/declarative/mediabrowser/content/pics/reflection.png create mode 100644 demos/declarative/mediabrowser/content/pics/shadow-bottom.png create mode 100644 demos/declarative/mediabrowser/content/pics/shadow-corner.png create mode 100644 demos/declarative/mediabrowser/content/pics/shadow-right-screen.png create mode 100644 demos/declarative/mediabrowser/content/pics/shadow-right.png create mode 100644 demos/declarative/mediabrowser/dummydata/MoviesModel.qml create mode 100644 demos/declarative/mediabrowser/mediabrowser.qml create mode 100644 demos/declarative/webbrowser/README create mode 100644 demos/declarative/webbrowser/WebBrowser.qml create mode 100644 demos/declarative/webbrowser/content/RectSoftShadow.qml create mode 100644 demos/declarative/webbrowser/content/pics/addressbar-filled.png create mode 100644 demos/declarative/webbrowser/content/pics/addressbar-filled.sci create mode 100644 demos/declarative/webbrowser/content/pics/addressbar.png create mode 100644 demos/declarative/webbrowser/content/pics/addressbar.sci create mode 100644 demos/declarative/webbrowser/content/pics/back-disabled.png create mode 100644 demos/declarative/webbrowser/content/pics/back.png create mode 100644 demos/declarative/webbrowser/content/pics/footer.png create mode 100644 demos/declarative/webbrowser/content/pics/footer.sci create mode 100644 demos/declarative/webbrowser/content/pics/forward-disabled.png create mode 100644 demos/declarative/webbrowser/content/pics/forward.png create mode 100644 demos/declarative/webbrowser/content/pics/header.png create mode 100644 demos/declarative/webbrowser/content/pics/reload.png create mode 100644 demos/declarative/webbrowser/content/pics/softshadow-bottom.png create mode 100644 demos/declarative/webbrowser/content/pics/softshadow-left.png create mode 100644 demos/declarative/webbrowser/content/pics/softshadow-left.sci create mode 100644 demos/declarative/webbrowser/content/pics/softshadow-right.png create mode 100644 demos/declarative/webbrowser/content/pics/softshadow-right.sci create mode 100644 demos/declarative/webbrowser/content/pics/softshadow-top.png create mode 100644 doc/src/animation.qdoc create mode 100644 doc/src/declarative/anchor-layout.qdoc create mode 100644 doc/src/declarative/animation.qdoc create mode 100644 doc/src/declarative/basictypes.qdoc create mode 100644 doc/src/declarative/binding.qdoc create mode 100644 doc/src/declarative/components.qdoc create mode 100644 doc/src/declarative/cppitem.qdoc create mode 100644 doc/src/declarative/effects.qdoc create mode 100644 doc/src/declarative/elements.qdoc create mode 100644 doc/src/declarative/examples.qdoc create mode 100644 doc/src/declarative/focus.qdoc create mode 100644 doc/src/declarative/index.qdoc create mode 100644 doc/src/declarative/measuring-performance.qdoc create mode 100644 doc/src/declarative/modules.qdoc create mode 100644 doc/src/declarative/pics/ListViewHighlight.png create mode 100644 doc/src/declarative/pics/ListViewHorizontal.png create mode 100644 doc/src/declarative/pics/ListViewVertical.png create mode 100644 doc/src/declarative/pics/anchors.svg create mode 100644 doc/src/declarative/pics/animatedimageitem.gif create mode 100644 doc/src/declarative/pics/blur_example.png create mode 100644 doc/src/declarative/pics/declarative-qmlfocus1.png create mode 100644 doc/src/declarative/pics/declarative-qmlfocus2.png create mode 100644 doc/src/declarative/pics/declarative-qmlfocus3.png create mode 100644 doc/src/declarative/pics/declarative-qmlfocus4.png create mode 100644 doc/src/declarative/pics/edge1.png create mode 100644 doc/src/declarative/pics/edge2.png create mode 100644 doc/src/declarative/pics/edge3.png create mode 100644 doc/src/declarative/pics/edge4.png create mode 100644 doc/src/declarative/pics/edges.png create mode 100644 doc/src/declarative/pics/edges.svg create mode 100644 doc/src/declarative/pics/edges_examples.svg create mode 100644 doc/src/declarative/pics/edges_qml.png create mode 100644 doc/src/declarative/pics/edges_qml.svg create mode 100644 doc/src/declarative/pics/flickable.gif create mode 100644 doc/src/declarative/pics/flipable.gif create mode 100644 doc/src/declarative/pics/gridLayout_example.png create mode 100644 doc/src/declarative/pics/gridview.png create mode 100644 doc/src/declarative/pics/highlight.gif create mode 100644 doc/src/declarative/pics/horizontalLayout_example.png create mode 100644 doc/src/declarative/pics/layout-add.gif create mode 100644 doc/src/declarative/pics/layout-move.gif create mode 100644 doc/src/declarative/pics/layout-remove.gif create mode 100644 doc/src/declarative/pics/margins_qml.png create mode 100644 doc/src/declarative/pics/margins_qml.svg create mode 100644 doc/src/declarative/pics/particles.gif create mode 100644 doc/src/declarative/pics/pathview.gif create mode 100644 doc/src/declarative/pics/propanim.gif create mode 100644 doc/src/declarative/pics/qtlogo.png create mode 100644 doc/src/declarative/pics/reflection_example.png create mode 100644 doc/src/declarative/pics/scalegrid.svg create mode 100644 doc/src/declarative/pics/shadow_example.png create mode 100644 doc/src/declarative/pics/spacing_a.png create mode 100644 doc/src/declarative/pics/spacing_b.png create mode 100644 doc/src/declarative/pics/trivialListView.png create mode 100644 doc/src/declarative/pics/verticalLayout_example.png create mode 100644 doc/src/declarative/pics/verticalLayout_transition.gif create mode 100644 doc/src/declarative/pics/webview.png create mode 100644 doc/src/declarative/qmlforcpp.qdoc create mode 100644 doc/src/declarative/qtprogrammers.qdoc create mode 100644 doc/src/declarative/scenegraph.qdoc create mode 100644 doc/src/declarative/tutorial.qdoc create mode 100644 doc/src/declarative/tutorial1.qdoc create mode 100644 doc/src/declarative/tutorial2.qdoc create mode 100644 doc/src/declarative/tutorial3.qdoc create mode 100644 doc/src/diagrams/programs/easingcurve/easingcurve.pro create mode 100644 doc/src/diagrams/programs/easingcurve/main.cpp create mode 100644 doc/src/duiviewer.qdoc create mode 100644 doc/src/examples/trafficlight.qdoc create mode 100644 doc/src/images/declarative-anchors_example.png create mode 100644 doc/src/images/declarative-anchors_example2.png create mode 100644 doc/src/images/declarative-image_tile.png create mode 100644 doc/src/images/declarative-item_opacity1.png create mode 100644 doc/src/images/declarative-item_opacity2.png create mode 100644 doc/src/images/declarative-item_stacking1.png create mode 100644 doc/src/images/declarative-item_stacking2.png create mode 100644 doc/src/images/declarative-item_stacking3.png create mode 100644 doc/src/images/declarative-item_stacking4.png create mode 100644 doc/src/images/declarative-qtlogo1.png create mode 100644 doc/src/images/declarative-qtlogo2.png create mode 100644 doc/src/images/declarative-qtlogo3.png create mode 100644 doc/src/images/declarative-qtlogo4.png create mode 100644 doc/src/images/declarative-rect.png create mode 100644 doc/src/images/declarative-rect_gradient.png create mode 100644 doc/src/images/declarative-rect_tint.png create mode 100644 doc/src/images/declarative-rotation.png create mode 100644 doc/src/images/declarative-scale.png create mode 100644 doc/src/images/declarative-scalegrid.png create mode 100644 doc/src/images/declarative-text.png create mode 100644 doc/src/images/declarative-textedit.gif create mode 100644 doc/src/images/declarative-textformat.png create mode 100644 doc/src/images/declarative-textstyle.png create mode 100644 doc/src/images/declarative-transformorigin.png create mode 100644 doc/src/images/declarative-tutorial1.png create mode 100644 doc/src/images/declarative-tutorial2.png create mode 100644 doc/src/images/declarative-tutorial3_animation.gif create mode 100644 doc/src/images/qeasingcurve-cosinecurve.png create mode 100644 doc/src/images/qeasingcurve-inback.png create mode 100644 doc/src/images/qeasingcurve-inbounce.png create mode 100644 doc/src/images/qeasingcurve-incirc.png create mode 100644 doc/src/images/qeasingcurve-incubic.png create mode 100644 doc/src/images/qeasingcurve-incurve.png create mode 100644 doc/src/images/qeasingcurve-inelastic.png create mode 100644 doc/src/images/qeasingcurve-inexpo.png create mode 100644 doc/src/images/qeasingcurve-inoutback.png create mode 100644 doc/src/images/qeasingcurve-inoutbounce.png create mode 100644 doc/src/images/qeasingcurve-inoutcirc.png create mode 100644 doc/src/images/qeasingcurve-inoutcubic.png create mode 100644 doc/src/images/qeasingcurve-inoutelastic.png create mode 100644 doc/src/images/qeasingcurve-inoutexpo.png create mode 100644 doc/src/images/qeasingcurve-inoutquad.png create mode 100644 doc/src/images/qeasingcurve-inoutquart.png create mode 100644 doc/src/images/qeasingcurve-inoutquint.png create mode 100644 doc/src/images/qeasingcurve-inoutsine.png create mode 100644 doc/src/images/qeasingcurve-inquad.png create mode 100644 doc/src/images/qeasingcurve-inquart.png create mode 100644 doc/src/images/qeasingcurve-inquint.png create mode 100644 doc/src/images/qeasingcurve-insine.png create mode 100644 doc/src/images/qeasingcurve-linear.png create mode 100644 doc/src/images/qeasingcurve-outback.png create mode 100644 doc/src/images/qeasingcurve-outbounce.png create mode 100644 doc/src/images/qeasingcurve-outcirc.png create mode 100644 doc/src/images/qeasingcurve-outcubic.png create mode 100644 doc/src/images/qeasingcurve-outcurve.png create mode 100644 doc/src/images/qeasingcurve-outelastic.png create mode 100644 doc/src/images/qeasingcurve-outexpo.png create mode 100644 doc/src/images/qeasingcurve-outinback.png create mode 100644 doc/src/images/qeasingcurve-outinbounce.png create mode 100644 doc/src/images/qeasingcurve-outincirc.png create mode 100644 doc/src/images/qeasingcurve-outincubic.png create mode 100644 doc/src/images/qeasingcurve-outinelastic.png create mode 100644 doc/src/images/qeasingcurve-outinexpo.png create mode 100644 doc/src/images/qeasingcurve-outinquad.png create mode 100644 doc/src/images/qeasingcurve-outinquart.png create mode 100644 doc/src/images/qeasingcurve-outinquint.png create mode 100644 doc/src/images/qeasingcurve-outinsine.png create mode 100644 doc/src/images/qeasingcurve-outquad.png create mode 100644 doc/src/images/qeasingcurve-outquart.png create mode 100644 doc/src/images/qeasingcurve-outquint.png create mode 100644 doc/src/images/qeasingcurve-outsine.png create mode 100644 doc/src/images/qeasingcurve-sinecurve.png create mode 100644 doc/src/images/statemachine-button-history.png create mode 100644 doc/src/images/statemachine-button-nested.png create mode 100644 doc/src/images/statemachine-button.png create mode 100644 doc/src/images/statemachine-finished.png create mode 100644 doc/src/images/statemachine-nonparallel.png create mode 100644 doc/src/images/statemachine-parallel.png create mode 100644 doc/src/images/trafficlight-example.png create mode 100644 doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp create mode 100644 doc/src/statemachine.qdoc create mode 100644 examples/animation/animatedtiles/animatedtiles.pro create mode 100644 examples/animation/animatedtiles/animatedtiles.qrc create mode 100644 examples/animation/animatedtiles/images/Time-For-Lunch-2.jpg create mode 100644 examples/animation/animatedtiles/images/centered.png create mode 100644 examples/animation/animatedtiles/images/ellipse.png create mode 100644 examples/animation/animatedtiles/images/figure8.png create mode 100644 examples/animation/animatedtiles/images/kinetic.png create mode 100644 examples/animation/animatedtiles/images/random.png create mode 100644 examples/animation/animatedtiles/images/tile.png create mode 100644 examples/animation/animatedtiles/main.cpp create mode 100644 examples/animation/animation.pro create mode 100644 examples/animation/appchooser/accessories-dictionary.png create mode 100644 examples/animation/appchooser/akregator.png create mode 100644 examples/animation/appchooser/appchooser.pro create mode 100644 examples/animation/appchooser/appchooser.qrc create mode 100644 examples/animation/appchooser/digikam.png create mode 100644 examples/animation/appchooser/k3b.png create mode 100644 examples/animation/appchooser/main.cpp create mode 100644 examples/animation/easing/animation.h create mode 100644 examples/animation/easing/easing.pro create mode 100644 examples/animation/easing/form.ui create mode 100644 examples/animation/easing/images/qt-logo.png create mode 100644 examples/animation/easing/main.cpp create mode 100644 examples/animation/easing/resources.qrc create mode 100644 examples/animation/easing/window.cpp create mode 100644 examples/animation/easing/window.h create mode 100644 examples/animation/example/example.pro create mode 100644 examples/animation/example/main.cpp create mode 100644 examples/animation/example/mainwindow.cpp create mode 100644 examples/animation/example/mainwindow.h create mode 100644 examples/animation/moveblocks/main.cpp create mode 100644 examples/animation/moveblocks/moveblocks.pro create mode 100644 examples/animation/padnavigator-ng/backside.ui create mode 100644 examples/animation/padnavigator-ng/images/artsfftscope.png create mode 100644 examples/animation/padnavigator-ng/images/blue_angle_swirl.jpg create mode 100644 examples/animation/padnavigator-ng/images/kontact_contacts.png create mode 100644 examples/animation/padnavigator-ng/images/kontact_journal.png create mode 100644 examples/animation/padnavigator-ng/images/kontact_mail.png create mode 100644 examples/animation/padnavigator-ng/images/kontact_notes.png create mode 100644 examples/animation/padnavigator-ng/images/kopeteavailable.png create mode 100644 examples/animation/padnavigator-ng/images/metacontact_online.png create mode 100644 examples/animation/padnavigator-ng/images/minitools.png create mode 100644 examples/animation/padnavigator-ng/main.cpp create mode 100644 examples/animation/padnavigator-ng/padnavigator.pro create mode 100644 examples/animation/padnavigator-ng/padnavigator.qrc create mode 100644 examples/animation/padnavigator-ng/panel.cpp create mode 100644 examples/animation/padnavigator-ng/panel.h create mode 100644 examples/animation/padnavigator-ng/roundrectitem.cpp create mode 100644 examples/animation/padnavigator-ng/roundrectitem.h create mode 100644 examples/animation/padnavigator-ng/splashitem.cpp create mode 100644 examples/animation/padnavigator-ng/splashitem.h create mode 100644 examples/animation/photobrowser/main.cpp create mode 100644 examples/animation/photobrowser/menu.cpp create mode 100644 examples/animation/photobrowser/menu.h create mode 100644 examples/animation/photobrowser/photobrowser.pro create mode 100644 examples/animation/photobrowser/river.cpp create mode 100644 examples/animation/photobrowser/river.h create mode 100644 examples/animation/photobrowser/riveritem.cpp create mode 100644 examples/animation/photobrowser/riveritem.h create mode 100644 examples/animation/piemenu/main.cpp create mode 100644 examples/animation/piemenu/piemenu.pro create mode 100644 examples/animation/piemenu/qgraphicspiemenu.cpp create mode 100644 examples/animation/piemenu/qgraphicspiemenu.h create mode 100644 examples/animation/piemenu/qgraphicspiemenu_p.h create mode 100644 examples/animation/piemenu/qgraphicspiemenusection_p.h create mode 100644 examples/animation/piemenu/scene.cpp create mode 100644 examples/animation/piemenu/scene.h create mode 100644 examples/animation/research/memberfunctions/main.cpp create mode 100644 examples/animation/research/memberfunctions/memberfunctions.pro create mode 100644 examples/animation/research/memberfunctions/qvalueanimation.cpp create mode 100644 examples/animation/research/memberfunctions/qvalueanimation.h create mode 100644 examples/animation/research/memberfunctions/qvalueanimation_p.h create mode 100644 examples/animation/research/propertytransform/main.cpp create mode 100644 examples/animation/research/propertytransform/propertytransform.pro create mode 100644 examples/animation/research/propertytransform/qpropertytransform.h create mode 100644 examples/animation/research/sound/main.cpp create mode 100644 examples/animation/research/sound/media/sax.mp3 create mode 100644 examples/animation/research/sound/sound.pro create mode 100644 examples/animation/research/sound/sound.qrc create mode 100644 examples/animation/states/accessories-dictionary.png create mode 100644 examples/animation/states/akregator.png create mode 100644 examples/animation/states/digikam.png create mode 100644 examples/animation/states/help-browser.png create mode 100644 examples/animation/states/k3b.png create mode 100644 examples/animation/states/kchart.png create mode 100644 examples/animation/states/main.cpp create mode 100644 examples/animation/states/states.pro create mode 100644 examples/animation/states/states.qrc create mode 100644 examples/animation/stickman/animation.cpp create mode 100644 examples/animation/stickman/animation.h create mode 100644 examples/animation/stickman/animations/chilling create mode 100644 examples/animation/stickman/animations/dancing create mode 100644 examples/animation/stickman/animations/dead create mode 100644 examples/animation/stickman/animations/jumping create mode 100644 examples/animation/stickman/graphicsview.cpp create mode 100644 examples/animation/stickman/graphicsview.h create mode 100644 examples/animation/stickman/lifecycle.cpp create mode 100644 examples/animation/stickman/lifecycle.h create mode 100644 examples/animation/stickman/main.cpp create mode 100644 examples/animation/stickman/node.cpp create mode 100644 examples/animation/stickman/node.h create mode 100644 examples/animation/stickman/stickman.cpp create mode 100644 examples/animation/stickman/stickman.h create mode 100644 examples/animation/stickman/stickman.pro create mode 100644 examples/animation/sub-attaq/animationmanager.cpp create mode 100644 examples/animation/sub-attaq/animationmanager.h create mode 100644 examples/animation/sub-attaq/boat.cpp create mode 100644 examples/animation/sub-attaq/boat.h create mode 100644 examples/animation/sub-attaq/boat_p.h create mode 100644 examples/animation/sub-attaq/bomb.cpp create mode 100644 examples/animation/sub-attaq/bomb.h create mode 100644 examples/animation/sub-attaq/custompropertyanimation.cpp create mode 100644 examples/animation/sub-attaq/custompropertyanimation.h create mode 100644 examples/animation/sub-attaq/custompropertyanimation_p.h create mode 100644 examples/animation/sub-attaq/data.xml create mode 100644 examples/animation/sub-attaq/graphicsscene.cpp create mode 100644 examples/animation/sub-attaq/graphicsscene.h create mode 100644 examples/animation/sub-attaq/main.cpp create mode 100644 examples/animation/sub-attaq/mainwindow.cpp create mode 100644 examples/animation/sub-attaq/mainwindow.h create mode 100644 examples/animation/sub-attaq/pics/big/background.png create mode 100644 examples/animation/sub-attaq/pics/big/boat.png create mode 100644 examples/animation/sub-attaq/pics/big/bomb.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step1.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step2.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step3.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step4.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png create mode 100644 examples/animation/sub-attaq/pics/big/submarine.png create mode 100644 examples/animation/sub-attaq/pics/big/surface.png create mode 100644 examples/animation/sub-attaq/pics/big/torpedo.png create mode 100644 examples/animation/sub-attaq/pics/scalable/background-n810.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/background.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/boat.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/bomb.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/sand.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/see.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/sky.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/sub-attaq.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/submarine.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/surface.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/torpedo.svg create mode 100644 examples/animation/sub-attaq/pics/small/background.png create mode 100644 examples/animation/sub-attaq/pics/small/boat.png create mode 100644 examples/animation/sub-attaq/pics/small/bomb.png create mode 100644 examples/animation/sub-attaq/pics/small/submarine.png create mode 100644 examples/animation/sub-attaq/pics/small/surface.png create mode 100644 examples/animation/sub-attaq/pics/small/torpedo.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-a.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-a2.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-b.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-dash.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-excl.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-q.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-s.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-t.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-t2.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-u.png create mode 100644 examples/animation/sub-attaq/pixmapitem.cpp create mode 100644 examples/animation/sub-attaq/pixmapitem.h create mode 100644 examples/animation/sub-attaq/states.cpp create mode 100644 examples/animation/sub-attaq/states.h create mode 100644 examples/animation/sub-attaq/sub-attaq.pro create mode 100644 examples/animation/sub-attaq/subattaq.qrc create mode 100644 examples/animation/sub-attaq/submarine.cpp create mode 100644 examples/animation/sub-attaq/submarine.h create mode 100644 examples/animation/sub-attaq/submarine_p.h create mode 100644 examples/animation/sub-attaq/torpedo.cpp create mode 100644 examples/animation/sub-attaq/torpedo.h create mode 100644 examples/declarative/animation/animation.qml create mode 100644 examples/declarative/behaviours/MyRect.qml create mode 100644 examples/declarative/behaviours/test.qml create mode 100644 examples/declarative/connections/connections.qml create mode 100644 examples/declarative/contacts/contacts.pro create mode 100644 examples/declarative/contacts/contacts.qml create mode 100644 examples/declarative/contacts/dummydata/contactModel.qml create mode 100644 examples/declarative/contacts/main.cpp create mode 100644 examples/declarative/declarative.pro create mode 100644 examples/declarative/dial/DialLibrary/Dial.qml create mode 100644 examples/declarative/dial/DialLibrary/background.svg create mode 100644 examples/declarative/dial/DialLibrary/needle.svg create mode 100644 examples/declarative/dial/DialLibrary/needle_shadow.svg create mode 100644 examples/declarative/dial/DialLibrary/overlay.svg create mode 100644 examples/declarative/dial/dial.qml create mode 100644 examples/declarative/easing/easing.qml create mode 100644 examples/declarative/follow/follow.qml create mode 100644 examples/declarative/follow/pong.qml create mode 100644 examples/declarative/listview/content/MediaButton.qml create mode 100644 examples/declarative/listview/content/pics/button-pressed.png create mode 100644 examples/declarative/listview/content/pics/button.png create mode 100644 examples/declarative/listview/content/pics/fruit-salad.jpg create mode 100644 examples/declarative/listview/content/pics/hamburger.jpg create mode 100644 examples/declarative/listview/content/pics/lemonade.jpg create mode 100644 examples/declarative/listview/content/pics/pancakes.jpg create mode 100644 examples/declarative/listview/content/pics/vegetable-soup.jpg create mode 100644 examples/declarative/listview/dummydata/MyPetsModel.qml create mode 100644 examples/declarative/listview/dummydata/Recipies.qml create mode 100644 examples/declarative/listview/highlight.qml create mode 100644 examples/declarative/listview/listview.qml create mode 100644 examples/declarative/listview/recipes.qml create mode 100644 examples/declarative/minehunt/Description.qml create mode 100644 examples/declarative/minehunt/Explosion.qml create mode 100644 examples/declarative/minehunt/main.cpp create mode 100644 examples/declarative/minehunt/minehunt.pro create mode 100644 examples/declarative/minehunt/minehunt.qml create mode 100644 examples/declarative/minehunt/pics/No-Ones-Laughing-3.jpg create mode 100644 examples/declarative/minehunt/pics/bomb-color.png create mode 100644 examples/declarative/minehunt/pics/bomb.png create mode 100644 examples/declarative/minehunt/pics/cachepix-black.png create mode 100644 examples/declarative/minehunt/pics/cachepix-black.sci create mode 100644 examples/declarative/minehunt/pics/cachepix-boxless.png create mode 100644 examples/declarative/minehunt/pics/cachepix-boxless.sci create mode 100644 examples/declarative/minehunt/pics/flag-color.png create mode 100644 examples/declarative/minehunt/pics/flag.png create mode 100644 examples/declarative/minehunt/pics/frown.png create mode 100644 examples/declarative/minehunt/pics/glee.png create mode 100644 examples/declarative/minehunt/pics/smile.png create mode 100644 examples/declarative/minehunt/pics/star.png create mode 100644 examples/declarative/mouseregion/mouse.qml create mode 100644 examples/declarative/namespaces/BlueStuff/Rect.qml create mode 100644 examples/declarative/namespaces/Local.qml create mode 100644 examples/declarative/namespaces/components.qml create mode 100644 examples/declarative/namespaces/lib/Chronos/Clock.qml create mode 100644 examples/declarative/namespaces/lib/Chronos/Hand.qml create mode 100644 examples/declarative/namespaces/lib/Chronos/pics/clockface.png create mode 100644 examples/declarative/namespaces/lib/Path/PathLabel.qml create mode 100644 examples/declarative/namespaces/lib/RedStuff/Rect.qml create mode 100644 examples/declarative/namespaces/lib/Wrong/Wrong.qml create mode 100644 examples/declarative/namespaces/library.qml create mode 100644 examples/declarative/namespaces/path.qml create mode 100644 examples/declarative/namespaces/simple.qml create mode 100644 examples/declarative/namespaces/wrong1.qml create mode 100644 examples/declarative/scrollbar/ScrollBar.qml create mode 100644 examples/declarative/scrollbar/display.qml create mode 100644 examples/declarative/scrollbar/pics/niagara_falls.jpg create mode 100644 examples/declarative/slideswitch/Switch.qml create mode 100644 examples/declarative/slideswitch/background.svg create mode 100644 examples/declarative/slideswitch/display.qml create mode 100644 examples/declarative/slideswitch/knob.svg create mode 100644 examples/declarative/states/states.qml create mode 100644 examples/declarative/states/transitions.qml create mode 100644 examples/declarative/support/contact.cpp create mode 100644 examples/declarative/support/contact.h create mode 100644 examples/declarative/support/contactmodel.cpp create mode 100644 examples/declarative/support/contactmodel.h create mode 100644 examples/declarative/support/support.pro create mode 100644 examples/declarative/tutorials/contacts/1_Drawing_and_Animation/1_Drawing_an_animation.qml create mode 100644 examples/declarative/tutorials/contacts/1_Drawing_and_Animation/RemoveButton1.qml create mode 100644 examples/declarative/tutorials/contacts/1_Drawing_and_Animation/RemoveButton2.qml create mode 100644 examples/declarative/tutorials/contacts/1_Drawing_and_Animation/RemoveButton3.qml create mode 100644 examples/declarative/tutorials/contacts/1_Drawing_and_Animation/RemoveButton4.qml create mode 100644 examples/declarative/tutorials/contacts/1_Drawing_and_Animation/RemoveButton5.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/2_Reuse.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/Contact3.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/Contact4.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/ContactField1.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/ContactField2.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/ContactField3.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/ContactField4.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/FieldText3.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/FieldText4.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/RemoveButton1.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/RemoveButton2.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/RemoveButton3.qml create mode 100644 examples/declarative/tutorials/contacts/2_Reuse/RemoveButton4.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/3_Collections.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/Button.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/Contact.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/ContactField.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/ContactView1.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/ContactView2.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/ContactView3.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/FieldText.qml create mode 100644 examples/declarative/tutorials/contacts/3_Collections/RemoveButton.qml create mode 100644 examples/declarative/tutorials/contacts/shared/contacts.sqlite create mode 100644 examples/declarative/tutorials/contacts/shared/pics/cancel.png create mode 100644 examples/declarative/tutorials/contacts/shared/pics/email.png create mode 100644 examples/declarative/tutorials/contacts/shared/pics/new.png create mode 100644 examples/declarative/tutorials/contacts/shared/pics/ok.png create mode 100644 examples/declarative/tutorials/contacts/shared/pics/phone.png create mode 100644 examples/declarative/tutorials/contacts/shared/pics/search.png create mode 100644 examples/declarative/tutorials/contacts/shared/pics/trash.png create mode 100644 examples/declarative/tutorials/contacts/t8/Button.qml create mode 100644 examples/declarative/tutorials/contacts/t8/Contact.qml create mode 100644 examples/declarative/tutorials/contacts/t8/Field.qml create mode 100644 examples/declarative/tutorials/contacts/t8/FieldRemover.qml create mode 100644 examples/declarative/tutorials/contacts/t8/FieldText.qml create mode 100644 examples/declarative/tutorials/contacts/t8/SearchBar.qml create mode 100644 examples/declarative/tutorials/contacts/t8/contacts.qml create mode 100644 examples/declarative/tutorials/t1/tutorial1.qml create mode 100644 examples/declarative/tutorials/t2/Cell.qml create mode 100644 examples/declarative/tutorials/t2/tutorial2.qml create mode 100644 examples/declarative/tutorials/t3/Cell.qml create mode 100644 examples/declarative/tutorials/t3/tutorial3.qml create mode 100644 examples/declarative/velocity/Day.qml create mode 100644 examples/declarative/velocity/cork.jpg create mode 100644 examples/declarative/velocity/sticky.png create mode 100644 examples/declarative/velocity/tack.png create mode 100644 examples/declarative/velocity/velocity.qml create mode 100644 examples/declarative/webview/autosize.qml create mode 100644 examples/declarative/webview/content/SpinSquare.qml create mode 100644 examples/declarative/webview/inline-html.qml create mode 100644 examples/declarative/webview/inline-xhtml.qml create mode 100644 examples/declarative/webview/qml-in-html.qml create mode 100644 examples/declarative/webview/transparent.qml create mode 100644 examples/declarative/xmldata/daringfireball.qml create mode 100644 examples/declarative/xmldata/yahoonews.qml create mode 100644 examples/statemachine/README create mode 100644 examples/statemachine/citizenquartz/citizenquartz.pro create mode 100644 examples/statemachine/citizenquartz/citizenquartz.qrc create mode 100644 examples/statemachine/citizenquartz/clock.cpp create mode 100644 examples/statemachine/citizenquartz/clock.h create mode 100644 examples/statemachine/citizenquartz/clockbutton.cpp create mode 100644 examples/statemachine/citizenquartz/clockbutton.h create mode 100644 examples/statemachine/citizenquartz/clockdisplay.cpp create mode 100644 examples/statemachine/citizenquartz/clockdisplay.h create mode 100644 examples/statemachine/citizenquartz/images/alarm.png create mode 100644 examples/statemachine/citizenquartz/main.cpp create mode 100644 examples/statemachine/citizenquartz/propertyaddstate.cpp create mode 100644 examples/statemachine/citizenquartz/propertyaddstate.h create mode 100644 examples/statemachine/citizenquartz/sound/alarm.wav create mode 100644 examples/statemachine/citizenquartz/timeperiod.h create mode 100644 examples/statemachine/clockticking/clockticking.pro create mode 100644 examples/statemachine/clockticking/main.cpp create mode 100644 examples/statemachine/composition/composition.pro create mode 100644 examples/statemachine/composition/main.cpp create mode 100644 examples/statemachine/eventtransitions/eventtransitions.pro create mode 100644 examples/statemachine/eventtransitions/main.cpp create mode 100644 examples/statemachine/factorial/factorial.pro create mode 100644 examples/statemachine/factorial/main.cpp create mode 100644 examples/statemachine/helloworld/helloworld.pro create mode 100644 examples/statemachine/helloworld/main.cpp create mode 100644 examples/statemachine/pauseandresume/main.cpp create mode 100644 examples/statemachine/pauseandresume/pauseandresume.pro create mode 100644 examples/statemachine/pingpong/main.cpp create mode 100644 examples/statemachine/pingpong/pingpong.pro create mode 100644 examples/statemachine/statemachine.pro create mode 100644 examples/statemachine/trafficlight/main.cpp create mode 100644 examples/statemachine/trafficlight/trafficlight.pro create mode 100644 examples/statemachine/twowaybutton/main.cpp create mode 100644 examples/statemachine/twowaybutton/twowaybutton.pro create mode 100644 mkspecs/linux-g++-x11egl/qmake.conf create mode 100644 mkspecs/linux-g++-x11egl/qplatformdefs.h create mode 100644 mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf create mode 100644 mkspecs/qws/linux-arm-gnueabi-g++/qplatformdefs.h create mode 100644 src/3rdparty/easing/easing.cpp create mode 100644 src/3rdparty/easing/legal.qdoc create mode 100644 src/corelib/animation/animation.pri create mode 100644 src/corelib/animation/qabstractanimation.cpp create mode 100644 src/corelib/animation/qabstractanimation.h create mode 100644 src/corelib/animation/qabstractanimation_p.h create mode 100644 src/corelib/animation/qanimationgroup.cpp create mode 100644 src/corelib/animation/qanimationgroup.h create mode 100644 src/corelib/animation/qanimationgroup_p.h create mode 100644 src/corelib/animation/qparallelanimationgroup.cpp create mode 100644 src/corelib/animation/qparallelanimationgroup.h create mode 100644 src/corelib/animation/qparallelanimationgroup_p.h create mode 100644 src/corelib/animation/qpauseanimation.cpp create mode 100644 src/corelib/animation/qpauseanimation.h create mode 100644 src/corelib/animation/qpropertyanimation.cpp create mode 100644 src/corelib/animation/qpropertyanimation.h create mode 100644 src/corelib/animation/qpropertyanimation_p.h create mode 100644 src/corelib/animation/qsequentialanimationgroup.cpp create mode 100644 src/corelib/animation/qsequentialanimationgroup.h create mode 100644 src/corelib/animation/qsequentialanimationgroup_p.h create mode 100644 src/corelib/animation/qvariantanimation.cpp create mode 100644 src/corelib/animation/qvariantanimation.h create mode 100644 src/corelib/animation/qvariantanimation_p.h create mode 100644 src/corelib/kernel/qmetaobjectbuilder.cpp create mode 100644 src/corelib/kernel/qmetaobjectbuilder_p.h create mode 100644 src/corelib/statemachine/qabstractstate.cpp create mode 100644 src/corelib/statemachine/qabstractstate.h create mode 100644 src/corelib/statemachine/qabstractstate_p.h create mode 100644 src/corelib/statemachine/qabstracttransition.cpp create mode 100644 src/corelib/statemachine/qabstracttransition.h create mode 100644 src/corelib/statemachine/qabstracttransition_p.h create mode 100644 src/corelib/statemachine/qactionstate.cpp create mode 100644 src/corelib/statemachine/qactionstate.h create mode 100644 src/corelib/statemachine/qactionstate_p.h create mode 100644 src/corelib/statemachine/qanimationstate.cpp create mode 100644 src/corelib/statemachine/qanimationstate.h create mode 100644 src/corelib/statemachine/qboundevent_p.h create mode 100644 src/corelib/statemachine/qeventtransition.cpp create mode 100644 src/corelib/statemachine/qeventtransition.h create mode 100644 src/corelib/statemachine/qeventtransition_p.h create mode 100644 src/corelib/statemachine/qfinalstate.cpp create mode 100644 src/corelib/statemachine/qfinalstate.h create mode 100644 src/corelib/statemachine/qhistorystate.cpp create mode 100644 src/corelib/statemachine/qhistorystate.h create mode 100644 src/corelib/statemachine/qhistorystate_p.h create mode 100644 src/corelib/statemachine/qsignalevent.h create mode 100644 src/corelib/statemachine/qsignaleventgenerator_p.h create mode 100644 src/corelib/statemachine/qsignaltransition.cpp create mode 100644 src/corelib/statemachine/qsignaltransition.h create mode 100644 src/corelib/statemachine/qsignaltransition_p.h create mode 100644 src/corelib/statemachine/qstate.cpp create mode 100644 src/corelib/statemachine/qstate.h create mode 100644 src/corelib/statemachine/qstate_p.h create mode 100644 src/corelib/statemachine/qstateaction.cpp create mode 100644 src/corelib/statemachine/qstateaction.h create mode 100644 src/corelib/statemachine/qstateaction_p.h create mode 100644 src/corelib/statemachine/qstatefinishedevent.h create mode 100644 src/corelib/statemachine/qstatefinishedtransition.cpp create mode 100644 src/corelib/statemachine/qstatefinishedtransition.h create mode 100644 src/corelib/statemachine/qstatemachine.cpp create mode 100644 src/corelib/statemachine/qstatemachine.h create mode 100644 src/corelib/statemachine/qstatemachine_p.h create mode 100644 src/corelib/statemachine/qtransition.cpp create mode 100644 src/corelib/statemachine/qtransition.h create mode 100644 src/corelib/statemachine/qtransition_p.h create mode 100644 src/corelib/statemachine/statemachine.pri create mode 100644 src/corelib/tools/qeasingcurve.cpp create mode 100644 src/corelib/tools/qeasingcurve.h create mode 100644 src/declarative/3rdparty/3rdparty.pri create mode 100644 src/declarative/3rdparty/easing.cpp create mode 100644 src/declarative/3rdparty/legal.qdoc create mode 100644 src/declarative/3rdparty/qlistmodelinterface.h create mode 100644 src/declarative/canvas/canvas.pri create mode 100644 src/declarative/canvas/qsimplecanvas.cpp create mode 100644 src/declarative/canvas/qsimplecanvas.h create mode 100644 src/declarative/canvas/qsimplecanvas_graphicsview.cpp create mode 100644 src/declarative/canvas/qsimplecanvas_opengl.cpp create mode 100644 src/declarative/canvas/qsimplecanvas_opengl1.cpp create mode 100644 src/declarative/canvas/qsimplecanvas_p.h create mode 100644 src/declarative/canvas/qsimplecanvas_software.cpp create mode 100644 src/declarative/canvas/qsimplecanvasfilter.cpp create mode 100644 src/declarative/canvas/qsimplecanvasfilter.h create mode 100644 src/declarative/canvas/qsimplecanvasfilter_p.h create mode 100644 src/declarative/canvas/qsimplecanvasitem.cpp create mode 100644 src/declarative/canvas/qsimplecanvasitem.h create mode 100644 src/declarative/canvas/qsimplecanvasitem_p.h create mode 100644 src/declarative/canvas/qsimplecanvasserver.cpp create mode 100644 src/declarative/canvas/qsimplecanvasserver_p.h create mode 100644 src/declarative/declarative.pro create mode 100644 src/declarative/extra/extra.pri create mode 100644 src/declarative/extra/qfxintegermodel.cpp create mode 100644 src/declarative/extra/qfxintegermodel.h create mode 100644 src/declarative/extra/qmlnumberformatter.cpp create mode 100644 src/declarative/extra/qmlnumberformatter.h create mode 100644 src/declarative/extra/qmlsqlconnection.cpp create mode 100644 src/declarative/extra/qmlsqlconnection.h create mode 100644 src/declarative/extra/qmlsqlquery.cpp create mode 100644 src/declarative/extra/qmlsqlquery.h create mode 100644 src/declarative/extra/qmlxmllistmodel.cpp create mode 100644 src/declarative/extra/qmlxmllistmodel.h create mode 100644 src/declarative/extra/qnumberformat.cpp create mode 100644 src/declarative/extra/qnumberformat.h create mode 100644 src/declarative/fx/fx.pri create mode 100644 src/declarative/fx/qfxanchors.cpp create mode 100644 src/declarative/fx/qfxanchors.h create mode 100644 src/declarative/fx/qfxanchors_p.h create mode 100644 src/declarative/fx/qfxanimatedimageitem.cpp create mode 100644 src/declarative/fx/qfxanimatedimageitem.h create mode 100644 src/declarative/fx/qfxanimatedimageitem_p.h create mode 100644 src/declarative/fx/qfxblendedimage.cpp create mode 100644 src/declarative/fx/qfxblendedimage.h create mode 100644 src/declarative/fx/qfxblurfilter.cpp create mode 100644 src/declarative/fx/qfxblurfilter.h create mode 100644 src/declarative/fx/qfxcomponentinstance.cpp create mode 100644 src/declarative/fx/qfxcomponentinstance.h create mode 100644 src/declarative/fx/qfxcomponentinstance_p.h create mode 100644 src/declarative/fx/qfxcontentwrapper.cpp create mode 100644 src/declarative/fx/qfxcontentwrapper.h create mode 100644 src/declarative/fx/qfxcontentwrapper_p.h create mode 100644 src/declarative/fx/qfxflickable.cpp create mode 100644 src/declarative/fx/qfxflickable.h create mode 100644 src/declarative/fx/qfxflickable_p.h create mode 100644 src/declarative/fx/qfxfocuspanel.cpp create mode 100644 src/declarative/fx/qfxfocuspanel.h create mode 100644 src/declarative/fx/qfxfocusrealm.cpp create mode 100644 src/declarative/fx/qfxfocusrealm.h create mode 100644 src/declarative/fx/qfxgridview.cpp create mode 100644 src/declarative/fx/qfxgridview.h create mode 100644 src/declarative/fx/qfxhighlightfilter.cpp create mode 100644 src/declarative/fx/qfxhighlightfilter.h create mode 100644 src/declarative/fx/qfximage.cpp create mode 100644 src/declarative/fx/qfximage.h create mode 100644 src/declarative/fx/qfximage_p.h create mode 100644 src/declarative/fx/qfximageitem.cpp create mode 100644 src/declarative/fx/qfximageitem.h create mode 100644 src/declarative/fx/qfximageitem_p.h create mode 100644 src/declarative/fx/qfxitem.cpp create mode 100644 src/declarative/fx/qfxitem.h create mode 100644 src/declarative/fx/qfxitem_p.h create mode 100644 src/declarative/fx/qfxkeyactions.cpp create mode 100644 src/declarative/fx/qfxkeyactions.h create mode 100644 src/declarative/fx/qfxkeyproxy.cpp create mode 100644 src/declarative/fx/qfxkeyproxy.h create mode 100644 src/declarative/fx/qfxlayouts.cpp create mode 100644 src/declarative/fx/qfxlayouts.h create mode 100644 src/declarative/fx/qfxlayouts_p.h create mode 100644 src/declarative/fx/qfxlistview.cpp create mode 100644 src/declarative/fx/qfxlistview.h create mode 100644 src/declarative/fx/qfxmouseregion.cpp create mode 100644 src/declarative/fx/qfxmouseregion.h create mode 100644 src/declarative/fx/qfxmouseregion_p.h create mode 100644 src/declarative/fx/qfxpainted.cpp create mode 100644 src/declarative/fx/qfxpainted.h create mode 100644 src/declarative/fx/qfxpainted_p.h create mode 100644 src/declarative/fx/qfxparticles.cpp create mode 100644 src/declarative/fx/qfxparticles.h create mode 100644 src/declarative/fx/qfxpath.cpp create mode 100644 src/declarative/fx/qfxpath.h create mode 100644 src/declarative/fx/qfxpath_p.h create mode 100644 src/declarative/fx/qfxpathview.cpp create mode 100644 src/declarative/fx/qfxpathview.h create mode 100644 src/declarative/fx/qfxpathview_p.h create mode 100644 src/declarative/fx/qfxpixmap.cpp create mode 100644 src/declarative/fx/qfxpixmap.h create mode 100644 src/declarative/fx/qfxrect.cpp create mode 100644 src/declarative/fx/qfxrect.h create mode 100644 src/declarative/fx/qfxrect_p.h create mode 100644 src/declarative/fx/qfxreflectionfilter.cpp create mode 100644 src/declarative/fx/qfxreflectionfilter.h create mode 100644 src/declarative/fx/qfxrepeater.cpp create mode 100644 src/declarative/fx/qfxrepeater.h create mode 100644 src/declarative/fx/qfxrepeater_p.h create mode 100644 src/declarative/fx/qfxscalegrid.cpp create mode 100644 src/declarative/fx/qfxscalegrid.h create mode 100644 src/declarative/fx/qfxshadowfilter.cpp create mode 100644 src/declarative/fx/qfxshadowfilter.h create mode 100644 src/declarative/fx/qfxtext.cpp create mode 100644 src/declarative/fx/qfxtext.h create mode 100644 src/declarative/fx/qfxtext_p.h create mode 100644 src/declarative/fx/qfxtextedit.cpp create mode 100644 src/declarative/fx/qfxtextedit.h create mode 100644 src/declarative/fx/qfxtextedit_p.h create mode 100644 src/declarative/fx/qfxtransform.cpp create mode 100644 src/declarative/fx/qfxtransform.h create mode 100644 src/declarative/fx/qfxvisualitemmodel.cpp create mode 100644 src/declarative/fx/qfxvisualitemmodel.h create mode 100644 src/declarative/fx/qfxwebview.cpp create mode 100644 src/declarative/fx/qfxwebview.h create mode 100644 src/declarative/fx/qfxwidgetcontainer.cpp create mode 100644 src/declarative/fx/qfxwidgetcontainer.h create mode 100644 src/declarative/opengl/glbasicshaders.cpp create mode 100644 src/declarative/opengl/glbasicshaders.h create mode 100644 src/declarative/opengl/glheaders.h create mode 100644 src/declarative/opengl/glsave.cpp create mode 100644 src/declarative/opengl/glsave.h create mode 100644 src/declarative/opengl/gltexture.cpp create mode 100644 src/declarative/opengl/gltexture.h create mode 100644 src/declarative/opengl/opengl.pri create mode 100644 src/declarative/qml/qml.h create mode 100644 src/declarative/qml/qml.pri create mode 100644 src/declarative/qml/qmlbindablevalue.cpp create mode 100644 src/declarative/qml/qmlbindablevalue.h create mode 100644 src/declarative/qml/qmlboundsignal.cpp create mode 100644 src/declarative/qml/qmlboundsignal_p.h create mode 100644 src/declarative/qml/qmlclassfactory.cpp create mode 100644 src/declarative/qml/qmlclassfactory_p.h create mode 100644 src/declarative/qml/qmlcompiledcomponent.cpp create mode 100644 src/declarative/qml/qmlcompiledcomponent_p.h create mode 100644 src/declarative/qml/qmlcompiler.cpp create mode 100644 src/declarative/qml/qmlcompiler_p.h create mode 100644 src/declarative/qml/qmlcomponent.cpp create mode 100644 src/declarative/qml/qmlcomponent.h create mode 100644 src/declarative/qml/qmlcomponent_p.h create mode 100644 src/declarative/qml/qmlcompositetypemanager.cpp create mode 100644 src/declarative/qml/qmlcompositetypemanager_p.h create mode 100644 src/declarative/qml/qmlcontext.cpp create mode 100644 src/declarative/qml/qmlcontext.h create mode 100644 src/declarative/qml/qmlcontext_p.h create mode 100644 src/declarative/qml/qmlcustomparser.cpp create mode 100644 src/declarative/qml/qmlcustomparser.h create mode 100644 src/declarative/qml/qmldom.cpp create mode 100644 src/declarative/qml/qmldom.h create mode 100644 src/declarative/qml/qmldom_p.h create mode 100644 src/declarative/qml/qmlengine.cpp create mode 100644 src/declarative/qml/qmlengine.h create mode 100644 src/declarative/qml/qmlengine_p.h create mode 100644 src/declarative/qml/qmlexpression.h create mode 100644 src/declarative/qml/qmlinfo.cpp create mode 100644 src/declarative/qml/qmlinfo.h create mode 100644 src/declarative/qml/qmlinstruction.cpp create mode 100644 src/declarative/qml/qmlinstruction_p.h create mode 100644 src/declarative/qml/qmllist.h create mode 100644 src/declarative/qml/qmlmetaproperty.cpp create mode 100644 src/declarative/qml/qmlmetaproperty.h create mode 100644 src/declarative/qml/qmlmetaproperty_p.h create mode 100644 src/declarative/qml/qmlmetatype.cpp create mode 100644 src/declarative/qml/qmlmetatype.h create mode 100644 src/declarative/qml/qmlparser.cpp create mode 100644 src/declarative/qml/qmlparser_p.h create mode 100644 src/declarative/qml/qmlparserstatus.cpp create mode 100644 src/declarative/qml/qmlparserstatus.h create mode 100644 src/declarative/qml/qmlprivate.cpp create mode 100644 src/declarative/qml/qmlprivate.h create mode 100644 src/declarative/qml/qmlpropertyvaluesource.cpp create mode 100644 src/declarative/qml/qmlpropertyvaluesource.h create mode 100644 src/declarative/qml/qmlproxymetaobject.cpp create mode 100644 src/declarative/qml/qmlproxymetaobject_p.h create mode 100644 src/declarative/qml/qmlrefcount.cpp create mode 100644 src/declarative/qml/qmlrefcount_p.h create mode 100644 src/declarative/qml/qmlstringconverters.cpp create mode 100644 src/declarative/qml/qmlstringconverters_p.h create mode 100644 src/declarative/qml/qmlvme.cpp create mode 100644 src/declarative/qml/qmlvme_p.h create mode 100644 src/declarative/qml/qmlvmemetaobject.cpp create mode 100644 src/declarative/qml/qmlvmemetaobject_p.h create mode 100644 src/declarative/qml/qmlxmlparser.cpp create mode 100644 src/declarative/qml/qmlxmlparser_p.h create mode 100644 src/declarative/qml/script/generator/generator.pro create mode 100644 src/declarative/qml/script/generator/main.cpp create mode 100644 src/declarative/qml/script/instructions.h create mode 100644 src/declarative/qml/script/keywords.cpp create mode 100644 src/declarative/qml/script/lexer.cpp create mode 100644 src/declarative/qml/script/lexer.h create mode 100644 src/declarative/qml/script/qmlbasicscript.cpp create mode 100644 src/declarative/qml/script/qmlbasicscript.h create mode 100644 src/declarative/qml/script/qmlbasicscript_p.h create mode 100644 src/declarative/qml/script/script.pri create mode 100644 src/declarative/qml/script/tokens.cpp create mode 100644 src/declarative/qml/script/tokens.h create mode 100644 src/declarative/test/qfxtestengine.cpp create mode 100644 src/declarative/test/qfxtestengine.h create mode 100644 src/declarative/test/qfxtestobjects.cpp create mode 100644 src/declarative/test/qfxtestobjects.h create mode 100644 src/declarative/test/qfxtestview.cpp create mode 100644 src/declarative/test/qfxtestview.h create mode 100644 src/declarative/test/test.pri create mode 100644 src/declarative/timeline/gfxeasing.cpp create mode 100644 src/declarative/timeline/gfxeasing.h create mode 100644 src/declarative/timeline/gfxtimeline.cpp create mode 100644 src/declarative/timeline/gfxtimeline.h create mode 100644 src/declarative/timeline/gfxvalueproxy.h create mode 100644 src/declarative/timeline/timeline.pri create mode 100644 src/declarative/util/qbindablemap.cpp create mode 100644 src/declarative/util/qbindablemap.h create mode 100644 src/declarative/util/qfxglobal.h create mode 100644 src/declarative/util/qfxperf.cpp create mode 100644 src/declarative/util/qfxperf.h create mode 100644 src/declarative/util/qfxview.cpp create mode 100644 src/declarative/util/qfxview.h create mode 100644 src/declarative/util/qmlanimation.cpp create mode 100644 src/declarative/util/qmlanimation.h create mode 100644 src/declarative/util/qmlanimation_p.h create mode 100644 src/declarative/util/qmlbehaviour.cpp create mode 100644 src/declarative/util/qmlbehaviour.h create mode 100644 src/declarative/util/qmlbind.cpp create mode 100644 src/declarative/util/qmlbind.h create mode 100644 src/declarative/util/qmlconnection.cpp create mode 100644 src/declarative/util/qmlconnection.h create mode 100644 src/declarative/util/qmldatetimeformatter.cpp create mode 100644 src/declarative/util/qmldatetimeformatter.h create mode 100644 src/declarative/util/qmlfollow.cpp create mode 100644 src/declarative/util/qmlfollow.h create mode 100644 src/declarative/util/qmlfont.cpp create mode 100644 src/declarative/util/qmlfont.h create mode 100644 src/declarative/util/qmllistaccessor.cpp create mode 100644 src/declarative/util/qmllistaccessor.h create mode 100644 src/declarative/util/qmllistmodel.cpp create mode 100644 src/declarative/util/qmllistmodel.h create mode 100644 src/declarative/util/qmlnullablevalue_p.h create mode 100644 src/declarative/util/qmlopenmetaobject.cpp create mode 100644 src/declarative/util/qmlopenmetaobject.h create mode 100644 src/declarative/util/qmlpackage.cpp create mode 100644 src/declarative/util/qmlpackage.h create mode 100644 src/declarative/util/qmlscript.cpp create mode 100644 src/declarative/util/qmlscript.h create mode 100644 src/declarative/util/qmlsetproperties.cpp create mode 100644 src/declarative/util/qmlsetproperties.h create mode 100644 src/declarative/util/qmlstate.cpp create mode 100644 src/declarative/util/qmlstate.h create mode 100644 src/declarative/util/qmlstate_p.h create mode 100644 src/declarative/util/qmlstategroup.cpp create mode 100644 src/declarative/util/qmlstategroup.h create mode 100644 src/declarative/util/qmlstateoperations.cpp create mode 100644 src/declarative/util/qmlstateoperations.h create mode 100644 src/declarative/util/qmltransition.cpp create mode 100644 src/declarative/util/qmltransition.h create mode 100644 src/declarative/util/qperformancelog.cpp create mode 100644 src/declarative/util/qperformancelog.h create mode 100644 src/declarative/util/util.pri create mode 100644 src/declarative/widgets/graphicslayouts.cpp create mode 100644 src/declarative/widgets/graphicslayouts.h create mode 100644 src/declarative/widgets/graphicswidgets.cpp create mode 100644 src/declarative/widgets/graphicswidgets.h create mode 100644 src/declarative/widgets/widgets.pri create mode 100644 src/gui/animation/animation.pri create mode 100644 src/gui/animation/qitemanimation.cpp create mode 100644 src/gui/animation/qitemanimation.h create mode 100644 src/gui/animation/qitemanimation_p.h create mode 100644 src/gui/statemachine/qbasickeyeventtransition.cpp create mode 100644 src/gui/statemachine/qbasickeyeventtransition_p.h create mode 100644 src/gui/statemachine/qbasicmouseeventtransition.cpp create mode 100644 src/gui/statemachine/qbasicmouseeventtransition_p.h create mode 100644 src/gui/statemachine/qguistatemachine.cpp create mode 100644 src/gui/statemachine/qkeyeventtransition.cpp create mode 100644 src/gui/statemachine/qkeyeventtransition.h create mode 100644 src/gui/statemachine/qmouseeventtransition.cpp create mode 100644 src/gui/statemachine/qmouseeventtransition.h create mode 100644 src/gui/statemachine/statemachine.pri create mode 100644 src/opengl/qglshaderprogram.cpp create mode 100644 src/opengl/qglshaderprogram.h create mode 100644 tests/auto/declarative/.gitignore create mode 100644 tests/auto/declarative/datetimeformatter/datetimeformatter.pro create mode 100644 tests/auto/declarative/datetimeformatter/tst_datetimeformatter.cpp create mode 100644 tests/auto/declarative/declarative.pro create mode 100644 tests/auto/declarative/layouts/data/grid-margin.xml create mode 100644 tests/auto/declarative/layouts/data/grid-spacing-margin.xml create mode 100644 tests/auto/declarative/layouts/data/grid-spacing.xml create mode 100644 tests/auto/declarative/layouts/data/grid.xml create mode 100644 tests/auto/declarative/layouts/data/horizontal-margin.xml create mode 100644 tests/auto/declarative/layouts/data/horizontal-spacing-margin.xml create mode 100644 tests/auto/declarative/layouts/data/horizontal-spacing.xml create mode 100644 tests/auto/declarative/layouts/data/horizontal.xml create mode 100644 tests/auto/declarative/layouts/data/vertical-margin.xml create mode 100644 tests/auto/declarative/layouts/data/vertical-spacing-margin.xml create mode 100644 tests/auto/declarative/layouts/data/vertical-spacing.xml create mode 100644 tests/auto/declarative/layouts/data/vertical.xml create mode 100644 tests/auto/declarative/layouts/layouts.pro create mode 100644 tests/auto/declarative/layouts/tst_layouts.cpp create mode 100644 tests/auto/declarative/listview/data/listview.xml create mode 100644 tests/auto/declarative/listview/listview.pro create mode 100644 tests/auto/declarative/listview/tst_listview.cpp create mode 100644 tests/auto/declarative/namespaces/data/Red/Rect.qml create mode 100644 tests/auto/declarative/namespaces/namespaces.pro create mode 100644 tests/auto/declarative/namespaces/tst_namespaces.cpp create mode 100644 tests/auto/declarative/numberformatter/numberformatter.pro create mode 100644 tests/auto/declarative/numberformatter/tst_numberformatter.cpp create mode 100644 tests/auto/declarative/pathview/data/pathview.xml create mode 100644 tests/auto/declarative/pathview/pathview.pro create mode 100644 tests/auto/declarative/pathview/tst_pathview.cpp create mode 100644 tests/auto/declarative/qbindablemap/qbindablemap.pro create mode 100644 tests/auto/declarative/qbindablemap/tst_qbindablemap.cpp create mode 100644 tests/auto/declarative/qfxtext/qfxtext.pro create mode 100644 tests/auto/declarative/qfxtext/tst_qfxtext.cpp create mode 100644 tests/auto/declarative/qfxtextedit/qfxtextedit.pro create mode 100644 tests/auto/declarative/qfxtextedit/tst_qfxtextedit.cpp create mode 100644 tests/auto/declarative/qmlbindengine/qmlbindengine.pro create mode 100644 tests/auto/declarative/qmlbindengine/tst_qmlbindengine.cpp create mode 100644 tests/auto/declarative/qmllist/qmllist.pro create mode 100644 tests/auto/declarative/qmllist/tst_qmllist.cpp create mode 100644 tests/auto/declarative/qmllistaccessor/qmllistaccessor.pro create mode 100644 tests/auto/declarative/qmllistaccessor/tst_qmllistaccessor.cpp create mode 100644 tests/auto/declarative/qmlmetaproperty/qmlmetaproperty.pro create mode 100644 tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp create mode 100644 tests/auto/declarative/qmlparser/qmlparser.pro create mode 100644 tests/auto/declarative/qmlparser/tst_qmlparser.cpp create mode 100644 tests/auto/declarative/repeater/data/repeater.xml create mode 100644 tests/auto/declarative/repeater/repeater.pro create mode 100644 tests/auto/declarative/repeater/tst_repeater.cpp create mode 100644 tests/auto/declarative/simplecanvasitem/data/test.xml create mode 100644 tests/auto/declarative/simplecanvasitem/simplecanvasitem.pro create mode 100644 tests/auto/declarative/simplecanvasitem/tst_simplecanvasitem.cpp create mode 100644 tests/auto/declarative/visual/ListView/basic1/basic1.xml create mode 100644 tests/auto/declarative/visual/ListView/basic1/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/ListView/basic1/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/ListView/basic1/test create mode 100644 tests/auto/declarative/visual/ListView/basic2/basic2.xml create mode 100644 tests/auto/declarative/visual/ListView/basic2/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/ListView/basic2/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/ListView/basic2/test create mode 100644 tests/auto/declarative/visual/ListView/basic3/basic3.xml create mode 100644 tests/auto/declarative/visual/ListView/basic3/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/ListView/basic3/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/ListView/basic3/test create mode 100644 tests/auto/declarative/visual/ListView/basic4/basic4.xml create mode 100644 tests/auto/declarative/visual/ListView/basic4/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/ListView/basic4/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/ListView/basic4/test create mode 100644 tests/auto/declarative/visual/bindinganimation/bindinganimation.xml create mode 100644 tests/auto/declarative/visual/bindinganimation/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/bindinganimation/data/opengl/manifest-play.xml create mode 100644 tests/auto/declarative/visual/bindinganimation/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/bindinganimation/test create mode 100644 tests/auto/declarative/visual/colorAnimation/colorAnimation.xml create mode 100644 tests/auto/declarative/visual/colorAnimation/image0.png create mode 100644 tests/auto/declarative/visual/colorAnimation/manifest-play.xml create mode 100644 tests/auto/declarative/visual/colorAnimation/manifest.xml create mode 100644 tests/auto/declarative/visual/easing/easing.xml create mode 100644 tests/auto/declarative/visual/easing/image0.png create mode 100644 tests/auto/declarative/visual/easing/manifest-play.xml create mode 100644 tests/auto/declarative/visual/easing/manifest.xml create mode 100644 tests/auto/declarative/visual/easing/pics/qtlogo.png create mode 100644 tests/auto/declarative/visual/flickable/Day.qml create mode 100644 tests/auto/declarative/visual/flickable/cork.jpg create mode 100644 tests/auto/declarative/visual/flickable/flickable.xml create mode 100644 tests/auto/declarative/visual/flickable/image0.png create mode 100644 tests/auto/declarative/visual/flickable/manifest-fail.xml create mode 100644 tests/auto/declarative/visual/flickable/manifest.xml create mode 100644 tests/auto/declarative/visual/flipable/flipable.xml create mode 100644 tests/auto/declarative/visual/flipable/image0.png create mode 100644 tests/auto/declarative/visual/flipable/manifest-play.xml create mode 100644 tests/auto/declarative/visual/flipable/manifest.xml create mode 100644 tests/auto/declarative/visual/flipable/pics/arrow.png create mode 100644 tests/auto/declarative/visual/flipable/pics/face.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo0.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo1.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo10.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo2.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo3.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo4.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo5.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo6.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo7.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo8.png create mode 100644 tests/auto/declarative/visual/flipable/pics/photo9.png create mode 100644 tests/auto/declarative/visual/pauseAnimation/image0.png create mode 100644 tests/auto/declarative/visual/pauseAnimation/manifest-play.xml create mode 100644 tests/auto/declarative/visual/pauseAnimation/manifest.xml create mode 100644 tests/auto/declarative/visual/pauseAnimation/pauseAnimation.xml create mode 100644 tests/auto/declarative/visual/pauseAnimation/pics/qtlogo.png create mode 100644 tests/auto/declarative/visual/qfxtext/elide/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/qfxtext/elide/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/qfxtext/elide/elide.xml create mode 100644 tests/auto/declarative/visual/qfxtext/elide/test create mode 100644 tests/auto/declarative/visual/repeater/basic1/basic1.xml create mode 100644 tests/auto/declarative/visual/repeater/basic1/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/repeater/basic1/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/repeater/basic1/test create mode 100644 tests/auto/declarative/visual/repeater/basic2/basic2.xml create mode 100644 tests/auto/declarative/visual/repeater/basic2/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/repeater/basic2/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/repeater/basic2/test create mode 100644 tests/auto/declarative/visual/repeater/basic3/basic3.xml create mode 100644 tests/auto/declarative/visual/repeater/basic3/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/repeater/basic3/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/repeater/basic3/test create mode 100644 tests/auto/declarative/visual/repeater/basic4/basic4.xml create mode 100644 tests/auto/declarative/visual/repeater/basic4/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/repeater/basic4/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/repeater/basic4/test create mode 100755 tests/auto/declarative/visual/runtests.sh create mode 100644 tests/auto/declarative/visual/tests create mode 100644 tests/auto/declarative/visual/tst_visual.cpp create mode 100644 tests/auto/declarative/visual/visual.pro create mode 100644 tests/auto/declarative/visual/webview/autosize/data/opengl/image0.png create mode 100644 tests/auto/declarative/visual/webview/autosize/data/opengl/manifest.xml create mode 100644 tests/auto/declarative/visual/webview/autosize/test create mode 100644 tests/auto/dynamicobject/dynamicobject.pro create mode 100644 tests/auto/dynamicobject/qdynamicmetaobject.cpp create mode 100644 tests/auto/dynamicobject/qdynamicmetaobject.h create mode 100644 tests/auto/dynamicobject/qmetaobjectbuilder.cpp create mode 100644 tests/auto/dynamicobject/qmetaobjectbuilder.h create mode 100644 tests/auto/dynamicobject/tst_qobject.cpp create mode 100644 tests/auto/qanimationgroup/qanimationgroup.pro create mode 100644 tests/auto/qanimationgroup/tst_qanimationgroup.cpp create mode 100644 tests/auto/qanimationstate/qanimationstate.pro create mode 100644 tests/auto/qanimationstate/tst_qanimationstate.cpp create mode 100644 tests/auto/qeasingcurve/qeasingcurve.pro create mode 100644 tests/auto/qeasingcurve/tst_qeasingcurve.cpp create mode 100644 tests/auto/qparallelanimationgroup/qparallelanimationgroup.pro create mode 100644 tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp create mode 100644 tests/auto/qpropertyanimation/qpropertyanimation.pro create mode 100644 tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp create mode 100644 tests/auto/qsequentialanimationgroup/qsequentialanimationgroup.pro create mode 100644 tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp create mode 100644 tests/auto/qstate/qstate.pro create mode 100644 tests/auto/qstate/tst_qstate.cpp create mode 100644 tests/auto/qstatemachine/qstatemachine.pro create mode 100644 tests/auto/qstatemachine/tst_qstatemachine.cpp create mode 100644 tests/benchmarks/qanimation/dummyanimation.cpp create mode 100644 tests/benchmarks/qanimation/dummyanimation.h create mode 100644 tests/benchmarks/qanimation/dummyobject.cpp create mode 100644 tests/benchmarks/qanimation/dummyobject.h create mode 100644 tests/benchmarks/qanimation/main.cpp create mode 100644 tests/benchmarks/qanimation/qanimation.pro create mode 100644 tests/benchmarks/qanimation/rectanimation.cpp create mode 100644 tests/benchmarks/qanimation/rectanimation.h create mode 100644 tests/benchmarks/qfxview/main.cpp create mode 100644 tests/benchmarks/qfxview/qfxview.pro create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/editor/data.xml create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/background.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/background3.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/battery.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/calendar.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/callhistory.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/camera-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/camera.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/contacts.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/file-manager.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/fire.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-blue.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-container.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-front.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-pink.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/flask-yellow.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/ice.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/icon-reflection.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/internet-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/internet.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-background1.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border1.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-border3.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menu-highlight.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/menubar.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/messages-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/messages.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/moon.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/sad.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/settings-blur.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/settings.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/signal.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/smile.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/star.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/sun.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/titlebar.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/pics/wifi.png create mode 100644 tests/benchmarks/qfxview/testdata/tatwheel/tat-wheel.xml create mode 100644 tests/benchmarks/qmlxmlparser/main.cpp create mode 100644 tests/benchmarks/qmlxmlparser/qmlxmlparser.pro create mode 100644 tests/benchmarks/qmlxmlparser/testdata/concept2.xml create mode 100644 tools/duiviewer/duiviewer.pro create mode 100644 tools/duiviewer/main.cpp create mode 100644 tools/duiviewer/qfxviewer.cpp create mode 100644 tools/duiviewer/qfxviewer.h diff --git a/.gitignore b/.gitignore index 0de9563..9f4144a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,8 +12,11 @@ config.tests/*/*/* !config.tests/*/*/*[.]* config.tests/*/*/*[.]app +callgrind.out.* +pcviewer.cfg *~ *.a +*.la *.core *.moc *.o @@ -44,6 +47,7 @@ bin/Qt*.dll bin/assistant* bin/designer* bin/dumpcpp* +bin/duiviewer* bin/idc* bin/linguist* bin/lrelease* diff --git a/bin/snapshot b/bin/snapshot new file mode 100644 index 0000000..8cf3be2 --- /dev/null +++ b/bin/snapshot @@ -0,0 +1,333 @@ +#!/usr/bin/perl -w +###################################################################### +# +# +###################################################################### + +# use packages ------------------------------------------------------- +use File::Basename; +use File::Path; +use Cwd; +use Config; +use strict; + +my $targetPath = ""; +my $qtdir = $ENV{"QTDIR"}; + +my @files = ( + "3rdparty/easing/easing.cpp", + "corelib/tools/qeasingcurve.h", + "corelib/tools/qeasingcurve.cpp", + "corelib/animation/animation.pri", + "corelib/animation/qabstractanimation.cpp", + "corelib/animation/qabstractanimation.h", + "corelib/animation/qabstractanimation_p.h", + "corelib/animation/qvariantanimation.cpp", + "corelib/animation/qvariantanimation.h", + "corelib/animation/qanimationgroup.cpp", + "corelib/animation/qvariantanimation_p.h", + "corelib/animation/qanimationgroup.h", + "corelib/animation/qanimationgroup_p.h", + "corelib/animation/qparallelanimationgroup.cpp", + "corelib/animation/qparallelanimationgroup.h", + "corelib/animation/qparallelanimationgroup_p.h", + "corelib/animation/qpauseanimation.cpp", + "corelib/animation/qpauseanimation.h", + "corelib/animation/qpropertyanimation.cpp", + "corelib/animation/qpropertyanimation.h", + "corelib/animation/qpropertyanimation_p.h", + "corelib/animation/qsequentialanimationgroup.cpp", + "corelib/animation/qsequentialanimationgroup.h", + "corelib/animation/qsequentialanimationgroup_p.h", + "corelib/statemachine/statemachine.pri", + "corelib/statemachine/qabstractstate.cpp", + "corelib/statemachine/qabstractstate.h", + "corelib/statemachine/qabstractstate_p.h", + "corelib/statemachine/qabstracttransition.cpp", + "corelib/statemachine/qabstracttransition.h", + "corelib/statemachine/qabstracttransition_p.h", + "corelib/statemachine/qactionstate.h", + "corelib/statemachine/qactionstate_p.h", + "corelib/statemachine/qactionstate.cpp", + "corelib/statemachine/qanimationstate.cpp", + "corelib/statemachine/qanimationstate.h", + "corelib/statemachine/qboundevent_p.h", + "corelib/statemachine/qeventtransition.cpp", + "corelib/statemachine/qeventtransition.h", + "corelib/statemachine/qeventtransition_p.h", + "corelib/statemachine/qfinalstate.cpp", + "corelib/statemachine/qfinalstate.h", + "corelib/statemachine/qhistorystate.cpp", + "corelib/statemachine/qhistorystate.h", + "corelib/statemachine/qhistorystate_p.h", + "corelib/statemachine/qsignalevent.h", + "corelib/statemachine/qsignaleventgenerator_p.h", + "corelib/statemachine/qsignaltransition.cpp", + "corelib/statemachine/qsignaltransition.h", + "corelib/statemachine/qsignaltransition_p.h", + "corelib/statemachine/qstate.cpp", + "corelib/statemachine/qstate.h", + "corelib/statemachine/qstateaction.cpp", + "corelib/statemachine/qstateaction.h", + "corelib/statemachine/qstateaction_p.h", + "corelib/statemachine/qstatefinishedevent.h", + "corelib/statemachine/qstatefinishedtransition.cpp", + "corelib/statemachine/qstatefinishedtransition.h", + "corelib/statemachine/qstatemachine.cpp", + "corelib/statemachine/qstatemachine.h", + "corelib/statemachine/qstatemachine_p.h", + "corelib/statemachine/qstate_p.h", + "corelib/statemachine/qtransition.cpp", + "corelib/statemachine/qtransition.h", + "corelib/statemachine/qtransition_p.h", + "gui/statemachine/qkeyeventtransition.h", + "gui/statemachine/qkeyeventtransition.cpp", + "gui/statemachine/qbasickeyeventtransition.cpp", + "gui/statemachine/qbasickeyeventtransition_p.h", + "gui/statemachine/qbasicmouseeventtransition.cpp", + "gui/statemachine/qbasicmouseeventtransition_p.h", + "gui/statemachine/qguistatemachine.cpp", + "gui/statemachine/qkeyeventtransition.cpp", + "gui/statemachine/qkeyeventtransition.h", + "gui/statemachine/qmouseeventtransition.cpp", + "gui/statemachine/qmouseeventtransition.h", + "gui/statemachine/statemachine.pri", # needs special handling + ); + + +while ( @ARGV ) { + my $arg = shift @ARGV; + if ("$arg" eq "-to") { + $targetPath = shift @ARGV; + } +} + +if ($targetPath eq "") { + die("missing -to option"); +} + +my $projectXML = "$targetPath\\files.xml"; +open(OXML, "> " . $projectXML) || die "Could not open $projectXML for writing (no write permission?)"; + +print "COPYING SOURCES...\n"; +foreach my $files(@files) { + copyFile("$qtdir/src/$files","$targetPath/src"); +} +copyFile("$qtdir/doc/src/animation.qdoc","$targetPath/doc"); +copyFile("$qtdir/doc/src/statemachine.qdoc","$targetPath/doc"); +copyFile("$qtdir/src/3rdparty/easing/legal.qdoc","$targetPath/doc"); + +copyFile("$qtdir/doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp","$targetPath/doc/src/snippets/code"); + + +my %animation_examples = ( + easing => [ "easing.pro", + "main.cpp", + "window.cpp", + "window.h", + "animation.h", + "form.ui", + "images/qt-logo.png", + "resources.qrc"], + moveblocks => [ "moveblocks.pro", + "main.cpp" ], + animatedtiles => [ "animatedtiles.pro", + "animatedtiles.qrc", + "main.cpp", + "images/*"], + "sub-attaq" => ["sub-attaq.pro", + "animationmanager.cpp", + "animationmanager.h", + "boat.cpp", + "boat_p.h", + "boat.h", + "bomb.cpp", + "bomb.h", + "custompropertyanimation.h", + "custompropertyanimation_p.h", + "custompropertyanimation.cpp", + "graphicsscene.cpp", + "graphicsscene.h", + "main.cpp", + "mainwindow.cpp", + "mainwindow.h", + "pics/scalable/*", + "pics/big/*", + "pics/small/*", + "pics/welcome/*", + "pixmapitem.cpp", + "pixmapitem.h", + "subattaq.qrc", + "submarine.cpp", + "submarine.h", + "submarine_p.h", + "states.cpp", + "states.h", + "torpedo.cpp", + "torpedo.h"], + "stickman" => ["stickman.pro", + "main.cpp", + "animation.cpp", + "animation.h", + "graphicsview.cpp", + "graphicsview.h", + "lifecycle.cpp", + "lifecycle.h", + "node.cpp", + "node.h", + "stickman.cpp", + "stickman.h", + "animations/chilling", + "animations/dancing", + "animations/dead", + "animations/jumping"] + ); + +my $exDir; +print "COPYING EXAMPLES...\n"; +for $exDir ( keys %animation_examples ) { + print " $exDir...\n"; + my $i = 0; + for $i ( 0 .. $#{ $animation_examples{$exDir} } ) { + my $ex_file = $animation_examples{$exDir}[$i]; + + my $copyTargetPath; + my $glob = 0; + if (index($ex_file,"/") > 0) { + my($basefile, $fullPath) = fileparse("$targetPath/examples/$exDir/$ex_file"); + if ($basefile eq "*") { + $glob = 1; + } + mkpath "$fullPath", 0777 unless(-e "$fullPath"); + $copyTargetPath = "$fullPath"; + } else { + $copyTargetPath = "$targetPath/examples/$exDir"; + } + my $lastCh = substr($copyTargetPath, length($copyTargetPath) - 1, 1); + if ($lastCh eq "/" || $lastCh eq "\\") { + chop($copyTargetPath); + } + + if ($glob eq 1) { + my @globFiles = < $qtdir/examples/animation/$exDir/$ex_file >; + foreach my $globFile(@globFiles) { + copyFile("$globFile", "$copyTargetPath"); + } + } else { + copyFile("$qtdir/examples/animation/$exDir/$ex_file", "$copyTargetPath"); + } + } +} + +close OXML; +print("Finished!"); +###################################################################### +# Syntax: copyFile(gitfile, destinationPath) +# Params: gitfile, string, filename to create duplicate for +# destinationPath, string, destination name of duplicate +# +# Purpose: Copies to the solutions area. +# Returns: -- +# Warning: Dies if script cannot get write access. +###################################################################### +sub copyFile +{ + my ($gitfile, $destinationPath) = @_; + # Bi-directional synchronization + open( I, "< " . $gitfile ) || die "Could not open $gitfile for reading"; + local $/; + binmode I; + my $filecontents = ; + my ($baseFileName, $path, $ext) = fileparse($gitfile, qr/\.[^.]*/); + if ($ext eq ".h" or $ext eq ".cpp" or $ext eq ".qdoc") { + # both public and private classes + $filecontents =~s/QAbstractAnimation/QtAbstractAnimation/g; + $filecontents =~s/QAnimationGroup/QtAnimationGroup/g; + $filecontents =~s/QParallelAnimationGroup/QtParallelAnimationGroup/g; + $filecontents =~s/QSequentialAnimationGroup/QtSequentialAnimationGroup/g; + $filecontents =~s/QEasingCurve/QtEasingCurve/g; + $filecontents =~s/QVariantAnimation/QtVariantAnimation/g; + $filecontents =~s/QPropertyAnimation/QtPropertyAnimation/g; + $filecontents =~s/QItemAnimation/QtItemAnimation/g; + $filecontents =~s/QPauseAnimation/QtPauseAnimation/g; + $filecontents =~s/QAbstractState/QtAbstractState/g; + $filecontents =~s/QAbstractStateGroup/QtAbstractStateGroup/g; + $filecontents =~s/QAbstractTransition/QtAbstractTransition/g; + $filecontents =~s/QActionState/QtActionState/g; + $filecontents =~s/QAnimationState/QtAnimationState/g; + $filecontents =~s/QEventTransition/QtEventTransition/g; + $filecontents =~s/QFinalState/QtFinalState/g; + $filecontents =~s/QHistoryState/QtHistoryState/g; + $filecontents =~s/QParallelStateGroup/QtParallelStateGroup/g; + $filecontents =~s/QSignalEvent/QtSignalEvent/g; + $filecontents =~s/QSignalTransition/QtSignalTransition/g; + $filecontents =~s/QState/QtState/g; + $filecontents =~s/QStateAction/QtStateAction/g; + $filecontents =~s/QStateSetPropertyAction/QtStateSetPropertyAction/g; + $filecontents =~s/QStateInvokeMethodAction/QtStateInvokeMethodAction/g; + $filecontents =~s/QStateFinishedEvent/QtStateFinishedEvent/g; + $filecontents =~s/QStateFinishedTransition/QtStateFinishedTransition/g; + $filecontents =~s/QStateMachine/QtStateMachine/g; + $filecontents =~s/QTransition/QtTransition/g; + $filecontents =~s/QMouseEventTransition/QtMouseEventTransition/g; + $filecontents =~s/QKeyEventTransition/QtKeyEventTransition/g; + $filecontents =~s/QGraphicsWidget/QtGraphicsWidget/g; + $filecontents =~s/Q_CORE_EXPORT/Q_ANIMATION_EXPORT/g; + $filecontents =~s/Q_GUI_EXPORT/Q_ANIMATION_EXPORT/g; + $filecontents =~s/QBoundEvent/QtBoundEvent/g; + + $filecontents =~s/class Q_GUI_EXPORT/class/g; + $filecontents =~s/class Q_AUTOTEST_EXPORT/class/g; + + $filecontents =~s/(#\s*include\s+["])q/${1}qt/g; + + # moc stuff + $filecontents =~s/(#\s*include\s+["])moc_q/${1}moc_qt/g; + + $filecontents =~s/\\since 4\.[0-9]//g; + $filecontents =~s/\\ingroup [a-z]+//g; + + if (substr($filecontents, 0, 10) eq "/*********") { + my $endOfComment = index($filecontents, "*/"); + $filecontents = substr($filecontents, $endOfComment + 2); + } + } + if ($ext eq ".pri" ) { + $filecontents =~s/\$\$PWD\/q/\$\$PWD\/qt/g; + $filecontents =~s/animation\/q/\$\$PWD\/qt/g; + + # oooh such a hack this is + if ($baseFileName eq "statemachine") { + if (index($gitfile, "corelib/statemachine") >= 0) { + $baseFileName = "corelib_statemachine"; + } + if (index($gitfile, "gui/statemachine") >= 0) { + $baseFileName = "gui_statemachine"; + } + + } + + } + + if ($ext eq ".pro") { + $filecontents = "$filecontents\ninclude(../../src/qtanimationframework.pri)\n"; + } + close I; + + mkpath $destinationPath, 0777 unless(-e "$destinationPath"); + + if ($ext eq ".h" or $ext eq ".cpp" or $ext eq ".qdoc") { + $baseFileName =~s/^q/qt/g; + } + my $targetFile = "$destinationPath/$baseFileName$ext"; + open(O, "> " . $targetFile) || die "Could not open $targetFile for writing (no write permission?)"; + local $/; + binmode O; + print O $filecontents; + close O; + + my $xmlEntry = substr($targetFile, length($targetPath) + 1); + print "$xmlEntry\n"; + print OXML "$xmlEntry\n"; +} + diff --git a/bin/syncqt b/bin/syncqt index 7a9f1d3..8f797e8 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -23,6 +23,7 @@ my $basedir = $ENV{"QTDIR"}; $basedir =~ s=\\=/=g; my %modules = ( # path to module name map "QtGui" => "$basedir/src/gui", + "QtAnimation" => "$basedir/src/animation", "QtOpenGL" => "$basedir/src/opengl", "QtCore" => "$basedir/src/corelib", "QtXml" => "$basedir/src/xml", @@ -30,6 +31,7 @@ my %modules = ( # path to module name map "QtSql" => "$basedir/src/sql", "QtNetwork" => "$basedir/src/network", "QtSvg" => "$basedir/src/svg", + "QtDeclarative" => "$basedir/src/declarative", "QtScript" => "$basedir/src/script", "QtScriptTools" => "$basedir/src/scripttools", "Qt3Support" => "$basedir/src/qt3support", @@ -680,8 +682,10 @@ foreach (@modules_to_sync) { foreach(split(/ /, "$1")) { $master_contents .= "#include \n" if("$_" eq "core"); $master_contents .= "#include \n" if("$_" eq "gui"); + $master_contents .= "#include \n" if("$_" eq "experimental-animation"); $master_contents .= "#include \n" if("$_" eq "network"); $master_contents .= "#include \n" if("$_" eq "svg"); + $master_contents .= "#include \n" if("$_" eq "declarative"); $master_contents .= "#include \n" if("$_" eq "script"); $master_contents .= "#include \n" if("$_" eq "scripttools"); $master_contents .= "#include \n" if("$_" eq "qt3support"); diff --git a/configure b/configure index 2298d5b..420994c 100755 --- a/configure +++ b/configure @@ -600,6 +600,7 @@ CFG_RELEASE_QMAKE=no CFG_PHONON=auto CFG_PHONON_BACKEND=yes CFG_SVG=yes +CFG_DECLARATIVE=yes CFG_WEBKIT=auto # (yes|no|auto) CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen" @@ -830,7 +831,7 @@ while [ "$#" -gt 0 ]; do VAL=no ;; #Qt style yes options - -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-svg|-webkit|-scripttools|-rpath|-force-pkg-config) + -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-svg|-declarative|-webkit|-scripttools|-rpath|-force-pkg-config) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` VAL=yes ;; @@ -1724,6 +1725,17 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi fi + ;; + declarative) + if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then + CFG_DECLARATIVE="yes" + else + if [ "$VAL" = "no" ]; then + CFG_DECLARATIVE="no" + else + UNKNOWN_OPT=yes + fi + fi ;; webkit) if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then @@ -3066,7 +3078,7 @@ Usage: $relconf [-h] [-prefix ] [-prefix-install] [-bindir ] [-libdir [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend] [-no-openssl] [-openssl] [-openssl-linked] [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] - [-no-scripttools] [-scripttools] + [-no-scripttools] [-scripttools] [-no-declarative] [-declarative] [additional platform specific options (see below)] @@ -3215,6 +3227,9 @@ fi -no-scripttools .... Do not build the QtScriptTools module. + -scripttools ....... Build the QtScriptTools module. + -no-declarative .....Do not build the declarative module. + + -declarative ....... Build the declarative module. + -platform target ... The operating system and compiler you are building on ($PLATFORM). @@ -5961,6 +5976,12 @@ else QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SVG" fi +if [ "$CFG_DECLARATIVE" = "yes" ]; then + QT_CONFIG="$QT_CONFIG declarative" +else + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DECLARATIVE" +fi + if [ "$CFG_WEBKIT" = "auto" ]; then CFG_WEBKIT="$canBuildWebKit" fi @@ -6846,6 +6867,7 @@ echo "QtXmlPatterns module $CFG_XMLPATTERNS" echo "Phonon module ....... $CFG_PHONON" echo "SVG module .......... $CFG_SVG" echo "WebKit module ....... $CFG_WEBKIT" +echo "Declarative module .. $CFG_DECLARATIVE" echo "STL support ......... $CFG_STL" echo "PCH support ......... $CFG_PRECOMPILE" echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}" diff --git a/configure.exe b/configure.exe index ff71f08..54e8a60 100644 Binary files a/configure.exe and b/configure.exe differ diff --git a/demos/boxes/boxes.pro b/demos/boxes/boxes.pro index 6c1a331..a7b19a3 100644 --- a/demos/boxes/boxes.pro +++ b/demos/boxes/boxes.pro @@ -11,7 +11,6 @@ INCLUDEPATH += . HEADERS += 3rdparty/fbm.h \ glbuffers.h \ glextensions.h \ - glshaders.h \ gltrianglemesh.h \ qtbox.h \ roundedbox.h \ @@ -21,7 +20,6 @@ HEADERS += 3rdparty/fbm.h \ SOURCES += 3rdparty/fbm.c \ glbuffers.cpp \ glextensions.cpp \ - glshaders.cpp \ main.cpp \ qtbox.cpp \ roundedbox.cpp \ diff --git a/demos/boxes/glextensions.cpp b/demos/boxes/glextensions.cpp index 59256a8..5f168b6 100644 --- a/demos/boxes/glextensions.cpp +++ b/demos/boxes/glextensions.cpp @@ -47,23 +47,6 @@ bool GLExtensionFunctions::resolve(const QGLContext *context) { bool ok = true; - RESOLVE_GL_FUNC(CreateShaderObjectARB) - RESOLVE_GL_FUNC(ShaderSourceARB) - RESOLVE_GL_FUNC(CompileShaderARB) - RESOLVE_GL_FUNC(GetObjectParameterivARB) - RESOLVE_GL_FUNC(DeleteObjectARB) - RESOLVE_GL_FUNC(GetInfoLogARB) - RESOLVE_GL_FUNC(CreateProgramObjectARB) - RESOLVE_GL_FUNC(AttachObjectARB) - RESOLVE_GL_FUNC(DetachObjectARB) - RESOLVE_GL_FUNC(LinkProgramARB) - RESOLVE_GL_FUNC(UseProgramObjectARB) - RESOLVE_GL_FUNC(GetUniformLocationARB) - RESOLVE_GL_FUNC(Uniform1iARB) - RESOLVE_GL_FUNC(Uniform1fARB) - RESOLVE_GL_FUNC(Uniform4fARB) - RESOLVE_GL_FUNC(UniformMatrix4fvARB) - RESOLVE_GL_FUNC(GenFramebuffersEXT) RESOLVE_GL_FUNC(GenRenderbuffersEXT) RESOLVE_GL_FUNC(BindRenderbufferEXT) @@ -88,26 +71,6 @@ bool GLExtensionFunctions::resolve(const QGLContext *context) return ok; } -bool GLExtensionFunctions::glslSupported() { - return CreateShaderObjectARB - && CreateShaderObjectARB - && ShaderSourceARB - && CompileShaderARB - && GetObjectParameterivARB - && DeleteObjectARB - && GetInfoLogARB - && CreateProgramObjectARB - && AttachObjectARB - && DetachObjectARB - && LinkProgramARB - && UseProgramObjectARB - && GetUniformLocationARB - && Uniform1iARB - && Uniform1fARB - && Uniform4fARB - && UniformMatrix4fvARB; -} - bool GLExtensionFunctions::fboSupported() { return GenFramebuffersEXT && GenRenderbuffersEXT diff --git a/demos/boxes/glextensions.h b/demos/boxes/glextensions.h index 74617d6..4755532 100644 --- a/demos/boxes/glextensions.h +++ b/demos/boxes/glextensions.h @@ -47,23 +47,6 @@ /* Functions resolved: -glCreateShaderObjectARB -glShaderSourceARB -glCompileShaderARB -glGetObjectParameterivARB -glDeleteObjectARB -glGetInfoLogARB -glCreateProgramObjectARB -glAttachObjectARB -glDetachObjectARB -glLinkProgramARB -glUseProgramObjectARB -glGetUniformLocationARB -glUniform1iARB -glUniform1fARB -glUniform4fARB -glUniformMatrix4fvARB - glGenFramebuffersEXT glGenRenderbuffersEXT glBindRenderbufferEXT @@ -136,39 +119,6 @@ typedef ptrdiff_t GLsizeiptr; #define GL_DEPTH_ATTACHMENT_EXT 0x8D00 #endif -#ifndef GL_ARB_vertex_shader -#define GL_VERTEX_SHADER_ARB 0x8B31 -#endif - -#ifndef GL_ARB_fragment_shader -#define GL_FRAGMENT_SHADER_ARB 0x8B30 -#endif - -#ifndef GL_ARB_shader_objects -typedef char GLcharARB; -typedef unsigned int GLhandleARB; -#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 -#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 -#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 -#endif - -typedef GLhandleARB (APIENTRY *_glCreateShaderObjectARB) (GLenum); -typedef void (APIENTRY *_glShaderSourceARB) (GLhandleARB, GLuint, const GLcharARB**, GLint *); -typedef void (APIENTRY *_glCompileShaderARB) (GLhandleARB); -typedef void (APIENTRY *_glGetObjectParameterivARB) (GLhandleARB, GLenum, int *); -typedef void (APIENTRY *_glDeleteObjectARB) (GLhandleARB); -typedef void (APIENTRY *_glGetInfoLogARB) (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); -typedef GLhandleARB (APIENTRY *_glCreateProgramObjectARB) (); -typedef void (APIENTRY *_glAttachObjectARB) (GLhandleARB, GLhandleARB); -typedef void (APIENTRY *_glDetachObjectARB) (GLhandleARB, GLhandleARB); -typedef void (APIENTRY *_glLinkProgramARB) (GLhandleARB); -typedef void (APIENTRY *_glUseProgramObjectARB) (GLhandleARB); -typedef GLint (APIENTRY *_glGetUniformLocationARB) (GLhandleARB, const GLcharARB *); -typedef void (APIENTRY *_glUniform1iARB) (GLint, GLint); -typedef void (APIENTRY *_glUniform1fARB) (GLint, GLfloat); -typedef void (APIENTRY *_glUniform4fARB) (GLint, GLfloat, GLfloat, GLfloat, GLfloat); -typedef void (APIENTRY *_glUniformMatrix4fvARB) (GLint, GLuint, GLboolean, const GLfloat *); - typedef void (APIENTRY *_glGenFramebuffersEXT) (GLsizei, GLuint *); typedef void (APIENTRY *_glGenRenderbuffersEXT) (GLsizei, GLuint *); typedef void (APIENTRY *_glBindRenderbufferEXT) (GLenum, GLuint); @@ -194,27 +144,9 @@ struct GLExtensionFunctions { bool resolve(const QGLContext *context); - bool glslSupported(); bool fboSupported(); bool openGL15Supported(); // the rest: multi-texture, 3D-texture, vertex buffer objects - _glCreateShaderObjectARB CreateShaderObjectARB; - _glShaderSourceARB ShaderSourceARB; - _glCompileShaderARB CompileShaderARB; - _glGetObjectParameterivARB GetObjectParameterivARB; - _glDeleteObjectARB DeleteObjectARB; - _glGetInfoLogARB GetInfoLogARB; - _glCreateProgramObjectARB CreateProgramObjectARB; - _glAttachObjectARB AttachObjectARB; - _glDetachObjectARB DetachObjectARB; - _glLinkProgramARB LinkProgramARB; - _glUseProgramObjectARB UseProgramObjectARB; - _glGetUniformLocationARB GetUniformLocationARB; - _glUniform1iARB Uniform1iARB; - _glUniform1fARB Uniform1fARB; - _glUniform4fARB Uniform4fARB; - _glUniformMatrix4fvARB UniformMatrix4fvARB; - _glGenFramebuffersEXT GenFramebuffersEXT; _glGenRenderbuffersEXT GenRenderbuffersEXT; _glBindRenderbufferEXT BindRenderbufferEXT; @@ -243,23 +175,6 @@ inline GLExtensionFunctions &getGLExtensionFunctions() return funcs; } -#define glCreateShaderObjectARB getGLExtensionFunctions().CreateShaderObjectARB -#define glShaderSourceARB getGLExtensionFunctions().ShaderSourceARB -#define glCompileShaderARB getGLExtensionFunctions().CompileShaderARB -#define glGetObjectParameterivARB getGLExtensionFunctions().GetObjectParameterivARB -#define glDeleteObjectARB getGLExtensionFunctions().DeleteObjectARB -#define glGetInfoLogARB getGLExtensionFunctions().GetInfoLogARB -#define glCreateProgramObjectARB getGLExtensionFunctions().CreateProgramObjectARB -#define glAttachObjectARB getGLExtensionFunctions().AttachObjectARB -#define glDetachObjectARB getGLExtensionFunctions().DetachObjectARB -#define glLinkProgramARB getGLExtensionFunctions().LinkProgramARB -#define glUseProgramObjectARB getGLExtensionFunctions().UseProgramObjectARB -#define glGetUniformLocationARB getGLExtensionFunctions().GetUniformLocationARB -#define glUniform1iARB getGLExtensionFunctions().Uniform1iARB -#define glUniform1fARB getGLExtensionFunctions().Uniform1fARB -#define glUniform4fARB getGLExtensionFunctions().Uniform4fARB -#define glUniformMatrix4fvARB getGLExtensionFunctions().UniformMatrix4fvARB - #define glGenFramebuffersEXT getGLExtensionFunctions().GenFramebuffersEXT #define glGenRenderbuffersEXT getGLExtensionFunctions().GenRenderbuffersEXT #define glBindRenderbufferEXT getGLExtensionFunctions().BindRenderbufferEXT diff --git a/demos/boxes/glshaders.cpp b/demos/boxes/glshaders.cpp deleted file mode 100644 index b6999a8..0000000 --- a/demos/boxes/glshaders.cpp +++ /dev/null @@ -1,266 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain -** additional rights. These rights are described in the Nokia Qt LGPL -** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "glshaders.h" - -#define GLSHADERS_ASSERT_OPENGL(prefix, assertion, returnStatement) \ -if (m_failed || !(assertion)) { \ - if (!m_failed) qCritical(prefix ": The necessary OpenGL functions are not available."); \ - m_failed = true; \ - returnStatement; \ -} - - -GLShader::GLShader(const char *data, int size, GLenum shaderType) -: m_compileError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLShader::GLShader", - glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glGetObjectParameterivARB, return) - - m_shader = glCreateShaderObjectARB(shaderType); - - GLint glSize = size; - glShaderSourceARB(m_shader, 1, &data, &glSize); - glCompileShaderARB(m_shader); - int status; - glGetObjectParameterivARB(m_shader, GL_OBJECT_COMPILE_STATUS_ARB, &status); - m_compileError = (status != 1); -} - -GLShader::GLShader(const QString& fileName, GLenum shaderType) - : m_compileError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLShader::GLShader", - glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glGetObjectParameterivARB, return) - - m_shader = glCreateShaderObjectARB(shaderType); - - QFile file(fileName); - if (file.open(QIODevice::ReadOnly)) { - QByteArray bytes = file.readAll(); - GLint size = file.size(); - const char *p = bytes.data(); - file.close(); - glShaderSourceARB(m_shader, 1, &p, &size); - glCompileShaderARB(m_shader); - int status; - glGetObjectParameterivARB(m_shader, GL_OBJECT_COMPILE_STATUS_ARB, &status); - m_compileError = (status != 1); - } else { - m_compileError = true; - } -} - -GLShader::~GLShader() -{ - GLSHADERS_ASSERT_OPENGL("GLShader::~GLShader", glDeleteObjectARB, return) - - glDeleteObjectARB(m_shader); -} - -QString GLShader::log() -{ - GLSHADERS_ASSERT_OPENGL("GLShader::log", glGetObjectParameterivARB - && glGetInfoLogARB, return QLatin1String("GLSL not supported.")) - - int length; - glGetObjectParameterivARB(m_shader, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length); - char *log = new char[length + 1]; - GLsizei glLength = length; - glGetInfoLogARB(m_shader, glLength, &glLength, log); - log[glLength] = '\0'; - QString result(log); - delete log; - return result; -} - -GLVertexShader::GLVertexShader(const char *data, int size) : GLShader(data, size, GL_VERTEX_SHADER_ARB) -{ -} - -GLVertexShader::GLVertexShader(const QString& fileName) : GLShader(fileName, GL_VERTEX_SHADER_ARB) -{ -} - -GLFragmentShader::GLFragmentShader(const char *data, int size) : GLShader(data, size, GL_FRAGMENT_SHADER_ARB) -{ -} - -GLFragmentShader::GLFragmentShader(const QString& fileName) : GLShader(fileName, GL_FRAGMENT_SHADER_ARB) -{ -} - -GLProgram::GLProgram() : m_linked(false), m_linkError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::GLProgram", glCreateProgramObjectARB, return) - - m_program = glCreateProgramObjectARB(); -} - -GLProgram::~GLProgram() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::~GLProgram", glDeleteObjectARB, return) - - glDeleteObjectARB(m_program); -} - -void GLProgram::attach(const GLShader &shader) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::attach", glAttachObjectARB, return) - - glAttachObjectARB(m_program, shader.m_shader); - m_linked = m_linkError = false; -} - -void GLProgram::detach(const GLShader &shader) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::detach", glDetachObjectARB, return) - - glDetachObjectARB(m_program, shader.m_shader); - m_linked = m_linkError = false; -} - -bool GLProgram::failed() -{ - if (m_failed || m_linkError) - return true; - - if (m_linked) - return false; - - GLSHADERS_ASSERT_OPENGL("GLProgram::failed", glLinkProgramARB && glGetObjectParameterivARB, return true) - - glLinkProgramARB(m_program); - int status; - glGetObjectParameterivARB(m_program, GL_OBJECT_LINK_STATUS_ARB, &status); - m_linkError = !(m_linked = (status == 1)); - return m_linkError; -} - -QString GLProgram::log() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::log", glGetObjectParameterivARB && glGetInfoLogARB, - return QLatin1String("Failed.")) - - int length; - glGetObjectParameterivARB(m_program, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length); - char *log = new char[length + 1]; - GLsizei glLength = length; - glGetInfoLogARB(m_program, glLength, &glLength, log); - log[glLength] = '\0'; - QString result(log); - delete log; - return result; -} - -void GLProgram::bind() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::bind", glUseProgramObjectARB, return) - - if (!failed()) - glUseProgramObjectARB(m_program); -} - -void GLProgram::unbind() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::bind", glUseProgramObjectARB, return) - - glUseProgramObjectARB(0); -} - -bool GLProgram::hasParameter(const QString& name) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::hasParameter", glGetUniformLocationARB, return false) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - return -1 != glGetUniformLocationARB(m_program, asciiName.data()); - } - return false; -} - -void GLProgram::setInt(const QString& name, int value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setInt", glGetUniformLocationARB && glUniform1iARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - glUniform1iARB(loc, value); - } -} - -void GLProgram::setFloat(const QString& name, float value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setFloat", glGetUniformLocationARB && glUniform1fARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - glUniform1fARB(loc, value); - } -} - -void GLProgram::setColor(const QString& name, QRgb value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setColor", glGetUniformLocationARB && glUniform4fARB, return) - - //qDebug() << "Setting color" << name; - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - //qDebug() << "Location of" << name << "is" << loc; - QColor color(value); - glUniform4fARB(loc, color.redF(), color.greenF(), color.blueF(), color.alphaF()); - } -} - -void GLProgram::setMatrix(const QString& name, const gfx::Matrix4x4f &mat) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setMatrix", glGetUniformLocationARB && glUniformMatrix4fvARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - //qDebug() << "Location of" << name << "is" << loc; - glUniformMatrix4fvARB(loc, 1, GL_FALSE, mat.bits()); - } -} \ No newline at end of file diff --git a/demos/boxes/glshaders.h b/demos/boxes/glshaders.h deleted file mode 100644 index 2b6209a..0000000 --- a/demos/boxes/glshaders.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain -** additional rights. These rights are described in the Nokia Qt LGPL -** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GLSHADERS_H -#define GLSHADERS_H - -//#include -#include "glextensions.h" - -#include -#include - -#include "vector.h" - -class GLShader -{ -public: - friend class GLProgram; - virtual ~GLShader(); - bool failed() const {return m_failed;} - QString log(); -protected: - GLShader(const char *data, int size, GLenum shaderType); - GLShader(const QString& fileName, GLenum shaderType); - - GLhandleARB m_shader; - bool m_compileError; - bool m_failed; -}; - -class GLVertexShader : public GLShader -{ -public: - GLVertexShader(const char *data, int size); - GLVertexShader(const QString& fileName); -}; - -class GLFragmentShader : public GLShader -{ -public: - GLFragmentShader(const char *data, int size); - GLFragmentShader(const QString& fileName); -}; - -class GLProgram -{ -public: - GLProgram(); - ~GLProgram(); - void attach(const GLShader &shader); - void detach(const GLShader &shader); - void bind(); - void unbind(); - bool failed(); - QString log(); - bool hasParameter(const QString& name); - // use program before setting values - void setInt(const QString& name, int value); - void setFloat(const QString& name, float value); - void setColor(const QString& name, QRgb value); - void setMatrix(const QString& name, const gfx::Matrix4x4f &mat); - // TODO: add a bunch of set-functions for different types. -private: - GLhandleARB m_program; - bool m_linked; - bool m_linkError; - bool m_failed; -}; - -#endif diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp index 1040e17..5f1fe14 100644 --- a/demos/boxes/scene.cpp +++ b/demos/boxes/scene.cpp @@ -531,11 +531,11 @@ Scene::~Scene() if (texture) delete texture; if (m_mainCubemap) delete m_mainCubemap; - foreach (GLProgram *program, m_programs) + foreach (QGLShaderProgram *program, m_programs) if (program) delete program; if (m_vertexShader) delete m_vertexShader; - foreach (GLFragmentShader *shader, m_fragmentShaders) + foreach (QGLShader *shader, m_fragmentShaders) if (shader) delete shader; foreach (GLRenderTargetCube *rt, m_cubemaps) if (rt) delete rt; @@ -549,16 +549,18 @@ void Scene::initGL() { m_box = new GLRoundedBox(0.25f, 1.0f, 10); - m_vertexShader = new GLVertexShader(":/res/boxes/basic.vsh"); + m_vertexShader = new QGLShader(":/res/boxes/basic.vsh", QGLShader::VertexShader); QStringList list; list << ":/res/boxes/cubemap_posx.jpg" << ":/res/boxes/cubemap_negx.jpg" << ":/res/boxes/cubemap_posy.jpg" << ":/res/boxes/cubemap_negy.jpg" << ":/res/boxes/cubemap_posz.jpg" << ":/res/boxes/cubemap_negz.jpg"; m_environment = new GLTextureCube(list, qMin(1024, m_maxTextureSize)); - m_environmentShader = new GLFragmentShader(environmentShaderText, strlen(environmentShaderText)); - m_environmentProgram = new GLProgram; - m_environmentProgram->attach(*m_vertexShader); - m_environmentProgram->attach(*m_environmentShader); + m_environmentShader = new QGLShader(QGLShader::FragmentShader); + m_environmentShader->setSourceCode(environmentShaderText); + m_environmentProgram = new QGLShaderProgram; + m_environmentProgram->addShader(m_vertexShader); + m_environmentProgram->addShader(m_environmentShader); + m_environmentProgram->link(); const int NOISE_SIZE = 128; // for a different size, B and BM in fbm.c must also be changed m_noise = new GLTexture3D(NOISE_SIZE, NOISE_SIZE, NOISE_SIZE); @@ -610,19 +612,19 @@ void Scene::initGL() filter = QStringList("*.fsh"); files = QDir(":/res/boxes/").entryInfoList(filter, QDir::Files | QDir::Readable); foreach (QFileInfo file, files) { - GLProgram *program = new GLProgram; - GLFragmentShader* shader = new GLFragmentShader(file.absoluteFilePath()); + QGLShaderProgram *program = new QGLShaderProgram; + QGLShader* shader = new QGLShader(file.absoluteFilePath(), QGLShader::FragmentShader); // The program does not take ownership over the shaders, so store them in a vector so they can be deleted afterwards. - program->attach(*m_vertexShader); - program->attach(*shader); - if (program->failed()) { + program->addShader(m_vertexShader); + program->addShader(shader); + if (!program->link()) { qWarning("Failed to compile and link shader program"); qWarning("Vertex shader log:"); - qWarning() << m_vertexShader->log(); + qWarning() << m_vertexShader->errors(); qWarning() << "Fragment shader log ( file =" << file.absoluteFilePath() << "):"; - qWarning() << shader->log(); + qWarning() << shader->errors(); qWarning("Shader program log:"); - qWarning() << program->log(); + qWarning() << program->errors(); delete shader; delete program; @@ -633,13 +635,13 @@ void Scene::initGL() m_programs << program; m_renderOptions->addShader(file.baseName()); - program->bind(); - m_cubemaps << (program->hasParameter("env") ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); - program->unbind(); + program->enable(); + m_cubemaps << ((program->uniformLocation("env") != -1) ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); + program->disable(); } if (m_programs.size() == 0) - m_programs << new GLProgram; + m_programs << new QGLShaderProgram; m_renderOptions->emitParameterChanged(); } @@ -674,12 +676,12 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) // Don't render the environment if the environment texture can't be set for the correct sampler. if (glActiveTexture) { m_environment->bind(); - m_environmentProgram->bind(); - m_environmentProgram->setInt("tex", 0); - m_environmentProgram->setInt("env", 1); - m_environmentProgram->setInt("noise", 2); + m_environmentProgram->enable(); + m_environmentProgram->setUniformValue("tex", GLint(0)); + m_environmentProgram->setUniformValue("env", GLint(1)); + m_environmentProgram->setUniformValue("noise", GLint(2)); m_box->draw(); - m_environmentProgram->unbind(); + m_environmentProgram->disable(); m_environment->unbind(); } @@ -707,14 +709,18 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) else m_environment->bind(); } - m_programs[i]->bind(); - m_programs[i]->setInt("tex", 0); - m_programs[i]->setInt("env", 1); - m_programs[i]->setInt("noise", 2); - m_programs[i]->setMatrix("view", view); - m_programs[i]->setMatrix("invView", invView); + m_programs[i]->enable(); + m_programs[i]->setUniformValue("tex", GLint(0)); + m_programs[i]->setUniformValue("env", GLint(1)); + m_programs[i]->setUniformValue("noise", GLint(2)); + QMatrix4x4 mview; + QMatrix4x4 minvview; + memcpy(mview.data(), view.bits(), sizeof(float) * 16); + memcpy(minvview.data(), invView.bits(), sizeof(float) * 16); + m_programs[i]->setUniformValue("view", mview); + m_programs[i]->setUniformValue("invView", minvview); m_box->draw(); - m_programs[i]->unbind(); + m_programs[i]->disable(); if (glActiveTexture) { if (m_dynamicCubemap && m_cubemaps[i]) @@ -737,14 +743,18 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) m_environment->bind(); } - m_programs[m_currentShader]->bind(); - m_programs[m_currentShader]->setInt("tex", 0); - m_programs[m_currentShader]->setInt("env", 1); - m_programs[m_currentShader]->setInt("noise", 2); - m_programs[m_currentShader]->setMatrix("view", view); - m_programs[m_currentShader]->setMatrix("invView", invView); + m_programs[m_currentShader]->enable(); + m_programs[m_currentShader]->setUniformValue("tex", GLint(0)); + m_programs[m_currentShader]->setUniformValue("env", GLint(1)); + m_programs[m_currentShader]->setUniformValue("noise", GLint(2)); + QMatrix4x4 mview; + QMatrix4x4 minvview; + memcpy(mview.data(), view.bits(), sizeof(float) * 16); + memcpy(minvview.data(), invView.bits(), sizeof(float) * 16); + m_programs[m_currentShader]->setUniformValue("view", mview); + m_programs[m_currentShader]->setUniformValue("invView", minvview); m_box->draw(); - m_programs[m_currentShader]->unbind(); + m_programs[m_currentShader]->disable(); if (glActiveTexture) { if (m_dynamicCubemap) @@ -1021,20 +1031,20 @@ void Scene::toggleDynamicCubemap(int state) void Scene::setColorParameter(const QString &name, QRgb color) { // set the color in all programs - foreach (GLProgram *program, m_programs) { - program->bind(); - program->setColor(name, color); - program->unbind(); + foreach (QGLShaderProgram *program, m_programs) { + program->enable(); + program->setUniformValue(program->uniformLocation(name), QColor(color)); + program->disable(); } } void Scene::setFloatParameter(const QString &name, float value) { // set the color in all programs - foreach (GLProgram *program, m_programs) { - program->bind(); - program->setFloat(name, value); - program->unbind(); + foreach (QGLShaderProgram *program, m_programs) { + program->enable(); + program->setUniformValue(program->uniformLocation(name), value); + program->disable(); } } diff --git a/demos/boxes/scene.h b/demos/boxes/scene.h index 2db9317..c056739 100644 --- a/demos/boxes/scene.h +++ b/demos/boxes/scene.h @@ -53,7 +53,6 @@ #include "vector.h" #include "trackball.h" #include "glbuffers.h" -#include "glshaders.h" #include "qtbox.h" #define PI 3.14159265358979 @@ -231,11 +230,11 @@ private: GLTexture3D *m_noise; GLRenderTargetCube *m_mainCubemap; QVector m_cubemaps; - QVector m_programs; - GLVertexShader *m_vertexShader; - QVector m_fragmentShaders; - GLFragmentShader *m_environmentShader; - GLProgram *m_environmentProgram; + QVector m_programs; + QGLShader *m_vertexShader; + QVector m_fragmentShaders; + QGLShader *m_environmentShader; + QGLShaderProgram *m_environmentProgram; }; diff --git a/demos/declarative/calculator/CalcButton.qml b/demos/declarative/calculator/CalcButton.qml new file mode 100644 index 0000000..c925314 --- /dev/null +++ b/demos/declarative/calculator/CalcButton.qml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demos/declarative/calculator/calculator.js b/demos/declarative/calculator/calculator.js new file mode 100644 index 0000000..774b232 --- /dev/null +++ b/demos/declarative/calculator/calculator.js @@ -0,0 +1,87 @@ + +var curVal = 0; +var memory = 0; +var lastOp = ""; +var timer = 0; + +function disabled(op) { + if (op == "." && CurNum.text.toString().search(/\./) != -1) { + return true; + } else if (op == "Sqrt" && CurNum.text.toString().search(/-/) != -1) { + return true; + } else { + return false; + } +} + +function doOp(op) { + if (disabled(op)) { + return; + } + + if (op.toString().length==1 && ((op >= "0" && op <= "9") || op==".") ) { + if (CurNum.text.toString().length >= 14) + return; // No arbitrary length numbers + if (lastOp.toString().length == 1 && ((lastOp >= "0" && lastOp <= "9") || lastOp==".") ) { + CurNum.text = CurNum.text + op.toString(); + } else { + CurNum.text = op; + } + lastOp = op; + return; + } + lastOp = op; + + // Pending operations + if (CurrentOperation.text == "+") { + CurNum.text = Number(CurNum.text.valueOf()) + Number(curVal.valueOf()); + } else if (CurrentOperation.text == "-") { + CurNum.text = Number(curVal) - Number(CurNum.text.valueOf()); + } else if (CurrentOperation.text == "x") { + CurNum.text = Number(curVal) * Number(CurNum.text.valueOf()); + } else if (CurrentOperation.text == "/") { + CurNum.text = Number(Number(curVal) / Number(CurNum.text.valueOf())).toString(); + } else if (CurrentOperation.text == "=") { + } + + if (op == "+" || op == "-" || op == "x" || op == "/") { + CurrentOperation.text = op; + curVal = CurNum.text.valueOf(); + return; + } + curVal = 0; + CurrentOperation.text = ""; + + // Immediate operations + if (op == "1/x") { // reciprocal + CurNum.text = (1 / CurNum.text.valueOf()).toString(); + } else if (op == "^2") { // squared + CurNum.text = (CurNum.text.valueOf() * CurNum.text.valueOf()).toString(); + } else if (op == "Abs") { + CurNum.text = (Math.abs(CurNum.text.valueOf())).toString(); + } else if (op == "Int") { + CurNum.text = (Math.floor(CurNum.text.valueOf())).toString(); + } else if (op == "+/-") { // plus/minus + CurNum.text = (CurNum.text.valueOf() * -1).toString(); + } else if (op == "Sqrt") { // square root + CurNum.text = (Math.sqrt(CurNum.text.valueOf())).toString(); + } else if (op == "MC") { // memory clear + memory = 0; + } else if (op == "M+") { // memory increment + memory += CurNum.text.valueOf(); + } else if (op == "MR") { // memory recall + CurNum.text = memory.toString(); + } else if (op == "MS") { // memory set + memory = CurNum.text.valueOf(); + } else if (op == "Bksp") { + CurNum.text = CurNum.text.toString().slice(0, -1); + } else if (op == "C") { + CurNum.text = "0"; + } else if (op == "AC") { + curVal = 0; + memory = 0; + lastOp = ""; + CurNum.text ="0"; + } +} + diff --git a/demos/declarative/calculator/calculator.qml b/demos/declarative/calculator/calculator.qml new file mode 100644 index 0000000..4ada896 --- /dev/null +++ b/demos/declarative/calculator/calculator.qml @@ -0,0 +1,83 @@ + +