[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&#39;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&#39;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