<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/109365/">http://git.reviewboard.kde.org/r/109365/</a>
</td>
</tr>
</table>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/109365/diff/1/?file=118178#file118178line23" style="color: black; font-weight: bold; text-decoration: underline;">CMakeLists.txt</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">23</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="nb">find_package</span><span class="p">(</span><span class="s">KDeclarative</span><span class="p">)</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Albert Astals Cid (Aug. 9, 2012, 10:23 p.m.):
this is not how you do dependencies, you do a regular find + macro_log_feature
Viranch Mehta (Dec. 1, 2012, 8:42 a.m.):
Like this:
find_package(KDeclarative)
macro_log_feature(KDECLARATIVE_FOUND "KDeclarative" "KDeclarative is a KDE library for KDE specific QML support." "" TRUE "" "KDeclarative library is required for QML support in KDE Games.")
?
Albert Astals Cid (Dec. 1, 2012, 11:59 a.m.):
Check how it is done in other places, e.g. in the same CMakeLists.txt you are editing ;-)
macro_optional_find_package(OpenAL)
macro_log_feature(OPENAL_FOUND "OpenAL" "OpenAL (Open Audio Library) is a free software cross-platform audio API." "http://connect.creativelabs.com/openal" FALSE "" "Phonon is used as a fallback, but low-latency sound output is only available with OpenAL/SndFile.")</pre>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/109365/diff/1/?file=118180#file118180line4" style="color: black; font-weight: bold; text-decoration: underline;">declarativeimports/corebindingsplugin.h</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">4</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cm"> * This program is free software; you can redistribute it and/or modify *</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Albert Astals Cid (Aug. 9, 2012, 10:23 p.m.):
If we are not installing this i'd call it canvasitem_p.h
Viranch Mehta (Aug. 11, 2012, 12:54 p.m.):
How does this work? I renamed the file, changed the #include in the .cpp and the compiler gives the error that canvasitem.h file cannot be found required by the canvasitem.moc
Albert Astals Cid (Aug. 11, 2012, 9:14 p.m.):
Remove your .moc includes, this is automagically handled by cmake+automoc.
That failing have a look at how kdelibs/kdeui/notifications/knotificationmanager_p.h does it
Viranch Mehta (Dec. 1, 2012, 8:42 a.m.):
Done, does this also apply to all other headers files in the patch that we are not going to ship?
Albert Astals Cid (Dec. 1, 2012, 11:59 a.m.):
Yep, non-installed headers are usually named _p.h to signal they are private.</pre>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/109365/diff/1/?file=118186#file118186line55" style="color: black; font-weight: bold; text-decoration: underline;">kgdeclarativeview.h</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">55</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="nl">public:</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Albert Astals Cid (Aug. 9, 2012, 10:23 p.m.):
I'd declare a d-pointer for future expandability
Viranch Mehta (Aug. 11, 2012, 12:54 p.m.):
How does this work? I haven't had any experience working with libraries.
Albert Astals Cid (Aug. 11, 2012, 9:14 p.m.):
http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++#Using_a_d-Pointer</pre>
</div>
<br />
<p>- Viranch</p>
<br />
<p>On March 9th, 2013, 8:11 a.m. UTC, Viranch Mehta wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KDE Games.</div>
<div>By Viranch Mehta.</div>
<p style="color: grey;"><i>Updated March 9, 2013, 8:11 a.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is a copy of review request #7017 in SVN review board because I needed to update the patch (it won't accept git diffs). Updated description:
This patch contains support for QtQuick in libkdegames for future porting QML. Post this patch, libkdeclarative becomes a dependency for libkdegames.
We have some new classes:
1. KgImageProvider:
This is a QDeclarativeImageProvider, and a sort-of replacement for KGameRenderer for QML ports. This class is supplied with a KgThemeProvider which it uses to discover SVG locations, reads them using QSvgRenderer and returns the requested sprite pixmap. QDeclarativeImageProvider has inbuilt ability of caching and asynchronous loading of pixmaps, which is why can replace usages of KGameRenderer in QML ports.
2. KgDeclarativeView:
This is a QDeclarativeView with KDE-specific import paths for QML components configured and javascript functions bindings added (like i18n() methods) using the KDeclarative library. Game's KgThemeProviders are supplied to this class which in turn registers them with the underlying QML engine, and adds KgImageProviders corresponding to each KgThemeProvider.
3. KgItem QML component:
This is simple QML Image element wrapper for showing sprites on QML views using the KgImageProviders. We specify which one of the KgImageProviders we want to use and which sprite key we want to show, and it will be painted on the view.
The patch may not stay up-to-date, relevant code is in "viranch/qtquick" branch in libkdegames's git repo.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm using KBreakout to test all of this. The relevant port can be found in "qtquick/provider" branch in KBreakout's git repo.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(67b8b40)</span></li>
<li>declarativeimports/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>
<li>declarativeimports/corebindingsplugin.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>declarativeimports/corebindingsplugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>declarativeimports/qml/KgItem.qml <span style="color: grey">(PRE-CREATION)</span></li>
<li>declarativeimports/qml/qmldir <span style="color: grey">(PRE-CREATION)</span></li>
<li>includes/CMakeLists.txt <span style="color: grey">(8756a50)</span></li>
<li>includes/KgDeclarativeView <span style="color: grey">(PRE-CREATION)</span></li>
<li>kgdeclarativeview.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>kgdeclarativeview.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>kgimageprovider.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>kgimageprovider.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>kgthemeprovider.h <span style="color: grey">(6ca9b63)</span></li>
<li>kgthemeprovider.cpp <span style="color: grey">(e186106)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/109365/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>