Commit graph

24 commits

Author SHA1 Message Date
Martin Gräßlin
876b427dfb Fix some C++11 narrowing conversation warnings
Thanks to Jurica Vukadin for providing the patch.

REVIEW: 106994
2012-11-26 10:27:02 +01:00
Martin Gräßlin
6d2dfe06e7 Introduce dedicated OpenGL1 and OpenGL2 compositing types
The CompositingType enum turns into flags and two new values are
introduced: OpenGL1Compositing and OpenGL2Compositing.

Those new values are or-ed to OpenGLCompositing so that a simple check
for the flag OpenGLCompositing works in case of one of those two new
values. To make the generic check for OpenGL compositing easier a method
in EffectsHandler is introduced to just check for this.

The scenes now return either OpenGL1Compositing or OpenGL2Compositing
depending on which Scene implementation. None returns OpenGLCompositing.
2012-09-29 15:33:57 +02:00
Bernhard Friedreich
968d10c14a Use KConfigXT in Wobblywindows effect
REVIEW: 106389
2012-09-14 10:39:28 +02:00
Martin Gräßlin
812c310dcf Fix unused variable warnings
SVN_SILENT
2012-05-27 16:35:04 +02:00
Thomas Lübking
766bc27940 tag window being moved before dropping out of QuickTile/Max and omit wobble if window being moved during maximization change
BUG: 222102
REVIEW: 104841
FIXED-IN: 4.9
2012-05-03 18:54:30 +02:00
Martin Gräßlin
2007a7eab8 Use namespaced parameters in signals
Required to get scripting bindings working.
2012-03-12 21:37:40 +01:00
Philipp Knechtges
ba39d1f917 kwin:remove PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_WITHOUT_FULL_REPAINTS
paintSimpleScreen can handle the affected effects now.

REVIEW: 103827
2012-02-09 14:52:25 +01:00
Martin Gräßlin
fe4329a252 Only call active effects in the effect chain
Each effect is able to declare itself as currently being active,
that is transforming windows or painting or screen or doing anything
during the current rendered frame.

This change eliminates the hottest path inside KWin identified by
callgrind.

REVIEW: 102449
2011-08-29 07:06:58 +02:00
Philipp Knechtges
5e22d3912b kwin: fixes graphical glitches in the wobblywindows effect
Before this patch, the damaged area had been underestimated.
2011-05-20 21:57:28 +02:00
Martin Gräßlin
32c903b05b Rework signals for move/resize windows
First a signal is emitted when the user starts a move/resize operation.
During the move/resize operation each geometry change emits an update signal.
Last but not least a finish signal is emitted.

This eliminates the specific method for geometry updates in drawbound resize
mode.
2011-03-13 12:41:30 +01:00
Martin Gräßlin
909a678e13 New signal for maximize state changed
The signal includes the state for horizontal and vertical maximize state.
It would be better to use the enum fro, KDecorationDefines but we don't want
to depend on decorations library.

Wobbly windows is adjusted to use this new signal - it is the only effect
interested in maximize state change.
2011-03-13 11:00:10 +01:00
Martin Gräßlin
eeb10c69d5 Signal for windowUserMovedResize
In core a new signal is added for maximizedState change of client.
Other function calls remain as direct calls for the moment.
2011-02-28 21:03:13 +01:00
Martin Gräßlin
0b85768ec5 EffectsHandler emits windowClosed signal
Client and Unmanaged use a signal to notify that they are about to be closed.
The EffectsHandlerImpl is connected to those signals and emits the appropriate
windowClosed signal to which the effects are connected.
2011-02-27 09:25:45 +01:00
Martin Gräßlin
ab6f2ba1fd EffectsHandler emits windowAdded signal
All previously existing windowAdded methods are renamed to slotWindowAdded.
EffectsHandlerImpl is connected to Workspace's clientAdded signal, which is
emitted a little bit earlier than the previous direct method call. This might
change behavior.
Another signal is added to Workspace to signal that an unmanaged is added.
2011-02-25 22:06:02 +01:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin
f01b906c52 Wobbly only repaints changed regions instead of full repaints all the time.
This has artefact potential. So if someone sees artefacts after this commit, please let me know.

svn path=/trunk/KDE/kdebase/workspace/; revision=1159203
2010-08-04 18:19:01 +00:00
Martin Gräßlin
f5fde6c8d2 Don't wobbly when another effect is handling opening/closing of windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=1159181
2010-08-04 16:59:55 +00:00
Martin Gräßlin
6339148ecb Renaming datas to data and datas_pointer to data_pointer.
Thanks to kdevelop's great refactoring support fixing 50 Krazy spelling issues becomes trivial.
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1028191
2009-09-26 07:50:04 +00:00
Toby Dickenson
23f82767c8 Constrain the middle of a window following a step-change (such as maximize or restore) so that any simulation asymetry will not cause the window to drift off-center. This previously led to problems with the wobblyness set to maximum. BUG: 198559
svn path=/trunk/KDE/kdebase/workspace/; revision=1015535
2009-08-25 19:36:52 +00:00
Martin Gräßlin
a305bb915f Ensure there is another repaint when wobbly windows ends.
BUG: 201244

svn path=/trunk/KDE/kdebase/workspace/; revision=1004451
2009-07-30 08:14:08 +00:00
Toby Dickenson
0c166b6ecb call the windowUserMovedResized hook for maximize/restore. That method has two boolean parameters which indicate whether this is the first move in a sequence, and the last. For maximize/restore we set both to true, and several effects need tweaking to handle this case. Also include an addition to the wobbly windows effect to include a slight 'throb' when maximized/restored. This makes it easier for your eye to track where your de-maxized window went to. FEATURE 185014
svn path=/trunk/KDE/kdebase/workspace/; revision=934346
2009-03-02 20:18:35 +00:00
Lucas Murray
3f5a338234 Prevent wobbly windows from being enabled while in XRender mode.
svn path=/trunk/KDE/kdebase/workspace/; revision=926396
2009-02-15 10:34:46 +00:00
Toby Dickenson
b1e7b937a0 A better wobbly window effect for resizing. Extra spatial constraints for edges that have not moved, so that only the edges/corners being moved will wobble.
svn path=/trunk/KDE/kdebase/workspace/; revision=926269
2009-02-14 22:42:09 +00:00
Lucas Murray
846496d2c1 Cleaned up the effects/ directory by moving each individual effect into
its own directory, cleaned up the effect config macros and renamed
"MakeTransparent" to "Translucency" so that it matches its visible name.

svn path=/trunk/KDE/kdebase/workspace/; revision=921749
2009-02-05 15:35:38 +00:00
Renamed from effects/wobblywindows.cpp (Browse further)