From kwin Fri Jan 27 07:29:01 2012 From: "Commit Hook" Date: Fri, 27 Jan 2012 07:29:01 +0000 To: kwin Subject: Re: Review Request: [RFC] Good Bye to virtuals in EffectWindow part 1 Message-Id: <20120127072901.2613.8912 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kwin&m=132764953512180 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============4482198907853911903==" --===============4482198907853911903== Content-Type: multipart/alternative; boundary="===============0194452988282801658==" --===============0194452988282801658== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103567/#review10120 ----------------------------------------------------------- This review has been submitted with commit 8314d9ed3637e58b2a3ac27e723370d6= c862822b by Martin Gr=C3=A4=C3=9Flin to branch master. - Commit Hook On Jan. 4, 2012, 5:35 p.m., Martin Gr=C3=A4=C3=9Flin wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/103567/ > ----------------------------------------------------------- > = > (Updated Jan. 4, 2012, 5:35 p.m.) > = > = > Review request for kwin. > = > = > Description > ------- > = > EffectWindow becomes a QObject and make use of properties in EffectWindow= where possible instead of inheritance > = > If possible use the property to Toplevel or Client instead of the pure vi= rtual methods. This makes it easier to get a stable ABI. Adding new methods= to the class no longer requires to add a pure virtual method. > = > From a performance point of view this change should not matter. Most Effe= ctWindow methods are not invoked during the repaint chain. But only in resp= onse to an event like a window got added. There the overhead does not reall= y matter as well the previous implementation made strong use of dynamic cas= ts which are also not knwon for being very fast. > = > Some virtuals are still there and should be removed. E.g. isManaged needs= a new method and property in Toplevel. Some other virtuals will stay - e.g= . addRepaint. Some virtuals should go into a d-pointer: e.g setData and dat= a. > = > = > Diffs > ----- > = > kwin/composite.cpp 55a7144 = > kwin/effects.h f4ad2fb = > kwin/effects.cpp 6c252c9 = > kwin/libkwineffects/kwineffects.h 780cc89 = > kwin/libkwineffects/kwineffects.cpp 1ad53bc = > = > Diff: http://git.reviewboard.kde.org/r/103567/diff/diff > = > = > Testing > ------- > = > tested some effects, properties in general tested through kwin scripting > = > = > Thanks, > = > Martin Gr=C3=A4=C3=9Flin > = > --===============0194452988282801658== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/103567/

This revie=
w has been submitted with commit 8314d9ed3637e58b2a3ac27e723370d6c862822b b=
y Martin Gr=C3=A4=C3=9Flin to branch master.

- Commit


On January 4th, 2012, 5:35 p.m., Martin Gr=C3=A4=C3=9Flin wrote:

Review request for kwin.
By Martin Gr=C3=A4=C3=9Flin.

Updated Jan. 4, 2012, 5:35 p.m.

Descripti= on

EffectWindow becomes a QObject and make use of properties in=
 EffectWindow where possible instead of inheritance
    =

If possible use the property to Toplevel or Client instead of the pure virt=
ual methods. This makes it easier to get a stable ABI. Adding new methods t=
o the class no longer requires to add a pure virtual method.
    =

From a performance point of view this change should not matter. Most Effect=
Window methods are not invoked during the repaint chain. But only in respon=
se to an event like a window got added. There the overhead does not really =
matter as well the previous implementation made strong use of dynamic casts=
 which are also not knwon for being very fast.

Some virtuals are still there and should be removed. E.g. isManaged needs a=
 new method and property in Toplevel. Some other virtuals will stay - e.g. =
addRepaint. Some virtuals should go into a d-pointer: e.g setData and data.=

Testing <= /h1>
tested some effects, properties in general tested through kw=
in scripting

Diffs=

  • kwin/composite.cpp (55a7144)
  • kwin/effects.h (f4ad2fb)
  • kwin/effects.cpp (6c252c9)
  • kwin/libkwineffects/kwineffects.h (780cc89= )
  • kwin/libkwineffects/kwineffects.cpp (1ad53= bc)

View Diff

--===============0194452988282801658==-- --===============4482198907853911903== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============4482198907853911903==--