Commit graph

75 commits

Author SHA1 Message Date
Luboš Luňák
d846a1e8a9 Use always float as the floating point type for compositing
(http://lists.kde.org/?l=kwin&m=118493073424327&w=2).


svn path=/trunk/KDE/kdebase/workspace/; revision=700026
2007-08-14 15:22:23 +00:00
Luboš Luňák
5a50381e1f Move the shader used for painting to WindowPaintData, as it's
more related to one painting than to a window.


svn path=/trunk/KDE/kdebase/workspace/; revision=698576
2007-08-10 11:26:58 +00:00
Luboš Luňák
30eb55863c Make WindowPaintData ctor require an EffectWindow argument,
which is used to fill it in. Makes thumbnails work again.


svn path=/trunk/KDE/kdebase/workspace/; revision=697961
2007-08-08 14:42:06 +00:00
Rivo Laks
da0450f67f Make loadEffect() return bool
svn path=/trunk/KDE/kdebase/workspace/; revision=690381
2007-07-20 21:13:10 +00:00
Luboš Luňák
96aba51960 Add a helper to turn on transparency in pre-paint calls.
svn path=/trunk/KDE/kdebase/workspace/; revision=689910
2007-07-19 13:32:46 +00:00
Luboš Luňák
5faa397849 Vertex redesign - redo the way windows are split into smaller parts
for use in effects (and not only). Now a list of window quads (=window areas)
is created at the beginning of the paint pass, prepaint calls can modify
the split itself (i.e. divide it into more parts). The actual paint calls
can then modify these quads (i.e. transform their geometry). This will allow
better control of how the split is done and also allow painting e.g. only
the decoration differently. Still work in progress, but it works.
Also pass data to prepaint functions in a struct, as there is
already quite a number of them.


svn path=/trunk/KDE/kdebase/workspace/; revision=684893
2007-07-07 14:01:32 +00:00
Rivo Laks
6c8b18f379 Add support for effect ordering.
Effects can now have e.g.  X-Ordering=10  field in their .desktop file. The bigger the number,
  the later the effect comes.

svn path=/trunk/KDE/kdebase/workspace/; revision=684272
2007-07-06 12:38:41 +00:00
Rivo Laks
e3d45c99f0 Add reloadEffect() and isEffectLoaded() and use them
svn path=/trunk/KDE/kdebase/workspace/; revision=669433
2007-05-29 11:42:47 +00:00
Rivo Laks
44b293211c Options now longer provides list of effects to be loaded.
Instead, EffectsHandler itself loads the list of enabled effects (saved by the effects selector widget),
  also making use of their EnabledByDefault property, so if you haven't touched the config, you'll
  automatically get default effects.

svn path=/trunk/KDE/kdebase/workspace/; revision=669036
2007-05-28 11:23:00 +00:00
Luboš Luňák
278e721494 Support for keeping a window temporarily at the very top,
desktop grid effect raises the window being moved this way.


svn path=/trunk/KDE/kdebase/workspace/; revision=667944
2007-05-24 14:41:56 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Rivo Laks
9342f6902c Add EffectWindow::isPaintingEnabled() to check whether painting of that window is enabled (surprise!)
svn path=/branches/work/kwin_composite/; revision=658747
2007-04-28 12:21:14 +00:00
Rivo Laks
868719ed65 Port ExplosionEffect to plugin system
svn path=/branches/work/kwin_composite/; revision=656456
2007-04-21 12:57:15 +00:00
Luboš Luňák
f43b53ef7d Trigger TrackMouseEffect using Ctrl+Meta rather than mouse buttons.
svn path=/branches/work/kwin_composite/; revision=656455
2007-04-21 12:50:02 +00:00
Rivo Laks
7250a8edcd Support having multiple rendertarget-using effects active at once
svn path=/branches/work/kwin_composite/; revision=656210
2007-04-20 15:53:30 +00:00
Luboš Luňák
438b8ce045 toggleEffect() DBUS call
svn path=/branches/work/kwin_composite/; revision=655369
2007-04-18 06:57:49 +00:00
Luboš Luňák
d6d91cf88a Add the ability to move windows around in DesktopGridEffect.
svn path=/branches/work/kwin_composite/; revision=654796
2007-04-16 22:47:51 +00:00
Luboš Luňák
40002ec325 Allow changing the desktop in DesktopGridEffect by clicking.
svn path=/branches/work/kwin_composite/; revision=654680
2007-04-16 19:09:21 +00:00
Luboš Luňák
970f4c4d60 Get window class.
svn path=/branches/work/kwin_composite/; revision=654513
2007-04-16 11:48:14 +00:00
Luboš Luňák
76cb5de294 Support for effects taking control of the keyboard. Needs recent kdeui change
to work properly.


svn path=/branches/work/kwin_composite/; revision=654259
2007-04-15 16:31:13 +00:00
Luboš Luňák
f5fa11222a Effects that can keep thumbnails of selected windows permanently
visible at the side.


svn path=/branches/work/kwin_composite/; revision=654185
2007-04-15 10:56:17 +00:00
Luboš Luňák
10bfb82e8c Make PresentWindows effect work properly even with idle paint passes
(i.e. trigger next repaint properly and react on mouse events).


svn path=/branches/work/kwin_composite/; revision=653921
2007-04-14 15:33:12 +00:00
Luboš Luňák
23c579452e These don't need to be virtual in the handler, they just call the same
function in effects.


svn path=/branches/work/kwin_composite/; revision=653899
2007-04-14 14:20:24 +00:00
Luboš Luňák
5fc1d4c480 Tabbox effect also converted to plugins.
svn path=/branches/work/kwin_composite/; revision=653014
2007-04-12 14:12:34 +00:00
Luboš Luňák
2b82c88874 The rest ported to plugins, BoxSwich being the only exception.
svn path=/branches/work/kwin_composite/; revision=652991
2007-04-12 13:12:37 +00:00
Luboš Luňák
8e25dd6bfa Port to plugins.
svn path=/branches/work/kwin_composite/; revision=652956
2007-04-12 11:55:07 +00:00
Luboš Luňák
ca5451fef0 Convert WavyWindows to plugins (and move Vertex class to the effects lib).
svn path=/branches/work/kwin_composite/; revision=652628
2007-04-11 15:46:46 +00:00
Rivo Laks
02032f8587 Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
  would be better to add effectImpl() convenience method and use that?

svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +00:00
Luboš Luňák
58fdb149a8 Convert ShowFps effect to plugins.
svn path=/branches/work/kwin_composite/; revision=652275
2007-04-10 15:38:36 +00:00
Luboš Luňák
d2dbc77323 Add support for dimming of inactive windows (accessibility).
FEATURE: 46226


svn path=/branches/work/kwin_composite/; revision=652255
2007-04-10 14:48:55 +00:00
Rivo Laks
0353f3376e Make effects actual plugins, so it's possible to load them on runtime.
There's also a kwineffects library now, containing the effects API, which makes it possible to write
  third-party effects.
API isn't complete yet and for now just two effects have been converted but I'm working on it :-)

svn path=/branches/work/kwin_composite/; revision=652226
2007-04-10 13:02:08 +00:00
Luboš Luňák
e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák
35bbf89aed Add support for activating features using window borders/corners.
Enabled it for PresentWindowsEffect for now.


svn path=/branches/work/kwin_composite/; revision=650532
2007-04-04 19:08:03 +00:00
Rivo Laks
1f167d8d15 Add EffectWindow::isDeleted() method.
Don't draw shadow for deleted windows.

svn path=/branches/work/kwin_composite/; revision=648149
2007-03-30 16:12:07 +00:00
Luboš Luňák
8b5b40e4e8 Shadows. Right not it's only flat black rectangle, but otherwise
everything should work.


svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Luboš Luňák
d4a58f4152 QMap -> QHash
svn path=/branches/work/kwin_composite/; revision=642532
2007-03-14 16:50:19 +00:00
Philip Falkner
ce89ed0716 Allow effects to replace the tabbox.
svn path=/branches/work/kwin_composite/; revision=640628
2007-03-08 16:49:44 +00:00
Luboš Luňák
f6ad1881e1 Support for window thumbnails.
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +00:00
Luboš Luňák
b7bb605110 New compositing window types.
svn path=/branches/work/kwin_composite/; revision=636645
2007-02-23 17:47:52 +00:00
Philip Falkner
a71753e5cd Change effects->windowOpacityChanged to also pass the old opacity; thanks Lubos!
Clean up FadeEffect a bit, and make it replace FadeOut in the default effects list.

svn path=/branches/work/kwin_composite/; revision=633032
2007-02-12 23:14:50 +00:00
Luboš Luňák
9704203415 More geometry accessors in wrapper classes.
svn path=/branches/work/kwin_composite/; revision=632603
2007-02-11 18:36:57 +00:00
Philip Falkner
8d0f15e655 Hook up windowOpacityChanged for effects. Note that this only affects when the window opacity atom is changed; if an effect alters data.opacity in WindowPaintData, no notification will happen.
svn path=/branches/work/kwin_composite/; revision=632582
2007-02-11 17:38:56 +00:00
Philip Falkner
c16656d66d Rework how window painting is disabled; now effects can indicate reasons they want particular windows painted or not.
This solves a few problems, but may need revisiting in the future.

svn path=/branches/work/kwin_composite/; revision=632581
2007-02-11 17:36:32 +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
63a97b7d3d Add DesktopChangeSlideEffect, an effect that on virtual desktop
change slides the old desktop out and the new one in. Should not
be really technically different from the cube.


svn path=/branches/work/kwin_composite/; revision=629163
2007-02-01 17:20:48 +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
Philip Falkner
ee9e4ad715 Allow effects on window minimize and unminimize.
svn path=/branches/work/kwin_composite/; revision=622778
2007-01-12 23:23:41 +00:00