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
anyway, so this is a workaround as long as there's no support for shadows for shaped windows.
BUG: 162697
svn path=/trunk/KDE/kdebase/workspace/; revision=817551
rate is expensive).
It optimizes shadow rendering a lot by eliminating tons of overdraw:
- Windows are not forced to be drawn bottom-to-top anymore.
- For opaque windows, shadows are drawn only to where they will actually be visible, not
under the whole window.
svn path=/trunk/KDE/kdebase/workspace/; revision=746296
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
that go into them. Saves quite a few memory reallocations in QVector.
Found by valgrind (via callgrind)
svn path=/trunk/KDE/kdebase/workspace/; revision=740992
and thus looks better.
Also change default shadow settings to look better with the new texture.
svn path=/trunk/KDE/kdebase/workspace/; revision=732038
Now each side of the window is surrounded by a bit the of shadow while it's still bigger
at the right side and the bottom.
svn path=/trunk/KDE/kdebase/workspace/; revision=718310
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
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
The default texture gives you nice rounded corners, but it can be changed to do something more fancy ;-)
- Fix a shadow transformation/rendering problem
svn path=/trunk/KDE/kdebase/workspace/; revision=683210
array when rendering.
- Rearrange some renderGLGeometry() parameters.
- Don't use opengl arrays and glDrawArrays() when rendering a small number of vertices since in this
case overhead of enabling/disabling the array is too big. Use immediate mode instead in such case.
svn path=/trunk/KDE/kdebase/workspace/; revision=675467
- Make use of the two EffectHandler helper methods: effect config modules now notify KWin that
corresponding effect should be reloaded when it's config is changed.
svn path=/trunk/KDE/kdebase/workspace/; revision=669436
You can configure shadow's offset and opacity and presentwindow's mouse activation areas
(e.g. activate when mouse it at top-right corner).
svn path=/trunk/KDE/kdebase/workspace/; revision=669040
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