Commit graph

56 commits

Author SHA1 Message Date
Philip Falkner
8299541652 Add build checks for XComposite, XDamage, XRender, OpenGL, and XShm.
KWin should now build and run with/without any or all of the above.

svn path=/branches/work/kwin_composite/; revision=633387
2007-02-13 23:28:36 +00:00
Luboš Luňák
4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00
Luboš Luňák
24eacc4908 Move NETWinInfo and few more things from Client to the base class.
svn path=/branches/work/kwin_composite/; revision=632380
2007-02-10 21:56:24 +00:00
Luboš Luňák
bb5f7a9519 Compress damage events.
svn path=/branches/work/kwin_composite/; revision=632376
2007-02-10 21:49:57 +00:00
Luboš Luňák
00136f014f Configurable effects loading by Cedric Borgese.
svn path=/branches/work/kwin_composite/; revision=630276
2007-02-04 22:19:17 +00:00
Luboš Luňák
35206efd25 Managed clients may be also in the 'desktop's list.
svn path=/branches/work/kwin_composite/; revision=629751
2007-02-03 17:14:13 +00:00
Luboš Luňák
0ae5a772e7 Add EffectWindow as a window representation for effects,
to hide the change from Client/Unmanaged and eventually also
act as the only API available to effects.


svn path=/branches/work/kwin_composite/; revision=626360
2007-01-22 22:57:22 +00:00
Luboš Luňák
77f803a563 Instead of the somewhat fragile way of trying to clean up Client/Unmanaged
instances and keeping them around after the window is closed, create
class Deleted as a representation of a closed window.


svn path=/branches/work/kwin_composite/; revision=626356
2007-01-22 22:51:30 +00:00
Luboš Luňák
ff6f889ffc Add support for showing effects for windows which have already been deleted.
Add a fade-out effect.


svn path=/branches/work/kwin_composite/; revision=623872
2007-01-15 18:03:04 +00:00
Luboš Luňák
8a3af8dcca X.org docs have moved again.
svn path=/branches/work/kwin_composite/; revision=623807
2007-01-15 14:58:35 +00:00
Luboš Luňák
603a1d4686 Discard backing pixmap when finishing compositing.
svn path=/branches/work/kwin_composite/; revision=623759
2007-01-15 13:01:43 +00:00
Philip Falkner
e3cf0dd455 Move window_pix into Toplevel, allowing the backing pixmap to be kept even after a window is unmapped.
This is needed for effects to make use of unavailable windows, such as when closing a window.

svn path=/branches/work/kwin_composite/; revision=622777
2007-01-12 23:21:36 +00:00
Luboš Luňák
92652a187d Support in scene painting code for drawing also hidden windows.
svn path=/branches/work/kwin_composite/; revision=621337
2007-01-08 17:05:58 +00:00
Luboš Luňák
1765551277 Support for "input windows" that let effects intercept mouse events
when they e.g. want to let the user select from window thumbnails.


svn path=/branches/work/kwin_composite/; revision=620305
2007-01-05 16:45:56 +00:00
Luboš Luňák
a643ff2b00 Try to use XComposite overlay also with XRender.
svn path=/branches/work/kwin_composite/; revision=610137
2006-12-03 13:38:16 +00:00
Luboš Luňák
6a66250620 Better synchronization of refresh rate and vsyncing,
patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=610110
2006-12-03 13:29:14 +00:00
Luboš Luňák
3374f1fbda It seems there's a different place in fd.o git where docs are stored.
svn path=/branches/work/kwin_composite/; revision=608405
2006-11-27 14:20:40 +00:00
Luboš Luňák
d426d9dcd4 Don't let the damage region be larger than the window,
prevent painting errors when shrinking a window.


svn path=/branches/work/kwin_composite/; revision=607510
2006-11-24 21:50:10 +00:00
Luboš Luňák
049460fa2e Reset window damage after updating the damaged areas of the OpenGL texture
or Xrender picture, not after every repaint.
This also allows removing the confusing initPaint()/postPaint() calls in Scene.


svn path=/branches/work/kwin_composite/; revision=607500
2006-11-24 21:28:00 +00:00
Luboš Luňák
38f4f76b31 Detect screen refresh rate for finding out optimal compositing
redraw speed. Patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=607253
2006-11-23 21:16:49 +00:00
Luboš Luňák
8e257f251f Use kwin debug area.
svn path=/branches/work/kwin_composite/; revision=605290
2006-11-16 09:05:40 +00:00
Luboš Luňák
a222c2a675 Gee, map also the child X window. Qt makes some things way too simple.
svn path=/branches/work/kwin_composite/; revision=604018
2006-11-11 09:05:45 +00:00
Luboš Luňák
154d8a588b Use the compositing manager _NET_WM_CM_S<n> manager selection.
svn path=/branches/work/kwin_composite/; revision=603322
2006-11-08 15:08:20 +00:00
Luboš Luňák
5040859ee3 Force re-creating of the Alt+F3 popup (opacity option).
svn path=/branches/work/kwin_composite/; revision=603312
2006-11-08 14:45:30 +00:00
Luboš Luňák
4110fc1c3a Support for XComposite overlay window.
svn path=/branches/work/kwin_composite/; revision=603137
2006-11-07 22:44:39 +00:00
Luboš Luňák
c3ac9d79ac kwin_composite currently doesn't build without libs for compositing.
svn path=/branches/work/kwin_composite/; revision=601780
2006-11-04 12:26:59 +00:00
Luboš Luňák
d92d3a8165 Document the compositing framework and the scene backends,
describe the design, add links to external docs.
Restructure COMPOSITE_TODO into sections and add sort of priorities.


svn path=/branches/work/kwin_composite/; revision=600163
2006-10-29 19:23:45 +00:00
Luboš Luňák
3f9b754ee7 Add post-painting pass to be used for triggering
repaints with animations.


svn path=/branches/work/kwin_composite/; revision=600156
2006-10-29 19:07:10 +00:00
Luboš Luňák
6b41c062c8 Remove the WrapperEffect hack, it's ugly.
svn path=/branches/work/kwin_composite/; revision=600155
2006-10-29 19:06:32 +00:00
Luboš Luňák
3f46d36bb9 Add convenience functions for damaging full area.
svn path=/branches/work/kwin_composite/; revision=598834
2006-10-24 19:28:17 +00:00
Luboš Luňák
10b31e7222 Support for animations, still some todo's pending.
svn path=/branches/work/kwin_composite/; revision=598831
2006-10-24 19:17:48 +00:00
Luboš Luňák
23b30bb2fa Throttle composite repaints in order not to starve everything else.
svn path=/branches/work/kwin_composite/; revision=598820
2006-10-24 18:31:33 +00:00
Luboš Luňák
d50c63e451 Missing part of the don't-cache-window-pixmap commit.
svn path=/branches/work/kwin_composite/; revision=593732
2006-10-08 21:17:38 +00:00
Luboš Luňák
06203d0652 Don't bother with trying to transform window damage,
when there are any transformations, it should simply
repaint everything (todo).


svn path=/branches/work/kwin_composite/; revision=593450
2006-10-07 21:18:36 +00:00
Luboš Luňák
e194246f73 $KWIN_COMPOSE for overriding which compositing system to use
svn path=/branches/work/kwin_composite/; revision=593447
2006-10-07 21:17:30 +00:00
Luboš Luňák
fba72ecdfe Update only damaged areas.
svn path=/branches/work/kwin_composite/; revision=590678
2006-09-30 16:17:54 +00:00
Luboš Luňák
b09713532a Debug about which backend is enabled.
svn path=/branches/work/kwin_composite/; revision=590658
2006-09-30 15:48:31 +00:00
Luboš Luňák
649887d6c2 Looks like using XserverRegion for keeping damage regions
wasn't that good idea. Changed to QRegion.


svn path=/branches/work/kwin_composite/; revision=590648
2006-09-30 15:40:03 +00:00
Luboš Luňák
1c7e7bb2b7 Keeping scene-related data in opengl scene.
svn path=/branches/work/kwin_composite/; revision=590319
2006-09-29 19:05:36 +00:00
Luboš Luňák
efff218441 A very crude OpenGL-based compositing code.
svn path=/branches/work/kwin_composite/; revision=590265
2006-09-29 16:49:34 +00:00
Luboš Luňák
e24815411a Keep damage info separately for every window.
svn path=/branches/work/kwin_composite/; revision=561966
2006-07-13 18:17:49 +00:00
Luboš Luňák
03fedc56dd No effects when not compositing.
svn path=/branches/work/kwin_composite/; revision=560594
2006-07-10 18:34:57 +00:00
Luboš Luňák
e6c23e4cd3 Ok, I give up, whoever wants more complicated transformations than just
translation are welcome to implement it themselves. I'm no graphics guy
after all and this seems to be far beyond me.


svn path=/branches/work/kwin_composite/; revision=559182
2006-07-06 18:22:01 +00:00
Luboš Luňák
0516e1e73b Add support for translation and add two "plugins" that
make windows transparent or shake them while moving.


svn path=/branches/work/kwin_composite/; revision=559013
2006-07-06 13:17:44 +00:00
Luboš Luňák
1719127d3f Make the opacity slider and wheel operations work again.
svn path=/branches/work/kwin_composite/; revision=558740
2006-07-05 22:26:34 +00:00
Luboš Luňák
bab62bf88f Use kwinrc:[Translucency]:UseTranslucency for controlling compositing.
svn path=/branches/work/kwin_composite/; revision=558712
2006-07-05 21:46:01 +00:00
Luboš Luňák
c7f515630d Support for transparency.
svn path=/branches/work/kwin_composite/; revision=558690
2006-07-05 20:52:57 +00:00
Luboš Luňák
f400646a6d xrender compositing work - now it uses damage areas
to reduce amount of painting


svn path=/branches/work/kwin_composite/; revision=558580
2006-07-05 16:04:11 +00:00
Luboš Luňák
29111875e1 Very basic compositing with xrender.
svn path=/branches/work/kwin_composite/; revision=558481
2006-07-05 13:26:08 +00:00
Luboš Luňák
afcc9b6897 Prepare for scene rendering with different engines.
svn path=/branches/work/kwin_composite/; revision=558442
2006-07-05 12:30:03 +00:00