Added force mode to buildQuads() to allow refreshing the cache.
Made EffectWindow::buildQuads() no longer internal.
svn path=/trunk/KDE/kdebase/workspace/; revision=872836
WARNING: Breaks shadow effect. I don't think it causes anything to crash anymore but it is VERY ugly visually.
Contains:
- New decoration API that allows decorations to change the way shadows look.
- Shadows now wobble.
- API example code in the Oxygen decoration.
- Added buildQuads() effect plugin hook.
- Work on the shadow effect to use the new decoration shadow API as well.
- Added IDs to WindowQuads.
- Added public accessors to texture coords in WindowVertex.
Would like all this to be reviewed.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=872473
Fixed bug in present windows when if there is only one window on a Xinerama screen it is zoomed into nothingness when using the natural layout.
CCBUG: 171812
svn path=/trunk/KDE/kdebase/workspace/; revision=865798
classes are intended to be used to help effect authors move windows across
the screen smoothly and naturally.
Although not 100% complete the classes can be used for 2D operations in its
current state, an example of which is the included present windows update.
These classes can be expanded upon when the new modifiers are required.
I would like a generic, template-based motion manager class that can be used
for non-window objects as well as another 3D-enabled manager to be available
sometime in the future.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=863561
of Effect::animationTime() for how-to-use.
TODO: Effects need to reload config after doing the change in the kcm.
NOTE: Default TimeLine constructor now creates invalid object, it is
necessary to explicitly call setDuration() in order to ensure all
animations respect this setting.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=854690
Therefore zScale, zTranslate and new RotationData are added to ScreenPaintData and WindowPaintData. So it is possible to define zTranslation and rotations without using OpenGL directly. The change only affects OpenGL compositing. XRender is not changed.
svn path=/trunk/KDE/kdebase/workspace/; revision=842018
should act just like Picture, except for proper initialization
and resource freeing (i.e. it's sane and easy from C++ point of view).
svn path=/trunk/KDE/kdebase/workspace/; revision=805085
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
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
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
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
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
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
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
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
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
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
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
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
without kwin4_effect_ prefix, so change the name in those macros to lowercase.
Some modifications to the macros themselves as well.
Effect loading via dcop might work again now.
svn path=/trunk/KDE/kdebase/workspace/; revision=669033
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
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