Commit graph

57 commits

Author SHA1 Message Date
Luboš Luňák
d0c1f5dd62 Disable shadow with effects that transform windows, such as wobbly,
since shadow currently can't handle that.
CCBUG: 161330


svn path=/trunk/KDE/kdebase/workspace/; revision=862309
2008-09-18 15:26:17 +00:00
Luboš Luňák
2a87593638 Add a global configuration option for animation speed. See description
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
2008-08-30 07:25:54 +00:00
Luboš Luňák
8e5f95a9d6 Make a more explicit distinction between using normalized and non-normalized
texture coordinates - it cost me hours to find out why something was misdrawing :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=854546
2008-08-29 18:54:28 +00:00
Lucas Murray
00c95be210 Added text alignment support to paintText() functions
svn path=/trunk/KDE/kdebase/workspace/; revision=842497
2008-08-05 12:26:16 +00:00
Martin Gräßlin
cb4ed769aa Change from orthographic projection to a perspective projection. This allows to change z-values and rotations.
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
2008-08-04 14:07:45 +00:00
Charles Samuels
258b8817a7 BUG: 166795
Assert fail with cube plugin

svn path=/trunk/KDE/kdebase/workspace/; revision=837891
2008-07-25 23:12:19 +00:00
Dirk Mueller
d46ff1342f fix link lines
svn path=/trunk/KDE/kdebase/workspace/; revision=829218
2008-07-07 20:56:56 +00:00
Luboš Luňák
8e936add92 assert( false ) -> abort(), to avoid no-return-value warning with NDEBUG
svn path=/trunk/KDE/kdebase/workspace/; revision=825094
2008-06-27 12:06:29 +00:00
Luboš Luňák
0ce86291c5 Some missing XRender counterparts for utility functions, from Thomas Lübking.
svn path=/trunk/KDE/kdebase/workspace/; revision=817548
2008-06-06 09:11:52 +00:00
Urs Wolfer
2876bf7217 add missing KWIN_HAVE_OPENGL_COMPOSITING check
BUG:162466

svn path=/trunk/KDE/kdebase/workspace/; revision=811956
2008-05-24 08:24:48 +00:00
Luboš Luňák
62d2631422 EffectsHandler::saturationSupported(), so that this is not OpenGL-only call.
svn path=/trunk/KDE/kdebase/workspace/; revision=805574
2008-05-08 19:06:28 +00:00
Luboš Luňák
602244e3a5 Use a convenience XRenderPicture constructor instead of hardcoding
XRender Formats.


svn path=/trunk/KDE/kdebase/workspace/; revision=805361
2008-05-08 10:08:10 +00:00
Luboš Luňák
5efac21537 XRenderPicture, a wrapper around XRender's Picture, which
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
2008-05-07 14:43:13 +00:00
Sebastian Kügler
cac8ff3072 Make sure m_Progress is always double. Fixes restoring of
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
2008-05-06 23:03:23 +00:00
Sebastian Kügler
cc11082706 Keep internal time and progress accounting in sync. Spotted
by Martin Graesslin.

BUG: 161434
CCMAIL: ubuntu@martin-graesslin.com

svn path=/trunk/KDE/kdebase/workspace/; revision=803465
2008-05-02 23:30:17 +00:00
Sebastian Kügler
b953f0a046 Introduce TimeLine, a class providing non-linear animation patterns
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
2008-04-18 23:57:05 +00:00
Luboš Luňák
d8a3602e45 Add assert().
svn path=/trunk/KDE/kdebase/workspace/; revision=782273
2008-03-04 18:29:17 +00:00
Luboš Luňák
0b1cef2414 Do #define's properly for XRender.
svn path=/trunk/KDE/kdebase/workspace/; revision=781906
2008-03-03 21:12:48 +00:00
Rivo Laks
3f581b4d0c Add a method to subdivide the window into regular grid.
Will be used by wobbly windows effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=781469
2008-03-02 22:28:50 +00:00
Adriaan de Groot
e8e15bddb9 Need Xfixes.h for XFixesCreateRegion(), regardless of whether Xrender is available.
svn path=/trunk/KDE/kdebase/workspace/; revision=780234
2008-02-28 13:15:39 +00:00
Luboš Luňák
cff2b0e6cd Abstract paint clipping into PaintClipper helper class that allows
stacking of clipping regions.
(http://lists.kde.org/?l=kwin&m=120138051215450&w=2)
BUG: 156798


svn path=/trunk/KDE/kdebase/workspace/; revision=779045
2008-02-25 11:32:21 +00:00
Luboš Luňák
f97bd45da9 Redo checks for KWIN_HAVE(_XXX)_COMPOSITING again, in order
to have it the same also in makefiles.


svn path=/trunk/KDE/kdebase/workspace/; revision=756678
2008-01-03 15:22:19 +00:00
Luboš Luňák
82ad4e01ce Report old buttons and modifiers state in mouseChanged() as well.
svn path=/trunk/KDE/kdebase/workspace/; revision=755995
2008-01-02 15:34:12 +00:00
Luboš Luňák
0bbc0fa5dc Support for getting PropertyNotify events - effects can have their
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
2008-01-02 15:21:33 +00:00
Luboš Luňák
bb433ac40e No longer include config*.h files in installed headers.
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
2007-12-17 14:14:53 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
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
2007-11-27 19:40:25 +00:00
Rivo Laks
85961ce0a3 Add KWin::GlobalShortcutsEditor which is a KShortcutsEditor that only edits global shortcuts.
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
2007-11-24 13:43:52 +00:00
Oswald Buddenhagen
aff1787ff9 KConfig* API overhaul. only cosmetics, so don't panic.
KConfigBase:
- remove separator argument from list entry reading/writing functions
- introduce {read,write}XdgListEntry()
- kill readPathListEntry(), add readPathEntry() overload
  instead. the default value is not optional any more, as it defines the
  return type. this is consistent with the readEntry() functions.
- rename clean() => markAsClean(), remove rollback()
- rename ConfigState => AccessMode, getConfigState() => accessMode()
- rename {entry,group}IsImmutable() => is{Entry,Group}Immutable()
- remove NLS alias to Localized

KConfig:
- remove setGroup() & group()
- reshuffle OpenFlag enum, introduce NoCascade for symmetry
- remove setExtraConfigFiles() alias to addConfigSources()

KConfigGroup:
- inherit KConfigBase::deleteGroup() overloads
- make convertToQVariant() private, it will probably change somehow

- KConfig & KConfigGroup: deprecate entryMap()
- remove bogus declarations: KConfigGroup::setReadDefaults(),
  KConfig::readEntryUntranslated()
- apidox
- reshuffle the declarations in the headers


svn path=/trunk/KDE/kdebase/workspace/; revision=728852
2007-10-24 13:08:37 +00:00
Andreas Pakulat
39e322fc83 Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.

svn path=/trunk/KDE/kdebase/workspace/; revision=721704
2007-10-05 22:21:25 +00:00
Luboš Luňák
e6069e9cf6 Arghl. Again a stupid bug caused by float having poor precision.
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
2007-09-03 15:00:43 +00:00
Rivo Laks
d618ba8d23 Turn paintText() into two generic methods: one just paints the text, the other also paints
background. Move the methods into kwineffects.*

svn path=/trunk/KDE/kdebase/workspace/; revision=707699
2007-09-02 18:20:36 +00:00
Luboš Luňák
d846a1e8a9 Use always float as the floating point type for compositing
(http://lists.kde.org/?l=kwin&m=118493073424327&w=2).


svn path=/trunk/KDE/kdebase/workspace/; revision=700026
2007-08-14 15:22:23 +00:00
Luboš Luňák
5a50381e1f Move the shader used for painting to WindowPaintData, as it's
more related to one painting than to a window.


svn path=/trunk/KDE/kdebase/workspace/; revision=698576
2007-08-10 11:26:58 +00:00
Luboš Luňák
30eb55863c Make WindowPaintData ctor require an EffectWindow argument,
which is used to fill it in. Makes thumbnails work again.


svn path=/trunk/KDE/kdebase/workspace/; revision=697961
2007-08-08 14:42:06 +00:00
Laurent Montel
994c800d79 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Aaron J. Seigo
b9c69f425b various ebn fixes (markup, uninling, QString())
svn path=/trunk/KDE/kdebase/workspace/; revision=692765
2007-07-26 07:51:16 +00:00
Luboš Luňák
56eeb84acc More checks that quads are split only in pre-paint and transformed
only in paint.


svn path=/trunk/KDE/kdebase/workspace/; revision=689945
2007-07-19 16:11:27 +00:00
Luboš Luňák
023ebc47b1 Implement smoothNeeded() - window quads need smoothing if width or height
of some of them has changed.


svn path=/trunk/KDE/kdebase/workspace/; revision=689942
2007-07-19 15:55:04 +00:00
Luboš Luňák
dbade7f1a4 No public texture coordinates.
svn path=/trunk/KDE/kdebase/workspace/; revision=689926
2007-07-19 14:56:25 +00:00
Luboš Luňák
9400def76b Set also original position when making a copy of a quad.
svn path=/trunk/KDE/kdebase/workspace/; revision=689924
2007-07-19 14:53:37 +00:00
Luboš Luňák
4dd8d34c8f Don't make texture coordinates in WindowVertex public at all,
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
2007-07-19 14:35:55 +00:00
Rivo Laks
7273d0ddb5 Add setTransformed() helper method
svn path=/trunk/KDE/kdebase/workspace/; revision=689913
2007-07-19 14:05:59 +00:00
Luboš Luňák
96aba51960 Add a helper to turn on transparency in pre-paint calls.
svn path=/trunk/KDE/kdebase/workspace/; revision=689910
2007-07-19 13:32:46 +00:00
Luboš Luňák
e1c5f18414 Separate rendering for decoration and window contents, they can have
different opacity (opacity only for decoration option).


svn path=/trunk/KDE/kdebase/workspace/; revision=689855
2007-07-19 10:07:49 +00:00
Luboš Luňák
c29c66832d Make quads carry information about whether the quad is part
of decoration or the actual window contents.


svn path=/trunk/KDE/kdebase/workspace/; revision=689554
2007-07-18 15:01:59 +00:00
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
2007-07-07 14:01:32 +00:00
Laurent Montel
ab2fa82d7c Fix include
svn path=/trunk/KDE/kdebase/workspace/; revision=675269
2007-06-13 21:26:08 +00:00
Rivo Laks
e9cb72087f Add 2 static helper methods to EffectHandler:
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
2007-05-29 11:46:12 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
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
2007-04-29 17:34:49 +00:00