Merge lp:~timo-jyrinki/ubuntu/saucy/qtdeclarative-opensource-src/merge_continued into lp:ubuntu/saucy/qtdeclarative-opensource-src

Proposed by Timo Jyrinki on 2013-07-08
Status: Merged
Merge reported by: Sebastien Bacher
Merged at revision: not available
Proposed branch: lp:~timo-jyrinki/ubuntu/saucy/qtdeclarative-opensource-src/merge_continued
Merge into: lp:ubuntu/saucy/qtdeclarative-opensource-src
Diff against target: 885 lines (+510/-58)
12 files modified
.pc/applied-patches (+2/-0)
debian/changelog (+83/-0)
debian/control (+52/-29)
debian/copyright (+42/-2)
debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch (+112/-0)
debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch (+169/-0)
debian/patches/series (+2/-0)
debian/qtdeclarative5-doc-html.install (+2/-0)
debian/qtdeclarative5-doc.install (+2/-0)
debian/rules (+12/-6)
src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp (+24/-15)
src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h (+8/-6)
To merge this branch: bzr merge lp:~timo-jyrinki/ubuntu/saucy/qtdeclarative-opensource-src/merge_continued
Reviewer Review Type Date Requested Status
Ubuntu branches 2013-07-08 Pending
Review via email: mp+173448@code.launchpad.net

Commit message

Merge from Debian, started by me and continued by Dmitry Shachnev. This is needed to unblock landing of qtdoc package. Additionally two patches added to fix LP: #1198830

Description of the change

Continuation from https://code.launchpad.net/~mitya57/ubuntu/saucy/qtdeclarative-opensource-src/merge/+merge/172054 with two patches added.

Orig description there:
---
This is a merge from Debian, started by Timo and finished by me. This is needed to unblock landing of new qtdoc package.

The only difference from what is in bzr now is a "dch -r" call.
---

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.pc/applied-patches'
--- .pc/applied-patches 2013-06-20 15:24:17 +0000
+++ .pc/applied-patches 2013-07-08 09:40:35 +0000
@@ -4,4 +4,6 @@
404_9d6cd72353e4862592c016951810abf9a7ab8079_backport.patch404_9d6cd72353e4862592c016951810abf9a7ab8079_backport.patch
58a3d48915c29484c9ffb2fb8f0e3b569a9fe9b44_backport.patch58a3d48915c29484c9ffb2fb8f0e3b569a9fe9b44_backport.patch
60001-Fallback-to-QMetaObject-for-properties-not-in-QQmlPr.patch60001-Fallback-to-QMetaObject-for-properties-not-in-QQmlPr.patch
70b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch
881a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch
7rendering_performance_fix_lp1092358.patch9rendering_performance_fix_lp1092358.patch
810
=== modified file 'debian/changelog'
--- debian/changelog 2013-06-20 15:24:17 +0000
+++ debian/changelog 2013-07-08 09:40:35 +0000
@@ -1,3 +1,86 @@
1qtdeclarative-opensource-src (5.0.2-6ubuntu1) saucy; urgency=low
2
3 [ Timo Jyrinki ]
4 * Resync with Debian, remaining changes:
5 - Keep cherry-picked patches, and symbols
6 - Keep debian/patches/rendering_performance_fix_lp1092358.patch
7 - Add Vcs-Bzr field
8 * Fix https://bugreports.qt-project.org/browse/QTBUG-30246 (LP: #1198830)
9 - debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch
10 - debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch
11
12 [ Dmitry Shachnev ]
13 * Merge with Debian 5.0.2-6 to bring in documentation packages.
14 * Note: architecture restrictions have been dropped from this upload,
15 as requested by the Release Team.
16
17 -- Timo Jyrinki <timo-jyrinki@ubuntu.com> Mon, 08 Jul 2013 07:51:02 +0300
18
19qtdeclarative-opensource-src (5.0.2-6) experimental; urgency=low
20
21 * Update symbols files.
22
23 -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Wed, 26 Jun 2013 18:29:51 -0300
24
25qtdeclarative-opensource-src (5.0.2-5) experimental; urgency=low
26
27 [ Lisandro Damián Nicanor Pérez Meyer ]
28 * Make every package that ships a binary managed by qtchooser depend on it.
29 * Build the documentation shipped with this submodule as a build-indep task:
30 - Add the necessary indep build dependencies:
31 * qttools5-dev-tools to use qhelpgenerator.
32 * libqt5sql5-sqlite to generate qch doc.
33 - Build and create packages for qch and HTML doc formats.
34 * Update symbols files.
35 * Set qtdeclarative5-dbg as M-A same, so it can be coinstalled with other
36 archs debugging symbols.
37
38 [ Timo Jyrinki ]
39 * Depend on libgl1-mesa-dri from the qtquick2 QML plugin
40 - Not depending may cause crashes due to lack of VBO support
41 (https://bugs.launchpad.net/bugs/1176199)
42
43 -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Wed, 19 Jun 2013 21:33:20 -0300
44
45qtdeclarative-opensource-src (5.0.2-4) experimental; urgency=low
46
47 [ Pino Toscano ]
48 * debian/control: remove extra ${misc:Pre-Depends} from qmlscene and
49 qtdeclarative5-dev-tools.
50 * Update symbols files.
51 * Fix Vcs-* headers.
52
53 [ Lisandro Damián Nicanor Pérez Meyer ]
54 * Update symbols with amd64 build.
55
56 -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Sat, 18 May 2013 21:25:40 -0300
57
58qtdeclarative-opensource-src (5.0.2-3) experimental; urgency=low
59
60 [ Pino Toscano ]
61 * Update symbols files.
62
63 [ Lisandro Damián Nicanor Pérez Meyer ]
64 * Update symbols files.
65
66 -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Mon, 06 May 2013 14:53:19 -0300
67
68qtdeclarative-opensource-src (5.0.2-2) experimental; urgency=low
69
70 [ Lisandro Damián Nicanor Pérez Meyer ]
71 * Fix wrong permissions of examples.
72
73 [ Pino Toscano ]
74 * Update symbols files.
75 * qtdeclarative5-localstorage-plugin: depend on libqt5sql5-sqlite, as it is
76 used directly.
77 * Remove extra ${shlibs:Depends} from qtdeclarative5-private-dev.
78 * Bump the libqt5v8-5-private-dev and libqt5xmlpatterns5-private-dev build
79 dependencies to 5.0.2~.
80 * rules: use $(DEB_HOST_MULTIARCH) everywhere.
81
82 -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Tue, 30 Apr 2013 20:45:49 -0300
83
1qtdeclarative-opensource-src (5.0.2-1ubuntu2) saucy; urgency=low84qtdeclarative-opensource-src (5.0.2-1ubuntu2) saucy; urgency=low
285
3 [ Timo Jyrinki ]86 [ Timo Jyrinki ]
487
=== modified file 'debian/control'
--- debian/control 2013-04-29 16:27:13 +0000
+++ debian/control 2013-07-08 09:40:35 +0000
@@ -11,18 +11,20 @@
11 Timo Jyrinki <timo@debian.org>11 Timo Jyrinki <timo@debian.org>
12Build-Depends: debhelper (>= 9),12Build-Depends: debhelper (>= 9),
13 dpkg-dev (>= 1.16.1),13 dpkg-dev (>= 1.16.1),
14 libqt5v8-5-private-dev (>= 5.0.1~),14 libqt5v8-5-private-dev (>= 5.0.2~),
15 libqt5xmlpatterns5-private-dev (>= 5.0.1~),15 libqt5xmlpatterns5-private-dev (>= 5.0.2~),
16 pkg-kde-tools,16 pkg-kde-tools,
17 qtbase5-private-dev (>= 5.0.2~)17 qtbase5-private-dev (>= 5.0.2~)
18Build-Depends-Indep: libqt5sql5-sqlite,
19 qttools5-dev-tools (>= 5.0.2~)
18Standards-Version: 3.9.420Standards-Version: 3.9.4
19Homepage: http://qt-project.org/21Homepage: http://qt-project.org/
20Vcs-Git: git://git.debian.org/pkg-kde/qt/qtdeclarative.git22Vcs-Git: git://anonscm.debian.org/pkg-kde/qt/qtdeclarative.git
21Vcs-Browser: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=summary23Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-kde/qt/qtdeclarative.git;a=summary
22Vcs-Bzr: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src24Vcs-Bzr: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src
2325
24Package: libqt5qml526Package: libqt5qml5
25Architecture: amd64 i386 armhf27Architecture: any
26Multi-Arch: same28Multi-Arch: same
27Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}29Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
28Depends: ${misc:Depends}, ${shlibs:Depends}30Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -37,7 +39,7 @@
37 QML code with JavaScript and C++.39 QML code with JavaScript and C++.
3840
39Package: libqt5quick541Package: libqt5quick5
40Architecture: amd64 i386 armhf42Architecture: any
41Multi-Arch: same43Multi-Arch: same
42Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}44Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
43Depends: ${misc:Depends}, ${shlibs:Depends}45Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -51,7 +53,7 @@
51 boxes and other portable devices.53 boxes and other portable devices.
5254
53Package: libqt5quickparticles555Package: libqt5quickparticles5
54Architecture: amd64 i386 armhf56Architecture: any
55Multi-Arch: same57Multi-Arch: same
56Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}58Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
57Depends: ${misc:Depends}, ${shlibs:Depends}59Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -62,7 +64,7 @@
62 This package contains the Qt Quick Particles support library.64 This package contains the Qt Quick Particles support library.
6365
64Package: libqt5quicktest566Package: libqt5quicktest5
65Architecture: amd64 i386 armhf67Architecture: any
66Multi-Arch: same68Multi-Arch: same
67Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}69Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
68Depends: ${misc:Depends}, ${shlibs:Depends}70Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -73,7 +75,7 @@
73 This package contains the Qt Quick Test library for QtDeclarative module.75 This package contains the Qt Quick Test library for QtDeclarative module.
7476
75Package: qtdeclarative5-folderlistmodel-plugin77Package: qtdeclarative5-folderlistmodel-plugin
76Architecture: amd64 i386 armhf78Architecture: any
77Multi-Arch: same79Multi-Arch: same
78Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}80Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
79Depends: ${misc:Depends}, ${shlibs:Depends}81Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -84,10 +86,10 @@
84 The FolderListModel provides a model of the contents of a file system folder.86 The FolderListModel provides a model of the contents of a file system folder.
8587
86Package: qtdeclarative5-localstorage-plugin88Package: qtdeclarative5-localstorage-plugin
87Architecture: amd64 i386 armhf89Architecture: any
88Multi-Arch: same90Multi-Arch: same
89Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}91Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
90Depends: ${misc:Depends}, ${shlibs:Depends}92Depends: ${misc:Depends}, ${shlibs:Depends}, libqt5sql5-sqlite
91Description: Qt 5 localstorage QML plugin93Description: Qt 5 localstorage QML plugin
92 Qt is a cross-platform C++ application framework. Qt's primary feature94 Qt is a cross-platform C++ application framework. Qt's primary feature
93 is its rich set of widgets that provide standard GUI functionality.95 is its rich set of widgets that provide standard GUI functionality.
@@ -95,7 +97,7 @@
95 This is a singleton type for reading and writing to SQLite databases.97 This is a singleton type for reading and writing to SQLite databases.
9698
97Package: qtdeclarative5-particles-plugin99Package: qtdeclarative5-particles-plugin
98Architecture: amd64 i386 armhf100Architecture: any
99Multi-Arch: same101Multi-Arch: same
100Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}102Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
101Depends: ${misc:Depends}, ${shlibs:Depends}103Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -106,7 +108,7 @@
106 This QML module contains a particle system for Qt Quick.108 This QML module contains a particle system for Qt Quick.
107109
108Package: qtdeclarative5-qtquick2-plugin110Package: qtdeclarative5-qtquick2-plugin
109Architecture: amd64 i386 armhf111Architecture: any
110Multi-Arch: same112Multi-Arch: same
111Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}113Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
112Depends: libgl1-mesa-dri, ${misc:Depends}, ${shlibs:Depends}114Depends: libgl1-mesa-dri, ${misc:Depends}, ${shlibs:Depends}
@@ -117,7 +119,7 @@
117 This package contains the Qt Quick 2 QML plugin for Qt declarative.119 This package contains the Qt Quick 2 QML plugin for Qt declarative.
118120
119Package: qtdeclarative5-test-plugin121Package: qtdeclarative5-test-plugin
120Architecture: amd64 i386 armhf122Architecture: any
121Multi-Arch: same123Multi-Arch: same
122Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}124Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
123Depends: ${misc:Depends}, ${shlibs:Depends}125Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -128,7 +130,7 @@
128 This package contains the test QML plugin for Qt declarative.130 This package contains the test QML plugin for Qt declarative.
129131
130Package: qtdeclarative5-window-plugin132Package: qtdeclarative5-window-plugin
131Architecture: amd64 i386 armhf133Architecture: any
132Multi-Arch: same134Multi-Arch: same
133Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}135Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
134Depends: ${misc:Depends}, ${shlibs:Depends}136Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -140,7 +142,7 @@
140 accessing screen information.142 accessing screen information.
141143
142Package: qtdeclarative5-xmllistmodel-plugin144Package: qtdeclarative5-xmllistmodel-plugin
143Architecture: amd64 i386 armhf145Architecture: any
144Multi-Arch: same146Multi-Arch: same
145Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}147Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
146Depends: ${misc:Depends}, ${shlibs:Depends}148Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -152,7 +154,7 @@
152154
153Package: qtdeclarative5-dev155Package: qtdeclarative5-dev
154Section: libdevel156Section: libdevel
155Architecture: amd64 i386 armhf157Architecture: any
156Pre-Depends: dpkg (>= 1.15.6~)158Pre-Depends: dpkg (>= 1.15.6~)
157Depends: libqt5qml5 (= ${binary:Version}),159Depends: libqt5qml5 (= ${binary:Version}),
158 libqt5quick5 (= ${binary:Version}),160 libqt5quick5 (= ${binary:Version}),
@@ -168,12 +170,11 @@
168 Qt 5 applications using Qt 5 declarative headers.170 Qt 5 applications using Qt 5 declarative headers.
169171
170Package: qtdeclarative5-private-dev172Package: qtdeclarative5-private-dev
171Architecture: amd64 i386 armhf173Architecture: any
172Section: libdevel174Section: libdevel
173Pre-Depends: dpkg (>= 1.15.6~)175Pre-Depends: dpkg (>= 1.15.6~)
174Depends: qtdeclarative5-dev (= ${binary:Version}),176Depends: qtdeclarative5-dev (= ${binary:Version}),
175 ${misc:Depends},177 ${misc:Depends},
176 ${shlibs:Depends}
177Description: Qt 5 declarative private development files178Description: Qt 5 declarative private development files
178 Qt is a cross-platform C++ application framework. Qt's primary feature179 Qt is a cross-platform C++ application framework. Qt's primary feature
179 is its rich set of widgets that provide standard GUI functionality.180 is its rich set of widgets that provide standard GUI functionality.
@@ -184,12 +185,11 @@
184 Use at your own risk.185 Use at your own risk.
185186
186Package: qtdeclarative5-dev-tools187Package: qtdeclarative5-dev-tools
187Architecture: amd64 i386 armhf188Architecture: any
188Multi-Arch: foreign189Multi-Arch: foreign
189Section: devel190Section: devel
190Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}191Pre-Depends: dpkg (>= 1.15.6~)
191Depends: ${misc:Depends}, ${shlibs:Depends}192Depends: qtchooser, ${misc:Depends}, ${shlibs:Depends}
192Recommends: qtchooser
193Description: Qt 5 declarative development programs193Description: Qt 5 declarative development programs
194 Qt is a cross-platform C++ application framework. Qt's primary feature194 Qt is a cross-platform C++ application framework. Qt's primary feature
195 is its rich set of widgets that provide standard GUI functionality.195 is its rich set of widgets that provide standard GUI functionality.
@@ -198,12 +198,11 @@
198 declarative applications.198 declarative applications.
199199
200Package: qmlscene200Package: qmlscene
201Architecture: amd64 i386 armhf201Architecture: any
202Multi-Arch: foreign202Multi-Arch: foreign
203Section: devel203Section: devel
204Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}204Pre-Depends: dpkg (>= 1.15.6~)
205Depends: ${misc:Depends}, ${shlibs:Depends}205Depends: qtchooser, ${misc:Depends}, ${shlibs:Depends}
206Recommends: qtchooser
207Description: Qt 5 QML scene viewer206Description: Qt 5 QML scene viewer
208 Qt is a cross-platform C++ application framework. Qt's primary feature207 Qt is a cross-platform C++ application framework. Qt's primary feature
209 is its rich set of widgets that provide standard GUI functionality.208 is its rich set of widgets that provide standard GUI functionality.
@@ -211,7 +210,7 @@
211 This package contains the QML viewer for Qt Quick 2.210 This package contains the QML viewer for Qt Quick 2.
212211
213Package: qtdeclarative5-examples212Package: qtdeclarative5-examples
214Architecture: amd64 i386 armhf213Architecture: any
215Multi-Arch: same214Multi-Arch: same
216Section: x11215Section: x11
217Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}216Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
@@ -224,7 +223,8 @@
224223
225Package: qtdeclarative5-dbg224Package: qtdeclarative5-dbg
226Priority: extra225Priority: extra
227Architecture: amd64 i386 armhf226Architecture: any
227Multi-Arch: same
228Section: debug228Section: debug
229Pre-Depends: dpkg (>= 1.15.6~)229Pre-Depends: dpkg (>= 1.15.6~)
230Depends: libqt5qml5 (= ${binary:Version}),230Depends: libqt5qml5 (= ${binary:Version}),
@@ -239,3 +239,26 @@
239 is its rich set of widgets that provide standard GUI functionality.239 is its rich set of widgets that provide standard GUI functionality.
240 .240 .
241 This package contains the debugging symbols for the Qt 5 declarative libraries.241 This package contains the debugging symbols for the Qt 5 declarative libraries.
242
243Package: qtdeclarative5-doc
244Priority: extra
245Architecture: all
246Section: doc
247Depends: ${misc:Depends}
248Description: Qt 5 declarative documentation
249 Qt is a cross-platform C++ application framework. Qt's primary feature
250 is its rich set of widgets that provide standard GUI functionality.
251 .
252 This package contains the documentation for the Qt 5 declarative libraries.
253
254Package: qtdeclarative5-doc-html
255Priority: extra
256Architecture: all
257Section: doc
258Depends: ${misc:Depends}
259Description: Qt 5 declarative HTML documentation
260 Qt is a cross-platform C++ application framework. Qt's primary feature
261 is its rich set of widgets that provide standard GUI functionality.
262 .
263 This package contains the HTML documentation for the Qt 5 declarative
264 libraries.
242265
=== modified file 'debian/copyright'
--- debian/copyright 2013-04-29 16:27:13 +0000
+++ debian/copyright 2013-07-08 09:40:35 +0000
@@ -17,8 +17,48 @@
17 2012-2013 Timo Jyrinki <timo.jyrinki@canonical.com>17 2012-2013 Timo Jyrinki <timo.jyrinki@canonical.com>
18License: LGPL-2.118License: LGPL-2.1
1919
20Files: examples/* src/qml/doc/snippets/* src/quick/doc/snippets/* tests/auto/qmltest/listview/tst_listview.qml tests/auto/qmltest/listview/tst_listview.qml tests/auto/qmltest/image/tst_image.qml tests/auto/qmltest/image/tst_image.qml tests/auto/qmltest/text/tst_text.qml tests/auto/qmltest/text/tst_text.qml tests/auto/qmltest/animatedimage/tst_animatedimage.qml tests/auto/qmltest/animatedimage/tst_animatedimage.qml tests/auto/qmltest/gradient/tst_gradient.qml tests/auto/qmltest/gradient/tst_gradient.qml tests/auto/qmltest/textinput/tst_textinput.qml tests/auto/qmltest/textinput/tst_textinput.qml tests/auto/qmltest/rectangle/tst_rectangle.qml tests/auto/qmltest/rectangle/tst_rectangle.qml tests/auto/qmltest/textedit/tst_textedit.qml tests/auto/qmltest/textedit/tst_textedit.qml tests/auto/qmltest/listmodel/tst_listmodel.qml tests/auto/qmltest/listmodel/tst_listmodel.qml tests/auto/qmltest/fontloader/tst_fontloader.qml tests/auto/qmltest/fontloader/tst_fontloader.qml tests/benchmarks/qml/holistic/data/20Files: examples/*
21largeTargets/gridview-example.qml tests/benchmarks/qml/holistic/data/largeTargets/gridview-example.qml tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml tests/testapplications/listview/sections.qml tests/testapplications/listview/sections.qml tests/testapplications/listview/onRemove.qml tests/testapplications/listview/onRemove.qml tests/testapplications/listview/alteredViews.qml tests/testapplications/listview/alteredViews.qml tests/testapplications/listview/viewTransitions.qml tests/testapplications/listview/viewTransitions.qml tests/testapplications/animatedsprite/animatedsprite.qml tests/testapplications/animatedsprite/animatedsprite.qml tests/testapplications/animatedsprite/animatedspriteadvance.qml tests/testapplications/animatedsprite/animatedspriteadvance.qml21 src/qml/doc/snippets/*
22 src/quick/doc/snippets/*
23 tests/auto/qmltest/listview/tst_listview.qml
24 tests/auto/qmltest/listview/tst_listview.qml
25 tests/auto/qmltest/image/tst_image.qml
26 tests/auto/qmltest/image/tst_image.qml
27 tests/auto/qmltest/text/tst_text.qml
28 tests/auto/qmltest/text/tst_text.qml
29 tests/auto/qmltest/animatedimage/tst_animatedimage.qml
30 tests/auto/qmltest/animatedimage/tst_animatedimage.qml
31 tests/auto/qmltest/gradient/tst_gradient.qml
32 tests/auto/qmltest/gradient/tst_gradient.qml
33 tests/auto/qmltest/textinput/tst_textinput.qml
34 tests/auto/qmltest/textinput/tst_textinput.qml
35 tests/auto/qmltest/rectangle/tst_rectangle.qml
36 tests/auto/qmltest/rectangle/tst_rectangle.qml
37 tests/auto/qmltest/textedit/tst_textedit.qml
38 tests/auto/qmltest/textedit/tst_textedit.qml
39 tests/auto/qmltest/listmodel/tst_listmodel.qml
40 tests/auto/qmltest/listmodel/tst_listmodel.qml
41 tests/auto/qmltest/fontloader/tst_fontloader.qml
42 tests/auto/qmltest/fontloader/tst_fontloader.qml
43 tests/benchmarks/qml/holistic/data/
44 largeTargets/gridview-example.qml
45 tests/benchmarks/qml/holistic/data/largeTargets/gridview-example.qml
46 tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml
47 tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml
48 tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml
49 tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml
50 tests/testapplications/listview/sections.qml
51 tests/testapplications/listview/sections.qml
52 tests/testapplications/listview/onRemove.qml
53 tests/testapplications/listview/onRemove.qml
54 tests/testapplications/listview/alteredViews.qml
55 tests/testapplications/listview/alteredViews.qml
56 tests/testapplications/listview/viewTransitions.qml
57 tests/testapplications/listview/viewTransitions.qml
58 tests/testapplications/animatedsprite/animatedsprite.qml
59 tests/testapplications/animatedsprite/animatedsprite.qml
60 tests/testapplications/animatedsprite/animatedspriteadvance.qml
61 tests/testapplications/animatedsprite/animatedspriteadvance.qml
22Copyright: 2012 Digia Plc and/or its subsidiary(-ies)62Copyright: 2012 Digia Plc and/or its subsidiary(-ies)
23License: BSD-3-clause63License: BSD-3-clause
2464
2565
=== added file 'debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch'
--- debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch 2013-07-08 09:40:35 +0000
@@ -0,0 +1,112 @@
1From 0b190b7114c816689eeb8478ea5151732bc7a5de Mon Sep 17 00:00:00 2001
2From: Yoann Lopes <yoann.lopes@digia.com>
3Date: Thu, 21 Mar 2013 16:34:38 +0100
4Subject: [PATCH] Fixed distance field text when using non-opaque colors.
5
6The alpha has to be premultiplied before passing the color to the
7shader.
8
9Change-Id: If22f0e0892eb4330d5f7398bea2710fce18c4dcb
10Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11---
12 .../scenegraph/qsgdistancefieldglyphnode_p.cpp | 24 ++++++++++++++++---
13 .../scenegraph/qsgdistancefieldglyphnode_p_p.h | 6 +++-
14 2 files changed, 24 insertions(+), 6 deletions(-)
15
16diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
17index 45fc0f5..86c3356 100644
18--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
19+++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
20@@ -144,8 +144,8 @@ void QSGDistanceFieldTextMaterialShader::updateState(const RenderState &state, Q
21 if (oldMaterial == 0
22 || material->color() != oldMaterial->color()
23 || state.isOpacityDirty()) {
24- QVector4D color(material->color().redF(), material->color().greenF(),
25- material->color().blueF(), material->color().alphaF());
26+ QColor c = material->color();
27+ QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
28 color *= state.opacity();
29 program()->setUniformValue(m_color_id, color);
30 }
31@@ -204,6 +204,14 @@ QSGMaterialType *QSGDistanceFieldTextMaterial::type() const
32 return &type;
33 }
34
35+void QSGDistanceFieldTextMaterial::setColor(const QColor &color)
36+{
37+ m_color = QColor::fromRgbF(color.redF() * color.alphaF(),
38+ color.greenF() * color.alphaF(),
39+ color.blueF() * color.alphaF(),
40+ color.alphaF());
41+}
42+
43 QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const
44 {
45 return new QSGDistanceFieldTextMaterialShader;
46@@ -276,8 +284,8 @@ void DistanceFieldStyledTextMaterialShader::updateState(const RenderState &state
47 if (oldMaterial == 0
48 || material->styleColor() != oldMaterial->styleColor()
49 || (state.isOpacityDirty())) {
50- QVector4D color(material->styleColor().redF(), material->styleColor().greenF(),
51- material->styleColor().blueF(), material->styleColor().alphaF());
52+ QColor c = material->styleColor();
53+ QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
54 color *= state.opacity();
55 program()->setUniformValue(m_styleColor_id, color);
56 }
57@@ -292,6 +300,14 @@ QSGDistanceFieldStyledTextMaterial::~QSGDistanceFieldStyledTextMaterial()
58 {
59 }
60
61+void QSGDistanceFieldStyledTextMaterial::setStyleColor(const QColor &color)
62+{
63+ m_styleColor = QColor::fromRgbF(color.redF() * color.alphaF(),
64+ color.greenF() * color.alphaF(),
65+ color.blueF() * color.alphaF(),
66+ color.alphaF());
67+}
68+
69 int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const
70 {
71 Q_ASSERT(o && type() == o->type());
72diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
73index d6aa38a..7fea8f6 100644
74--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
75+++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
76@@ -58,7 +58,7 @@ public:
77 virtual QSGMaterialShader *createShader() const;
78 virtual int compare(const QSGMaterial *other) const;
79
80- void setColor(const QColor &color) { m_color = color; }
81+ virtual void setColor(const QColor &color);
82 const QColor &color() const { return m_color; }
83
84 void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }
85@@ -92,7 +92,7 @@ public:
86 virtual QSGMaterialShader *createShader() const = 0;
87 virtual int compare(const QSGMaterial *other) const;
88
89- void setStyleColor(const QColor &color) { m_styleColor = color; }
90+ void setStyleColor(const QColor &color);
91 const QColor &styleColor() const { return m_styleColor; }
92
93 protected:
94@@ -130,6 +130,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGHiQSubPixelDistanceFieldTextMaterial : public QS
95 public:
96 virtual QSGMaterialType *type() const;
97 virtual QSGMaterialShader *createShader() const;
98+ void setColor(const QColor &color) { m_color = color; }
99 };
100
101 class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial
102@@ -137,6 +138,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QS
103 public:
104 virtual QSGMaterialType *type() const;
105 virtual QSGMaterialShader *createShader() const;
106+ void setColor(const QColor &color) { m_color = color; }
107 };
108
109 QT_END_NAMESPACE
110--
1111.7.1
112
0113
=== added file 'debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch'
--- debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch 2013-07-08 09:40:35 +0000
@@ -0,0 +1,169 @@
1From 81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db Mon Sep 17 00:00:00 2001
2From: Gunnar Sletta <gunnar.sletta@digia.com>
3Date: Sat, 18 May 2013 08:24:45 +0200
4Subject: [PATCH] Avoid using QColor::xxxF functions.
5
6In our usecase, the color is always used as a float so using QColor
7(which is ushort) internally adds a lot of pointless conversion.
8Enough so that it shows up in profiles as 1-2% each. Not a lot,
9but easy to fix.
10
11The compare function is also somewhat simplified. For colors we're
12primarily searching for equallity. If that fails, we just need to
13provide consistent values, so use the address instead of doing
14any fancy calculation.
15
16Change-Id: Icae7e78ed767e802c137bab7fcacff66e9a4bc66
17Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
18---
19 .../scenegraph/qsgdistancefieldglyphnode_p.cpp | 39 ++++++++------------
20 .../scenegraph/qsgdistancefieldglyphnode_p_p.h | 12 +++---
21 2 files changed, 22 insertions(+), 29 deletions(-)
22
23diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
24index 86c3356..bdbce61 100644
25--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
26+++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
27@@ -144,8 +144,7 @@ void QSGDistanceFieldTextMaterialShader::updateState(const RenderState &state, Q
28 if (oldMaterial == 0
29 || material->color() != oldMaterial->color()
30 || state.isOpacityDirty()) {
31- QColor c = material->color();
32- QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
33+ QVector4D color = material->color();
34 color *= state.opacity();
35 program()->setUniformValue(m_color_id, color);
36 }
37@@ -206,10 +205,10 @@ QSGMaterialType *QSGDistanceFieldTextMaterial::type() const
38
39 void QSGDistanceFieldTextMaterial::setColor(const QColor &color)
40 {
41- m_color = QColor::fromRgbF(color.redF() * color.alphaF(),
42- color.greenF() * color.alphaF(),
43- color.blueF() * color.alphaF(),
44- color.alphaF());
45+ m_color = QVector4D(color.redF() * color.alphaF(),
46+ color.greenF() * color.alphaF(),
47+ color.blueF() * color.alphaF(),
48+ color.alphaF());
49 }
50
51 QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const
52@@ -239,10 +238,8 @@ int QSGDistanceFieldTextMaterial::compare(const QSGMaterial *o) const
53 if (m_fontScale != other->m_fontScale) {
54 return int(other->m_fontScale < m_fontScale) - int(m_fontScale < other->m_fontScale);
55 }
56- QRgb c1 = m_color.rgba();
57- QRgb c2 = other->m_color.rgba();
58- if (c1 != c2)
59- return int(c2 < c1) - int(c1 < c2);
60+ if (m_color != other->m_color)
61+ return &m_color < &other->m_color ? -1 : 1;
62 int t0 = m_texture ? m_texture->textureId : -1;
63 int t1 = other->m_texture ? other->m_texture->textureId : -1;
64 return t0 - t1;
65@@ -284,8 +281,7 @@ void DistanceFieldStyledTextMaterialShader::updateState(const RenderState &state
66 if (oldMaterial == 0
67 || material->styleColor() != oldMaterial->styleColor()
68 || (state.isOpacityDirty())) {
69- QColor c = material->styleColor();
70- QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
71+ QVector4D color = material->styleColor();
72 color *= state.opacity();
73 program()->setUniformValue(m_styleColor_id, color);
74 }
75@@ -302,21 +298,18 @@ QSGDistanceFieldStyledTextMaterial::~QSGDistanceFieldStyledTextMaterial()
76
77 void QSGDistanceFieldStyledTextMaterial::setStyleColor(const QColor &color)
78 {
79- m_styleColor = QColor::fromRgbF(color.redF() * color.alphaF(),
80- color.greenF() * color.alphaF(),
81- color.blueF() * color.alphaF(),
82- color.alphaF());
83+ m_styleColor = QVector4D(color.redF() * color.alphaF(),
84+ color.greenF() * color.alphaF(),
85+ color.blueF() * color.alphaF(),
86+ color.alphaF());
87 }
88
89 int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const
90 {
91 Q_ASSERT(o && type() == o->type());
92 const QSGDistanceFieldStyledTextMaterial *other = static_cast<const QSGDistanceFieldStyledTextMaterial *>(o);
93- if (m_styleColor != other->m_styleColor) {
94- QRgb c1 = m_styleColor.rgba();
95- QRgb c2 = other->m_styleColor.rgba();
96- return int(c2 < c1) - int(c1 < c2);
97- }
98+ if (m_styleColor != other->m_color)
99+ return &m_styleColor < &other->m_styleColor ? -1 : 1;
100 return QSGDistanceFieldTextMaterial::compare(o);
101 }
102
103@@ -657,8 +650,8 @@ void QSGHiQSubPixelDistanceFieldTextMaterialShader::updateState(const RenderStat
104 QSGDistanceFieldTextMaterial *oldMaterial = static_cast<QSGDistanceFieldTextMaterial *>(oldEffect);
105
106 if (oldMaterial == 0 || material->color() != oldMaterial->color()) {
107- QColor c = material->color();
108- state.context()->functions()->glBlendColor(c.redF(), c.greenF(), c.blueF(), 1.0f);
109+ QVector4D c = material->color();
110+ state.context()->functions()->glBlendColor(c.x(), c.y(), c.z(), 1.0f);
111 }
112
113 if (oldMaterial == 0 || material->fontScale() != oldMaterial->fontScale())
114diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
115index 7fea8f6..54d4146 100644
116--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
117+++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
118@@ -59,7 +59,7 @@ public:
119 virtual int compare(const QSGMaterial *other) const;
120
121 virtual void setColor(const QColor &color);
122- const QColor &color() const { return m_color; }
123+ const QVector4D &color() const { return m_color; }
124
125 void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }
126 QSGDistanceFieldGlyphCache *glyphCache() const { return m_glyph_cache; }
127@@ -76,7 +76,7 @@ public:
128
129 protected:
130 QSize m_size;
131- QColor m_color;
132+ QVector4D m_color;
133 QSGDistanceFieldGlyphCache *m_glyph_cache;
134 const QSGDistanceFieldGlyphCache::Texture *m_texture;
135 qreal m_fontScale;
136@@ -93,10 +93,10 @@ public:
137 virtual int compare(const QSGMaterial *other) const;
138
139 void setStyleColor(const QColor &color);
140- const QColor &styleColor() const { return m_styleColor; }
141+ const QVector4D &styleColor() const { return m_styleColor; }
142
143 protected:
144- QColor m_styleColor;
145+ QVector4D m_styleColor;
146 };
147
148 class Q_QUICK_PRIVATE_EXPORT QSGDistanceFieldOutlineTextMaterial : public QSGDistanceFieldStyledTextMaterial
149@@ -130,7 +130,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGHiQSubPixelDistanceFieldTextMaterial : public QS
150 public:
151 virtual QSGMaterialType *type() const;
152 virtual QSGMaterialShader *createShader() const;
153- void setColor(const QColor &color) { m_color = color; }
154+ void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
155 };
156
157 class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial
158@@ -138,7 +138,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QS
159 public:
160 virtual QSGMaterialType *type() const;
161 virtual QSGMaterialShader *createShader() const;
162- void setColor(const QColor &color) { m_color = color; }
163+ void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
164 };
165
166 QT_END_NAMESPACE
167--
1681.7.1
169
0170
=== modified file 'debian/patches/series'
--- debian/patches/series 2013-06-20 15:24:17 +0000
+++ debian/patches/series 2013-07-08 09:40:35 +0000
@@ -5,6 +5,8 @@
504_9d6cd72353e4862592c016951810abf9a7ab8079_backport.patch504_9d6cd72353e4862592c016951810abf9a7ab8079_backport.patch
68a3d48915c29484c9ffb2fb8f0e3b569a9fe9b44_backport.patch68a3d48915c29484c9ffb2fb8f0e3b569a9fe9b44_backport.patch
70001-Fallback-to-QMetaObject-for-properties-not-in-QQmlPr.patch70001-Fallback-to-QMetaObject-for-properties-not-in-QQmlPr.patch
80b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch
981a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch
810
9# ubuntu11# ubuntu
10rendering_performance_fix_lp1092358.patch12rendering_performance_fix_lp1092358.patch
1113
=== added file 'debian/qtdeclarative5-doc-html.install'
--- debian/qtdeclarative5-doc-html.install 1970-01-01 00:00:00 +0000
+++ debian/qtdeclarative5-doc-html.install 2013-07-08 09:40:35 +0000
@@ -0,0 +1,2 @@
1usr/share/qt5/doc/qtqml/
2usr/share/qt5/doc/qtquick/
03
=== added file 'debian/qtdeclarative5-doc.install'
--- debian/qtdeclarative5-doc.install 1970-01-01 00:00:00 +0000
+++ debian/qtdeclarative5-doc.install 2013-07-08 09:40:35 +0000
@@ -0,0 +1,2 @@
1usr/share/qt5/doc/qtquick.qch
2usr/share/qt5/doc/qtqml.qch
03
=== modified file 'debian/rules'
--- debian/rules 2013-04-29 16:27:13 +0000
+++ debian/rules 2013-07-08 09:40:35 +0000
@@ -14,25 +14,31 @@
14override_dh_auto_configure:14override_dh_auto_configure:
15 qmake15 qmake
1616
17override_dh_auto_install:17override_dh_auto_build-indep:
18 dh_auto_build -Smakefile -- docs
19
20override_dh_auto_install-arch:
18 dh_auto_install21 dh_auto_install
1922
20 # Fix wrong path in pkgconfig files23 # Fix wrong path in pkgconfig files
21 find $(CURDIR)/debian/tmp/usr/lib/*/pkgconfig -type f -name '*.pc' \24 find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig -type f -name '*.pc' \
22 -exec sed -i -e 's/$(DEB_HOST_MULTIARCH)\/$(DEB_HOST_MULTIARCH)/$(DEB_HOST_MULTIARCH)/g' {} \;25 -exec sed -i -e 's/$(DEB_HOST_MULTIARCH)\/$(DEB_HOST_MULTIARCH)/$(DEB_HOST_MULTIARCH)/g' {} \;
2326
27 # Remove libtool-like files
28 rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la
29
24 # Fix wrong permissions in examples.30 # Fix wrong permissions in examples.
25 find $(CURDIR)/debian/tmp/usr/lib/*/qt5/examples/ -type f \( \31 find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/examples/ -type f \( \
26 -name '*.png' \32 -name '*.png' \
27 -o -name '*.php' \33 -o -name '*.php' \
28 -o -name '*.xsl' \34 -o -name '*.xsl' \
29 -o -name '*.xml' \35 -o -name '*.xml' \
30 -o -name '*.js' \36 -o -name '*.js' \
31 -o -name '*.jpg' \37 -o -name '*.jpg' \
32 \) -print0 | xargs -0 chmod 64438 \) -print0 | xargs -0 chmod a-x
3339
34 # Remove libtool-like files40override_dh_auto_install-indep:
35 rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la41 make INSTALL_ROOT=$(CURDIR)/debian/tmp install_docs
3642
37override_dh_install:43override_dh_install:
38 dh_install --fail-missing44 dh_install --fail-missing
3945
=== modified file 'src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp'
--- src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp 2013-04-29 16:27:13 +0000
+++ src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp 2013-07-08 09:40:35 +0000
@@ -143,8 +143,7 @@
143 if (oldMaterial == 0143 if (oldMaterial == 0
144 || material->color() != oldMaterial->color()144 || material->color() != oldMaterial->color()
145 || state.isOpacityDirty()) {145 || state.isOpacityDirty()) {
146 QVector4D color(material->color().redF(), material->color().greenF(),146 QVector4D color = material->color();
147 material->color().blueF(), material->color().alphaF());
148 color *= state.opacity();147 color *= state.opacity();
149 program()->setUniformValue(m_color_id, color);148 program()->setUniformValue(m_color_id, color);
150 }149 }
@@ -203,6 +202,14 @@
203 return &type;202 return &type;
204}203}
205204
205void QSGDistanceFieldTextMaterial::setColor(const QColor &color)
206{
207 m_color = QVector4D(color.redF() * color.alphaF(),
208 color.greenF() * color.alphaF(),
209 color.blueF() * color.alphaF(),
210 color.alphaF());
211}
212
206QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const213QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const
207{214{
208 return new QSGDistanceFieldTextMaterialShader;215 return new QSGDistanceFieldTextMaterialShader;
@@ -230,10 +237,8 @@
230 if (m_fontScale != other->m_fontScale) {237 if (m_fontScale != other->m_fontScale) {
231 return int(other->m_fontScale < m_fontScale) - int(m_fontScale < other->m_fontScale);238 return int(other->m_fontScale < m_fontScale) - int(m_fontScale < other->m_fontScale);
232 }239 }
233 QRgb c1 = m_color.rgba();240 if (m_color != other->m_color)
234 QRgb c2 = other->m_color.rgba();241 return &m_color < &other->m_color ? -1 : 1;
235 if (c1 != c2)
236 return int(c2 < c1) - int(c1 < c2);
237 int t0 = m_texture ? m_texture->textureId : -1;242 int t0 = m_texture ? m_texture->textureId : -1;
238 int t1 = other->m_texture ? other->m_texture->textureId : -1;243 int t1 = other->m_texture ? other->m_texture->textureId : -1;
239 return t0 - t1;244 return t0 - t1;
@@ -275,8 +280,7 @@
275 if (oldMaterial == 0280 if (oldMaterial == 0
276 || material->styleColor() != oldMaterial->styleColor()281 || material->styleColor() != oldMaterial->styleColor()
277 || (state.isOpacityDirty())) {282 || (state.isOpacityDirty())) {
278 QVector4D color(material->styleColor().redF(), material->styleColor().greenF(),283 QVector4D color = material->styleColor();
279 material->styleColor().blueF(), material->styleColor().alphaF());
280 color *= state.opacity();284 color *= state.opacity();
281 program()->setUniformValue(m_styleColor_id, color);285 program()->setUniformValue(m_styleColor_id, color);
282 }286 }
@@ -291,15 +295,20 @@
291{295{
292}296}
293297
298void QSGDistanceFieldStyledTextMaterial::setStyleColor(const QColor &color)
299{
300 m_styleColor = QVector4D(color.redF() * color.alphaF(),
301 color.greenF() * color.alphaF(),
302 color.blueF() * color.alphaF(),
303 color.alphaF());
304}
305
294int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const306int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const
295{307{
296 Q_ASSERT(o && type() == o->type());308 Q_ASSERT(o && type() == o->type());
297 const QSGDistanceFieldStyledTextMaterial *other = static_cast<const QSGDistanceFieldStyledTextMaterial *>(o);309 const QSGDistanceFieldStyledTextMaterial *other = static_cast<const QSGDistanceFieldStyledTextMaterial *>(o);
298 if (m_styleColor != other->m_styleColor) {310 if (m_styleColor != other->m_color)
299 QRgb c1 = m_styleColor.rgba();311 return &m_styleColor < &other->m_styleColor ? -1 : 1;
300 QRgb c2 = other->m_styleColor.rgba();
301 return int(c2 < c1) - int(c1 < c2);
302 }
303 return QSGDistanceFieldTextMaterial::compare(o);312 return QSGDistanceFieldTextMaterial::compare(o);
304}313}
305314
@@ -634,8 +643,8 @@
634 QSGDistanceFieldTextMaterial *oldMaterial = static_cast<QSGDistanceFieldTextMaterial *>(oldEffect);643 QSGDistanceFieldTextMaterial *oldMaterial = static_cast<QSGDistanceFieldTextMaterial *>(oldEffect);
635644
636 if (oldMaterial == 0 || material->color() != oldMaterial->color()) {645 if (oldMaterial == 0 || material->color() != oldMaterial->color()) {
637 QColor c = material->color();646 QVector4D c = material->color();
638 state.context()->functions()->glBlendColor(c.redF(), c.greenF(), c.blueF(), 1.0f);647 state.context()->functions()->glBlendColor(c.x(), c.y(), c.z(), 1.0f);
639 }648 }
640649
641 if (oldMaterial == 0 || material->fontScale() != oldMaterial->fontScale())650 if (oldMaterial == 0 || material->fontScale() != oldMaterial->fontScale())
642651
=== modified file 'src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h'
--- src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h 2013-04-29 16:27:13 +0000
+++ src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h 2013-07-08 09:40:35 +0000
@@ -58,8 +58,8 @@
58 virtual QSGMaterialShader *createShader() const;58 virtual QSGMaterialShader *createShader() const;
59 virtual int compare(const QSGMaterial *other) const;59 virtual int compare(const QSGMaterial *other) const;
6060
61 void setColor(const QColor &color) { m_color = color; }61 virtual void setColor(const QColor &color);
62 const QColor &color() const { return m_color; }62 const QVector4D &color() const { return m_color; }
6363
64 void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }64 void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }
65 QSGDistanceFieldGlyphCache *glyphCache() const { return m_glyph_cache; }65 QSGDistanceFieldGlyphCache *glyphCache() const { return m_glyph_cache; }
@@ -76,7 +76,7 @@
7676
77protected:77protected:
78 QSize m_size;78 QSize m_size;
79 QColor m_color;79 QVector4D m_color;
80 QSGDistanceFieldGlyphCache *m_glyph_cache;80 QSGDistanceFieldGlyphCache *m_glyph_cache;
81 const QSGDistanceFieldGlyphCache::Texture *m_texture;81 const QSGDistanceFieldGlyphCache::Texture *m_texture;
82 qreal m_fontScale;82 qreal m_fontScale;
@@ -92,11 +92,11 @@
92 virtual QSGMaterialShader *createShader() const = 0;92 virtual QSGMaterialShader *createShader() const = 0;
93 virtual int compare(const QSGMaterial *other) const;93 virtual int compare(const QSGMaterial *other) const;
9494
95 void setStyleColor(const QColor &color) { m_styleColor = color; }95 void setStyleColor(const QColor &color);
96 const QColor &styleColor() const { return m_styleColor; }96 const QVector4D &styleColor() const { return m_styleColor; }
9797
98protected:98protected:
99 QColor m_styleColor;99 QVector4D m_styleColor;
100};100};
101101
102class Q_QUICK_PRIVATE_EXPORT QSGDistanceFieldOutlineTextMaterial : public QSGDistanceFieldStyledTextMaterial102class Q_QUICK_PRIVATE_EXPORT QSGDistanceFieldOutlineTextMaterial : public QSGDistanceFieldStyledTextMaterial
@@ -130,6 +130,7 @@
130public:130public:
131 virtual QSGMaterialType *type() const;131 virtual QSGMaterialType *type() const;
132 virtual QSGMaterialShader *createShader() const;132 virtual QSGMaterialShader *createShader() const;
133 void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
133};134};
134135
135class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial136class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial
@@ -137,6 +138,7 @@
137public:138public:
138 virtual QSGMaterialType *type() const;139 virtual QSGMaterialType *type() const;
139 virtual QSGMaterialShader *createShader() const;140 virtual QSGMaterialShader *createShader() const;
141 void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
140};142};
141143
142QT_END_NAMESPACE144QT_END_NAMESPACE

Subscribers

People subscribed via source and target branches

to all changes: