Commit graph

74 commits

Author SHA1 Message Date
Luboš Luňák
6bf23a5c48 Convert to plugins (and make it a test, since it's more or less useless).
svn path=/branches/work/kwin_composite/; revision=652928
2007-04-12 10:16:02 +00:00
Luboš Luňák
74e97a2c9b Convert to plugins.
svn path=/branches/work/kwin_composite/; revision=652631
2007-04-11 15:53:32 +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
Luboš Luňák
f285fe4af8 Properly depend on opengl and/or xrender.
svn path=/branches/work/kwin_composite/; revision=652619
2007-04-11 15:31:14 +00:00
Luboš Luňák
8973e88245 Convert zoom and videorecord to plugins.
svn path=/branches/work/kwin_composite/; revision=652616
2007-04-11 15:22:36 +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
04a3787213 Non-inline functions should be in .cpp .
svn path=/branches/work/kwin_composite/; revision=652257
2007-04-10 14:53:13 +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
76eae77b57 Position fixes.
svn path=/branches/work/kwin_composite/; revision=651101
2007-04-06 14:51:55 +00:00
Luboš Luňák
c38dc5e099 Change the DesktopChangeSlideEffect so that the new desktop doesn't
always slide in from the top but from the position where it is
according to the desktop layout.


svn path=/branches/work/kwin_composite/; revision=651083
2007-04-06 13:46:29 +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
Philip Falkner
efa28b23f5 Don't crash when activating a window on another desktop.
svn path=/branches/work/kwin_composite/; revision=648171
2007-03-30 17:15:48 +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
Rivo Laks
9027b501c8 Interpolate between brightness changes when highlighting window under cursor.
svn path=/branches/work/kwin_composite/; revision=648132
2007-03-30 15:35:19 +00:00
Rivo Laks
64051d3cf8 Honor window transformations when drawing the shadow.
This makes the shadow effect play nice with e.g. MinimizeAnimation or Expose

svn path=/branches/work/kwin_composite/; revision=647821
2007-03-29 15:52:20 +00:00
Philip Falkner
574e562906 Some updates to the tabbox.
Provide a pair of methods, setCurrentClient() and setCurrentDesktop(),
to allow effects to select items in the tabbox without activating them.

Insulate effects from having to know the order of desktops, with
currentDesktopList().  DesktopMode and DesktopListMode should be
effectively identical as far as how effects work.

Some changes to how the tabbox refcounting is done, should work a little
better.  Other small cosmetic changes.

Update BoxSwitchEffect.


svn path=/branches/work/kwin_composite/; revision=647594
2007-03-28 20:29:45 +00:00
Rivo Laks
56a2a995d1 Add an effect to render live thumbnails of windows next to their taskbar entries when the cursor is
above the corresponding taskbar entry.
It's a "demo" effect because in the future the taskbar itself (or any other application) should be able to
  request a window's thumbnail to be rendered at a specified position. So once we'll support such
  functionality, the taskbar will replace this effect.

svn path=/branches/work/kwin_composite/; revision=647144
2007-03-27 14:26:30 +00:00
Rivo Laks
295477c4ad Try to load the data in prePaintWindow() instead of paintWindow() if it's not loaded yet.
This way we won't request the window to be painted when loading fails or has failed.
Also remove 2 lines of obsolete code.

svn path=/branches/work/kwin_composite/; revision=647139
2007-03-27 14:15:41 +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
Philip Falkner
aa6d8eabc5 Add GLTexture class. This is a convenient wrapper around managing an OpenGL texture, as well as loading an image into it. Includes support for loading from QImage, QPixmap, and a file. Defaults to a GL_TEXTURE_2D target, and will scale image if necessary.
Also add SceneOpenGL::Texture class, based on GLTexture.  Optimised for SceneOpenGL::Window, this adds support for loading from an X Pixmap, as well as taking advantage of texture_from_pixmap/shm when available.  Automatically detects what texture target should be used, so be sure to enableUnnormalizedTexCoords() before painting.

Make SceneOpenGL::Window, BoxSwitchEffect, and ExplosionEffect use the new classes.

svn path=/branches/work/kwin_composite/; revision=645125
2007-03-21 18:14:09 +00:00
Luboš Luňák
d09096a784 The window-burning-down effect (gee), except that there's no actual
flame, since I'm lame at graphics. Should be easy to add anyway.
Besides the apparent unusefulness this effect should be for testing
some new changes to the core.


svn path=/branches/work/kwin_composite/; revision=645111
2007-03-21 17:35:48 +00:00
Rivo Laks
d74c23ff17 Ctrl+F11 now does Expose effect with all window, including those on other desktops.
The downside is that sometimes it crashes when you want to activate a window in Expose mode. It seems
  to be some kind of memory problem, but I can't figure out what/where exactly, so I'd appreciate if
  someone took a look at it.

svn path=/branches/work/kwin_composite/; revision=645067
2007-03-21 16:24:28 +00:00
Luboš Luňák
61f99cf2f0 Ok, I couldn't resist - make the fragments also spin.
svn path=/branches/work/kwin_composite/; revision=644987
2007-03-21 13:28:35 +00:00
Luboš Luňák
b75f3dfeb0 Make the effect look better by adding certain randomness.
svn path=/branches/work/kwin_composite/; revision=644640
2007-03-20 16:28:23 +00:00
Rivo Laks
aae967c5f9 Make your windows explode!
Add ExplosionEffect which makes the windows blow up into small pieces when they're closed.
  In the future this could be used only when user kills (an unresponsive) window.

svn path=/branches/work/kwin_composite/; revision=643135
2007-03-16 13:02:47 +00:00
Luboš Luňák
5cabf743ae The official excuse for this effect is that I wanted to try
drawing a window several times.


svn path=/branches/work/kwin_composite/; revision=642577
2007-03-14 18:21:11 +00:00
Luboš Luňák
d4a58f4152 QMap -> QHash
svn path=/branches/work/kwin_composite/; revision=642532
2007-03-14 16:50:19 +00:00
Luboš Luňák
de8f39accf Hmm, I think I now understand this vertices stuff. Added a silly
effect that destroys a window by spliting it into many small pieces.


svn path=/branches/work/kwin_composite/; revision=642152
2007-03-13 13:42:01 +00:00
Luboš Luňák
52afddcaeb Don't unref a deleted window more than once.
svn path=/branches/work/kwin_composite/; revision=642067
2007-03-13 09:49:44 +00:00
Philip Falkner
1dc9715e45 Show effect even when only one option is available, like the default tabbox does.
svn path=/branches/work/kwin_composite/; revision=641579
2007-03-11 21:19:44 +00:00
Philip Falkner
04e488b0a7 Add XRender support to BoxSwitch.
This includes icon support for XRender.

svn path=/branches/work/kwin_composite/; revision=640729
2007-03-08 22:12:41 +00:00
Philip Falkner
6af1c36304 Actually add BoxSwitch effect.
svn path=/branches/work/kwin_composite/; revision=640631
2007-03-08 16:54:50 +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
29f9714a7e Capseo has moved.
svn path=/branches/work/kwin_composite/; revision=636916
2007-02-24 17:36:37 +00:00
Luboš Luňák
5f02d68fb9 FadeIn/FadeOut effects are succeeded by Fade.
CCMAIL: philip.falkner@gmail.com


svn path=/branches/work/kwin_composite/; revision=636634
2007-02-23 16:34:57 +00:00
Luboš Luňák
9dda6936a7 Ok, plugins will be GPL as well.
svn path=/branches/work/kwin_composite/; revision=636633
2007-02-23 16:32:15 +00:00
Luboš Luňák
6d16df2007 This one has to be GPL because of libcaptury.
svn path=/branches/work/kwin_composite/; revision=636626
2007-02-23 16:26:20 +00:00
Luboš Luňák
0498cd7785 Add VideoRecordEffect for saving video captures.
Requires external lib to compile, see the videorecord.cpp .


svn path=/branches/work/kwin_composite/; revision=636625
2007-02-23 16:20:22 +00:00
Philip Falkner
8299541652 Add build checks for XComposite, XDamage, XRender, OpenGL, and XShm.
KWin should now build and run with/without any or all of the above.

svn path=/branches/work/kwin_composite/; revision=633387
2007-02-13 23:28:36 +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
4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00
Philip Falkner
2fdc57ccd6 Fade effect. Unified version of FadeIn and FadeOut; also fades on window opacity changes.
The fade_in_speed and fade_out_speed settings work like they did in kompmgr, but aren't currently configurable.

svn path=/branches/work/kwin_composite/; revision=632583
2007-02-11 17:41:21 +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
Philip Falkner
949aa1a778 Add PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS flag, to be called by effects in prePaintScreen(). Indicates that some window(s) may have transformed geometry, so the whole screen should be repainted.
svn path=/branches/work/kwin_composite/; revision=632580
2007-02-11 17:35:10 +00:00
Luboš Luňák
0a9e366038 Just use findModal().
svn path=/branches/work/kwin_composite/; revision=632379
2007-02-10 21:55:31 +00:00
Dirk Mueller
6c224134db porting simplifications regarding KConfig::readEntry
svn path=/branches/work/kwin_composite/; revision=632199
2007-02-10 09:12:35 +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