[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-graphics-devel
Subject: Re: [Kde-graphics-devel] Review Request 114178: XCB port and port away from window-system specific f
From: "Aaron J. Seigo" <aseigo () kde ! org>
Date: 2014-09-15 8:20:09
Message-ID: 20140915082009.22585.76561 () probe ! kde ! org
[Download RAW message or body]
--===============2827825458341234813==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114178/#review66518
-----------------------------------------------------------
i have merged a version of this patch into the frameworks/ branch of ksnapshot.
there are indeed a few problems there:
1) with the kwin effect, it usually (though not always!) returns a pixmap that is the \
right geometry but with a completely empty image 2) without the kwin effect, windows \
that are off-screen (e.g. dragged partially off the screen) are not captured
so it needs a bit more work, but the patch is at least merged into the version that \
builds against frameworks. Martin: would you be able/willing to take a look at the \
code in that branch and see if you can improve on the above two issues?
- Aaron J. Seigo
On Jan. 24, 2014, 10:32 a.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/114178/
> -----------------------------------------------------------
>
> (Updated Jan. 24, 2014, 10:32 a.m.)
>
>
> Review request for KDE Graphics and Richard Moore.
>
>
> Repository: ksnapshot
>
>
> Description
> -------
>
> Patch set is available in kde:clones/ksnapshot/graesslin/ksnapshot branch xcb. \
> Direct link to latest commit: \
> http://commits.kde.org/clones/ksnapshot/graesslin/ksnapshot/6e41a393337c198dd9cebe8c597014b638ea64f4
>
> The branch prepares ksnapshot for two things: changes in QPixmap API in Qt5 and \
> being able to support multiple platforms (X11/Wayland) at runtime which cannot be \
> solved by pure ifdefs.
> In summary the changes do the following:
> * move X11 specific code from WindowGrabber into a windowgrabber_x11.cpp. Same \
> needs to be done with the windows specific code, but I'm not able to do that due to \
> lack of that OS
> * port the X11 specific code from WindowGrabber to xcb. For that FindXCB and \
> FindX11XCB is copied from ECM (to be deleted in the Qt 5 branch) and I added some \
> of the helper classes we use in KWin.
> * Port the xfixes specific code in ksnapshot.cpp to xcb
> * Adds a PixmapHelper class with an X11 backend to provide the functionality which \
> got removed in Qt5.
> I'm quite confident that the code base after those changes will compile against Qt \
> 5, though I have not tried yet. Wanted to get out this review request first.
>
> Diffs
> -----
>
> CMakeLists.txt 9b2dc6e
> cmake/modules/FindX11_XCB.cmake PRE-CREATION
> cmake/modules/FindXCB.cmake PRE-CREATION
> config-ksnapshot.h.cmake deca85f
> freeregiongrabber.cpp f7f1924
> kbackgroundsnapshot.cpp 9d81ba1
> ksnapshot.cpp ca308bb
> ksnapshotobject.cpp 608f7dc
> pixmaphelper.h PRE-CREATION
> pixmaphelper.cpp PRE-CREATION
> pixmaphelper_x11.h PRE-CREATION
> pixmaphelper_x11.cpp PRE-CREATION
> regiongrabber.cpp fb038a3
> windowgrabber.cpp 21a9531
> windowgrabber_x11.cpp PRE-CREATION
> xcbutils.h PRE-CREATION
>
> Diff: https://git.reviewboard.kde.org/r/114178/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Martin Gräßlin
>
>
--===============2827825458341234813==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 \
solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;"> \
<tr> <td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/114178/">https://git.reviewboard.kde.org/r/114178/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">i \
have merged a version of this patch into the frameworks/ branch of ksnapshot.</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">there are indeed a few problems there:</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1) \
with the kwin effect, it usually (though not always!) returns a pixmap that is the \
right geometry but with a completely empty image<br style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;" /> 2) without the kwin \
effect, windows that are off-screen (e.g. dragged partially off the screen) are not \
captured</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">so it needs a bit more work, but the patch is at least \
merged into the version that builds against frameworks. Martin: would you be \
able/willing to take a look at the code in that branch and see if you can improve on \
the above two issues?</p></pre> <br />
<p>- Aaron J. Seigo</p>
<br />
<p>On January 24th, 2014, 10:32 a.m. UTC, Martin Gräßlin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: \
1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;"> <tr>
<td>
<div>Review request for KDE Graphics and Richard Moore.</div>
<div>By Martin Gräßlin.</div>
<p style="color: grey;"><i>Updated Jan. 24, 2014, 10:32 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
ksnapshot
</div>
<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;">Patch set is available in kde:clones/ksnapshot/graesslin/ksnapshot \
branch xcb. Direct link to latest commit: \
http://commits.kde.org/clones/ksnapshot/graesslin/ksnapshot/6e41a393337c198dd9cebe8c597014b638ea64f4
The branch prepares ksnapshot for two things: changes in QPixmap API in Qt5 and being \
able to support multiple platforms (X11/Wayland) at runtime which cannot be solved by \
pure ifdefs.
In summary the changes do the following:
* move X11 specific code from WindowGrabber into a windowgrabber_x11.cpp. Same needs \
to be done with the windows specific code, but I'm not able to do that due to \
lack of that OS
* port the X11 specific code from WindowGrabber to xcb. For that FindXCB and \
FindX11XCB is copied from ECM (to be deleted in the Qt 5 branch) and I added some of \
the helper classes we use in KWin.
* Port the xfixes specific code in ksnapshot.cpp to xcb
* Adds a PixmapHelper class with an X11 backend to provide the functionality which \
got removed in Qt5.
I'm quite confident that the code base after those changes will compile against \
Qt 5, though I have not tried yet. Wanted to get out this review request first.</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">(9b2dc6e)</span></li>
<li>cmake/modules/FindX11_XCB.cmake <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>cmake/modules/FindXCB.cmake <span style="color: grey">(PRE-CREATION)</span></li>
<li>config-ksnapshot.h.cmake <span style="color: grey">(deca85f)</span></li>
<li>freeregiongrabber.cpp <span style="color: grey">(f7f1924)</span></li>
<li>kbackgroundsnapshot.cpp <span style="color: grey">(9d81ba1)</span></li>
<li>ksnapshot.cpp <span style="color: grey">(ca308bb)</span></li>
<li>ksnapshotobject.cpp <span style="color: grey">(608f7dc)</span></li>
<li>pixmaphelper.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>pixmaphelper.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>pixmaphelper_x11.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>pixmaphelper_x11.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>regiongrabber.cpp <span style="color: grey">(fb038a3)</span></li>
<li>windowgrabber.cpp <span style="color: grey">(21a9531)</span></li>
<li>windowgrabber_x11.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>xcbutils.h <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/114178/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============2827825458341234813==--
_______________________________________________
Kde-graphics-devel mailing list
Kde-graphics-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-graphics-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic