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
19 years ago
Philip Falkner
c2ff6a4d7a
Make sure to unbind the texture in tfp_mode when the underlying pixmap
...
is discarded. Windows that have previously been mapped and unmapped now
update properly when mapped again.
svn path=/trunk/KDE/kdebase/workspace/; revision=683977
19 years ago
Luboš Luňák
1caa3f95ed
Properly check for all needed extensions and handle gracefully absence.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=669827
19 years ago
Harri Porten
1768b04b53
compile without Xfixes extension
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661762
19 years ago
Luboš Luňák
f52b8e48cd
branches/work/kwin_composite becomes new trunk kwin.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
19 years ago
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
19 years ago
Luboš Luňák
e3b865cd5f
namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
...
svn path=/branches/work/kwin_composite/; revision=650770
19 years ago
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
19 years ago
Luboš Luňák
da02ba11ca
Scene*::Window classes are now too complex to be value-based,
...
allocate them dynamically.
svn path=/branches/work/kwin_composite/; revision=645046
19 years ago
Luboš Luňák
d4a58f4152
QMap -> QHash
...
svn path=/branches/work/kwin_composite/; revision=642532
19 years ago
Luboš Luňák
e61ecff9b9
Check that getting compositing pixmap of a window succeeded.
...
It may fail (or "fail") if the window is not mapped or if the geometry
doesn't match, both of which may happen due to the asynchronous
nature of X.
svn path=/branches/work/kwin_composite/; revision=637741
19 years ago
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
19 years ago
Philip Falkner
f060c3bfbb
Improved filtering algorithm. Now fast filtering is used by default, while (depending on SmoothScale in kwinrc) bilinear filtering is used on transformed windows and screens.
...
Optionally, if SmoothScale is set to 2, trilinear filtering will be attempted instead of bilinear. This requires GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object, and valid mipmaps.
svn path=/branches/work/kwin_composite/; revision=629453
19 years ago
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
19 years ago
Luboš Luňák
904fd1e3d0
Match handling of PAINT_WINDOW_DISABLED.
...
svn path=/branches/work/kwin_composite/; revision=629154
19 years ago
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
19 years ago
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
19 years ago
Luboš Luňák
8a3af8dcca
X.org docs have moved again.
...
svn path=/branches/work/kwin_composite/; revision=623807
19 years ago
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
19 years ago
Luboš Luňák
f4211bbe2f
I love C APIs.
...
svn path=/branches/work/kwin_composite/; revision=610616
20 years ago
Luboš Luňák
f1be2aa724
Optimize XRender painting by manually doing clipping, even with transformations.
...
Since it's unlikely XRender code will use other transformations then the ones
provided this should be ok. Makes painting with obscured windows much faster
(i.e. it's just slow, not bloody slow).
svn path=/branches/work/kwin_composite/; revision=610613
20 years ago
Luboš Luňák
4607cab829
Config option for whether zooming should be smooth or fast.
...
svn path=/branches/work/kwin_composite/; revision=610138
20 years ago
Luboš Luňák
a643ff2b00
Try to use XComposite overlay also with XRender.
...
svn path=/branches/work/kwin_composite/; revision=610137
20 years ago
Luboš Luňák
a03b796335
Screen scaling.
...
svn path=/branches/work/kwin_composite/; revision=610135
20 years ago
Luboš Luňák
6bf5d12108
Zoom effect, i.e. magnifying glass. The zoom is hardcoded
...
for now.
svn path=/branches/work/kwin_composite/; revision=610134
20 years ago
Luboš Luňák
db18481380
XRender window scaling, based on a patch by Philip Falkner.
...
svn path=/branches/work/kwin_composite/; revision=610133
20 years ago
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
20 years ago
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
20 years ago
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
20 years ago
Luboš Luňák
3f9b754ee7
Add post-painting pass to be used for triggering
...
repaints with animations.
svn path=/branches/work/kwin_composite/; revision=600156
20 years ago
Luboš Luňák
548eb09a74
Move shared code to base class.
...
svn path=/branches/work/kwin_composite/; revision=598752
20 years ago
Luboš Luňák
1d7b94acfc
Basic window transformations.
...
svn path=/branches/work/kwin_composite/; revision=597997
20 years ago
Luboš Luňák
779597a648
Basic screen transformation.
...
svn path=/branches/work/kwin_composite/; revision=597815
20 years ago
Luboš Luňák
ddab4e0d2c
Move functionality to the base Scene class.
...
svn path=/branches/work/kwin_composite/; revision=596186
20 years ago
Luboš Luňák
caed149f40
Add pre-paint passes that will allow finding out how the painting will be done.
...
svn path=/branches/work/kwin_composite/; revision=596109
20 years ago
Luboš Luňák
338adc9ad5
Throw away old code for effects and start anew.
...
svn path=/branches/work/kwin_composite/; revision=595965
20 years ago
Luboš Luňák
d547cf8cd4
Move duplicated functionality to the base class.
...
svn path=/branches/work/kwin_composite/; revision=595639
20 years ago
Luboš Luňák
a3538cd80a
Use QRegion as much as possible to get even closer to the opengl code.
...
svn path=/branches/work/kwin_composite/; revision=595627
20 years ago
Luboš Luňák
c7584b3bf8
Change xrender code to match the opengl code.
...
Also dump the support for the current effect code, as that will
have to go anyway.
svn path=/branches/work/kwin_composite/; revision=595579
20 years ago
Luboš Luňák
d44a4a3676
Fix ARGB windows with decorations for XRender as well.
...
svn path=/branches/work/kwin_composite/; revision=593454
20 years ago
Luboš Luňák
b168c35384
Don't cache window pixmap, it's used only after it
...
changes.
svn path=/branches/work/kwin_composite/; revision=593453
20 years ago
Luboš Luňák
4d7a859bf3
No need to create special alpha mask when there's no opacity,
...
it defaults to the right mask.
svn path=/branches/work/kwin_composite/; revision=593452
20 years ago
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
20 years ago
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
20 years ago
Luboš Luňák
1c7e7bb2b7
Keeping scene-related data in opengl scene.
...
svn path=/branches/work/kwin_composite/; revision=590319
20 years ago
Luboš Luňák
fd5987dd45
Move some functions to the internal class to make the main code more
...
readable.
svn path=/branches/work/kwin_composite/; revision=561946
20 years ago
Luboš Luňák
6ca12726de
Oops.
...
svn path=/branches/work/kwin_composite/; revision=559206
20 years ago
Luboš Luňák
28e3726f2e
Basic transformations on the whole workspace.
...
svn path=/branches/work/kwin_composite/; revision=559204
20 years ago
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
20 years ago
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
20 years ago