[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'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'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