[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    D5249: [RFC] New effect plugin - projector (keystone) correction
From:       Krzysztof Nowicki <noreply () phabricator ! kde ! org>
Date:       2017-03-29 20:20:37
Message-ID: 20170329201908.83010.41427.C2262E24 () phabricator ! kde ! org
[Download RAW message or body]

nowicki added a comment.


  In https://phabricator.kde.org/D5249#98921, @graesslin wrote:
  
  > I think the effect system is the wrong place for it - at least if we want to add \
it to KWin directly. The transformation should be done directly in the Scene.  
  
  I have done it this way initially in order for it to be as little intrusive as \
possible. If the idea as a whole makes sense, I'll definitely have a look at doing \
this at a scene level as you suggested.

INLINE COMMENTS

> graesslin wrote in projector.cpp:101-126
> This is something which we should not do. That has major impact on the performance \
> of the overall system. Cursors are on an own layer and thus cursor movement does \
> not require a repaint. 
> Also on X11 we are not able to perfectly track the cursor. On Wayland, though we \
> have full control over it.

The reason for taking over cursor drawing is that when transformation is applied the \
pointer pixmap doesn't match the point where the cursor actually hits the windows \
below it. Since there is no way to apply translation to the HW cursor position \
drawing a SW cursor is the only way to make the mouse usable with tranformation \
applied.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D5249

To: nowicki, #plasma, graesslin
Cc: kwin, plasma-devel, #kwin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, \
abetts, sebas, apol


[Attachment #3 (text/html)]

<table><tr><td style="">nowicki added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: \
right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: \
#F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: \
inline-block; border: 1px solid rgba(71,87,120,.2);" \
href="https://phabricator.kde.org/D5249" rel="noreferrer">View \
Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid \
#8C98B8;  color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D5249#98921" \
style="background-color: #e7e7e7;  border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D5249#98921</a>, <a \
href="https://phabricator.kde.org/p/graesslin/" style="  border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@graesslin</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>I think the effect system is the wrong place \
for it - at least if we want to add it to KWin directly. The transformation should be \
done directly in the Scene.</p></div> </blockquote>

<p>I have done it this way initially in order for it to be as little intrusive as \
possible. If the idea as a whole makes sense, I&#039;ll definitely have a look at \
doing this at a scene level as you suggested.</p></div></div><br \
/><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div \
style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; \
background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 \
1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; \
overflow: hidden;"><a style="float: right; text-decoration: none;" \
href="https://phabricator.kde.org/D5249#inline-21612" rel="noreferrer">View \
Inline</a><span style="color: #4b4d51; font-weight: bold;">graesslin</span> wrote in \
<span style="color: #4b4d51; font-weight: bold;">projector.cpp:101-126</span></div> \
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; \
margin: 8px;">This is something which we should not do. That has major impact on the \
performance of the overall system. Cursors are on an own layer and thus cursor \
movement does not require a repaint.</p>

<p style="padding: 0; margin: 8px;">Also on X11 we are not able to perfectly track \
the cursor. On Wayland, though we have full control over it.</p></div></div> <div \
style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">The \
reason for taking over cursor drawing is that when transformation is applied the \
pointer pixmap doesn&#039;t match the point where the cursor actually hits the \
windows below it. Since there is no way to apply translation to the HW cursor \
position drawing a SW cursor is the only way to make the mouse usable with \
tranformation applied.</p></div></div></div></div></div><br \
/><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br \
/><div><strong>REVISION DETAIL</strong><div><a \
href="https://phabricator.kde.org/D5249" \
rel="noreferrer">https://phabricator.kde.org/D5249</a></div></div><br \
/><div><strong>To: </strong>nowicki, Plasma, graesslin<br /><strong>Cc: \
</strong>kwin, plasma-devel, KWin, progwolff, lesliezhai, ali-mohamed, \
jensreuterberg, abetts, sebas, apol<br /></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic