Commit graph

75 commits

Author SHA1 Message Date
Sebastian Kügler
cac8ff3072 Make sure m_Progress is always double. Fixes restoring of
windows for me. Minimizing still doesn't animate here. :/

If someone sees the same problem, please let me know. There
also seems to be something fishy with the desktopgrid --
it's not showing windows on inactive desktops, sliding
animation and the grid-zoomout expose this.

svn path=/trunk/KDE/kdebase/workspace/; revision=804806
2008-05-06 23:03:23 +00:00
Sebastian Kügler
d09306ae55 Improve API docs of the TimeLine class.
CCMAIL: ubuntu@martin-graesslin.com

svn path=/trunk/KDE/kdebase/workspace/; revision=803464
2008-05-02 23:29:56 +00:00
Sebastian Kügler
b953f0a046 Introduce TimeLine, a class providing non-linear animation patterns
to KWin effects.

The class basically wraps QTimeLine right now, but it's easy to pop
in function implementing different animation timeline patterns.

Patches to the first effects using this TimeLine are coming up ...

svn path=/trunk/KDE/kdebase/workspace/; revision=798719
2008-04-18 23:57:05 +00:00
Luboš Luňák
75623e889a Documentation for window types functions.
svn path=/trunk/KDE/kdebase/workspace/; revision=784766
2008-03-12 10:46:41 +00:00
Rivo Laks
3f581b4d0c Add a method to subdivide the window into regular grid.
Will be used by wobbly windows effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=781469
2008-03-02 22:28:50 +00:00
Laurent Montel
b844bcae41 Fix compile (need to export it)
svn path=/trunk/KDE/kdebase/workspace/; revision=779292
2008-02-25 19:53:43 +00:00
Luboš Luňák
cff2b0e6cd Abstract paint clipping into PaintClipper helper class that allows
stacking of clipping regions.
(http://lists.kde.org/?l=kwin&m=120138051215450&w=2)
BUG: 156798


svn path=/trunk/KDE/kdebase/workspace/; revision=779045
2008-02-25 11:32:21 +00:00
Rivo Laks
5b38737dee Add apidox for kwineffects group, showing the necessary steps for
adding a new effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=767202
2008-01-27 14:43:05 +00:00
Luboš Luňák
3c3b5f4b2d Split kdecoration and kwineffects libraries as two modules for doxygen.
svn path=/trunk/KDE/kdebase/workspace/; revision=762274
2008-01-16 18:13:24 +00:00
Luboš Luňák
bc5acf8268 Shaped shadows are not implemented yet, so disable shadows completely
for shaped windows.


svn path=/trunk/KDE/kdebase/workspace/; revision=756795
2008-01-03 19:39:18 +00:00
Luboš Luňák
c708796804 findWindow()
svn path=/trunk/KDE/kdebase/workspace/; revision=755996
2008-01-02 15:37:46 +00:00
Luboš Luňák
82ad4e01ce Report old buttons and modifiers state in mouseChanged() as well.
svn path=/trunk/KDE/kdebase/workspace/; revision=755995
2008-01-02 15:34:12 +00:00
Luboš Luňák
0bbc0fa5dc Support for getting PropertyNotify events - effects can have their
own properties for communication with something outside of kwin.
Intended now mainly for a better taskbar thumbnails effect.


svn path=/trunk/KDE/kdebase/workspace/; revision=755991
2008-01-02 15:21:33 +00:00
Luboš Luňák
76c76f585d Don't apply DimInactive effect to override-redirect windows. Things
like popups should be short-lived and mostly for the active window anyway.
Possibly could be revisited in the future when support for window grouping
for unmanaged windows gets implemented too.
BUG: 154009


svn path=/trunk/KDE/kdebase/workspace/; revision=755987
2008-01-02 15:17:58 +00:00
Luboš Luňák
d43b34aa0b Remove old comments.
svn path=/trunk/KDE/kdebase/workspace/; revision=749629
2007-12-17 14:15:32 +00:00
Luboš Luňák
bb433ac40e No longer include config*.h files in installed headers.
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +00:00
Luboš Luňák
44cc93170d Add check for effect version to prevent loading of incompatible plugins.
Should work automagically, not changes in plugins needed.


svn path=/trunk/KDE/kdebase/workspace/; revision=749626
2007-12-17 14:10:21 +00:00
Rivo Laks
bd19b6dc45 Add EffectWindow::shape()
svn path=/trunk/KDE/kdebase/workspace/; revision=746064
2007-12-07 18:03:24 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Rivo Laks
85961ce0a3 Add KWin::GlobalShortcutsEditor which is a KShortcutsEditor that only edits global shortcuts.
This allows shortcut editor widgets to be added in Designer (for 4.1 KShortcutsEditor should
  probably get setActionTypes() method so that it needn't be set in it's ctor).

  libkwineffects also links to kdeui now, I hope it's ok since it linked to QtGUI and kdecore already anyway.

svn path=/trunk/KDE/kdebase/workspace/; revision=740954
2007-11-24 13:43:52 +00:00
Luboš Luňák
c1ed1edb52 Proper support for active xinerama screen in effects.
BUG: 152552 


svn path=/trunk/KDE/kdebase/workspace/; revision=739248
2007-11-20 18:58:30 +00:00
Luboš Luňák
ceb07f1c5c -Woverloaded-virtual
svn path=/trunk/KDE/kdebase/workspace/; revision=739149
2007-11-20 16:19:06 +00:00
Luboš Luňák
d18e4933a0 Make DesktopGrid useful also from keyboard.
svn path=/trunk/KDE/kdebase/workspace/; revision=739147
2007-11-20 16:17:08 +00:00
Rivo Laks
0ac3b393b1 Add some apidocs.
Lots more are still needed but it's a start.

svn path=/trunk/KDE/kdebase/workspace/; revision=737896
2007-11-17 10:20:19 +00:00
Luboš Luňák
bc6a084894 Let effects access window role as well.
svn path=/trunk/KDE/kdebase/workspace/; revision=736266
2007-11-13 19:59:53 +00:00
Rivo Laks
a2801f1ba1 Add #define with KWin effects API version so that 3rd party effects can check for compatibility
svn path=/trunk/KDE/kdebase/workspace/; revision=736187
2007-11-13 17:03:24 +00:00
Rivo Laks
bb9ff25ec4 Prevent multiple fullscreen effects from becoming active at the same time as discussed
on kwin ml

svn path=/trunk/KDE/kdebase/workspace/; revision=731717
2007-11-01 17:47:41 +00:00
Pino Toscano
54289af3ea #include fixup
svn path=/trunk/KDE/kdebase/workspace/; revision=722244
2007-10-07 00:08:11 +00:00
Rivo Laks
7ad70d9c83 Fix compilation
svn path=/trunk/KDE/kdebase/workspace/; revision=714831
2007-09-20 18:06:36 +00:00
Bernhard Loos
4ff6a33526 fix the effect kcm for kwin
(port it to KPluginFactory)

svn path=/trunk/KDE/kdebase/workspace/; revision=714825
2007-09-20 17:48:27 +00:00
Luboš Luňák
e6069e9cf6 Arghl. Again a stupid bug caused by float having poor precision.
Reverting r700026 and changing floats to doubles again. I'd probably like
to change even the ones interfacing with OpenGL which I've left for now.


svn path=/trunk/KDE/kdebase/workspace/; revision=707987
2007-09-03 15:00:43 +00:00
Rivo Laks
d618ba8d23 Turn paintText() into two generic methods: one just paints the text, the other also paints
background. Move the methods into kwineffects.*

svn path=/trunk/KDE/kdebase/workspace/; revision=707699
2007-09-02 18:20:36 +00:00
Arto Hytönen
b494cddaa9 includes, include guards and typos fixed
svn path=/trunk/KDE/kdebase/workspace/; revision=705066
2007-08-27 04:31:52 +00:00
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
Aaron J. Seigo
b9c69f425b various ebn fixes (markup, uninling, QString())
svn path=/trunk/KDE/kdebase/workspace/; revision=692765
2007-07-26 07:51:16 +00:00
Luboš Luňák
56eeb84acc More checks that quads are split only in pre-paint and transformed
only in paint.


svn path=/trunk/KDE/kdebase/workspace/; revision=689945
2007-07-19 16:11:27 +00:00
Luboš Luňák
023ebc47b1 Implement smoothNeeded() - window quads need smoothing if width or height
of some of them has changed.


svn path=/trunk/KDE/kdebase/workspace/; revision=689942
2007-07-19 15:55:04 +00:00
Luboš Luňák
dbade7f1a4 No public texture coordinates.
svn path=/trunk/KDE/kdebase/workspace/; revision=689926
2007-07-19 14:56:25 +00:00
Luboš Luňák
4dd8d34c8f Don't make texture coordinates in WindowVertex public at all,
the meaning may possibly change in the future if more than one texture
is used. Instead store original coordinates.


svn path=/trunk/KDE/kdebase/workspace/; revision=689918
2007-07-19 14:35:55 +00:00
Rivo Laks
7273d0ddb5 Add setTransformed() helper method
svn path=/trunk/KDE/kdebase/workspace/; revision=689913
2007-07-19 14:05:59 +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
e1c5f18414 Separate rendering for decoration and window contents, they can have
different opacity (opacity only for decoration option).


svn path=/trunk/KDE/kdebase/workspace/; revision=689855
2007-07-19 10:07:49 +00:00
Luboš Luňák
b7ae1af212 Pedantic.
svn path=/trunk/KDE/kdebase/workspace/; revision=689597
2007-07-18 16:42:21 +00:00
Luboš Luňák
c29c66832d Make quads carry information about whether the quad is part
of decoration or the actual window contents.


svn path=/trunk/KDE/kdebase/workspace/; revision=689554
2007-07-18 15:01:59 +00:00
Pino Toscano
d7b200945d use QtModule/QFoo includes
svn path=/trunk/KDE/kdebase/workspace/; revision=687987
2007-07-14 23:26:49 +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
e9cb72087f Add 2 static helper methods to EffectHandler:
One calls reloadEffect() over dbus to reload given effect (to be used in config modules).
The second one returns KConfigGroup for given effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=669435
2007-05-29 11:46:12 +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