Commit graph

220 commits

Author SHA1 Message Date
Hugo Pereira Da Costa
12bcd08871 do not fade separator when it is drawn for both active and inactive windows. 2011-11-08 19:01:02 +01:00
Hugo Pereira Da Costa
885e42142f Fixed glow animation for outlined windows. 2011-10-05 23:01:13 +02:00
Hugo Pereira Da Costa
066927ebfb More fine tuning of window borders in outline mode. 2011-10-05 19:56:00 +02:00
Hugo Pereira Da Costa
e8addb2596 Turn off antialiasing when rendering window outline borders.
CCBUG: 283398
2011-10-05 18:55:45 +02:00
Luboš Luňák
2f1bb4f4a3 do not access possibly deleted memory 2011-09-30 19:24:42 +02:00
Hugo Pereira Da Costa
f435f716b8 do not paint buttons (from parent) if hidden. 2011-09-23 15:46:29 +02:00
Hugo Pereira Da Costa
c9ed76be6f set bottom border to zero when shading windows. This makes buttons and title vertically
centered.
2011-09-22 22:28:24 +02:00
Hugo Pereira Da Costa
f931cd22f9 Use Client::layoutMetric to access shadowSize instead of shadowCache. This fixes some painting issues for maximized
windows.
2011-09-20 14:08:34 +02:00
Hugo Pereira Da Costa
01da5bb015 moved all button painting to client. 2011-09-19 15:16:43 +02:00
Montel Laurent
62c5a5e276 normalize signal/slots 2011-08-17 23:51:55 +02:00
Hugo Pereira Da Costa
c21122c863 added necessary options to configure all type of animations individually. 2011-07-18 07:36:44 +02:00
Hugo Pereira Da Costa
0ae4d9489f always enable window grouping, when available.
removed corresponding config option.
2011-07-17 16:12:30 +02:00
Hugo Pereira Da Costa
05fc073439 draw background overlay pixmap manually in preview. 2011-06-30 11:43:34 +02:00
Hugo Pereira Da Costa
dfcab17585 use backing store pixmap for buttons when compositing is not active.
Copy parent backgronud from backing store pixmap when rendering buttons.
2011-06-28 09:24:02 +02:00
Hugo Pereira Da Costa
8361b13de9 added double buffering to oxygen-client when compositing is off;
force update of buttons in client->paintEvent();
call _client->paint() from Button, instead of parentWidget()->render();
2011-06-28 01:27:58 +02:00
Hugo Pereira Da Costa
c7f87d49d7 Set padding to 0 when client is maximized.
CCBUG: 274177
2011-05-30 17:56:50 +02:00
Hugo Pereira Da Costa
8c7585e500 do not render shadows when maximized.
CCBUG: 274177
2011-05-30 16:51:25 +02:00
Hugo Pereira Da Costa
c5766a5e3a removed "shadowMode" option, since it has been obsoleted by kwin's new shadow system. 2011-05-01 11:52:22 +02:00
Hugo Pereira Da Costa
685d5b2a4b cleanup 2011-04-21 19:14:28 +02:00
Hugo Pereira Da Costa
5a29c0b21b added dedicated hint so that widget style can tell the decoration whether to
use a window pixmap or not.
2011-04-20 12:01:38 +02:00
Hugo Pereira Da Costa
d84f048b6a moved pixmap rendering to separate method.
It is called independently from window background in decoration code;
It is called together with window background in style.
2011-04-20 11:28:45 +02:00
Hugo Pereira Da Costa
77dd014d8a fixed horizontal positionning of background pixmap. 2011-04-20 10:57:40 +02:00
Hugo Pereira Da Costa
e213b3ca9f fix gradient positionning for maximized windows 2011-04-16 13:18:45 +02:00
Hugo Pereira Da Costa
275cf05184 make sure Shadow X11 property is not set on decorated windows, since it is handled by
the decoration itself (and therefore should not be by kwin).
2011-04-04 09:42:11 +02:00
Hugo Pereira Da Costa
0960942f4e cleanup variable names for consistency 2011-02-24 17:37:04 +01:00
Hugo Pereira Da Costa
488b3644d5 Changed handling of shadow overlap with window content
Oxygen::ShadowCache::shadowSize() now returns the shadow extend outside of the window body (the extend)
Overlab between the actual shadow pixmap and the window body is dealt with internally (by creating larger pixmaps)
This allows notably Oxygen::Client to not attempt to draw shadow when shadowSize == 0 (which was never the case
before)
2011-02-02 17:23:08 +01:00
Hugo Pereira Da Costa
92bea91686 - moved rendering of antialiased corners from Oxygen::ShadowCache to Oxygen::Client.
- simplified caching of ShadowCache accordingly. Notably, it should make it easier to pass the shadows to kwin.
- removed unnecessary QPainter::save()/restore() calls
- set painter AntiAliasing render hint earlier in Client::paintEvent
- modified drawing of drop target rect accordingly.
- oh. And fixed krazy warnings.

svn path=/trunk/KDE/kdebase/workspace/; revision=1217439
2011-01-27 09:40:48 +00:00
Hugo Pereira Da Costa
469ec8e686 Fixed logic for left/right bounding of titleRect.
svn path=/trunk/KDE/kdebase/workspace/; revision=1210067
2010-12-29 10:40:17 +00:00
Hugo Pereira Da Costa
a6425b78e2 properly set title position for "Center (Full Width)" configuration.
Simplified title centering logic.

svn path=/trunk/KDE/kdebase/workspace/; revision=1210060
2010-12-29 10:26:54 +00:00
Hugo Pereira Da Costa
e43eff9792 Added "Follow Style Hint" setting to the "fine tuning->background style" option
When selected, the decoration looks for a WM Hint set by the style, to decide whether or not it 
should draw a gradient in the background. 


svn path=/trunk/KDE/kdebase/workspace/; revision=1208665
2010-12-22 19:23:46 +00:00
Hugo Pereira Da Costa
796e7ff92a Properly account for window's shaded state, and number of clients in groups when deciding whether or
not the titlebar should be hidden. This is half the job, cause the above does not work (yet) when 
grouping windows among which one has hidden titlebar. Shading works well now, though.

CCBUG: 260815

svn path=/trunk/KDE/kdebase/workspace/; revision=1208187
2010-12-20 22:18:52 +00:00
Hugo Pereira Da Costa
1adaf8c8ea remove use of QWeakPointer for the itemAnimationData_ object as it is unnecessary: the object is never used outside of the class
and is a child of the client, deleted in the client destructor, by Qt.


svn path=/trunk/KDE/kdebase/workspace/; revision=1170328
2010-08-31 14:30:17 +00:00
Hugo Pereira Da Costa
6309ac1928 OxygenClient: remove use of QWeakPointer for the glowAnimation_ as it is unnecessary: the object is never used outside of the class
and is a child of the client, deleted in the client destructor, by Qt.

Client, Button: removed useless acessor to the glowAnimation pointer.

svn path=/trunk/KDE/kdebase/workspace/; revision=1170327
2010-08-31 14:24:01 +00:00
Hugo Pereira Da Costa
b8137a7671 Reverted r1170209
because it causes crash when playing with shade and maximize (likely due to a lower-level bug in kwin)

svn path=/trunk/KDE/kdebase/workspace/; revision=1170211
2010-08-31 05:44:19 +00:00
Hugo Pereira Da Costa
943154f255 Always set bottom border to zero when window is shaded. This ensures that window title and buttons are
centered vertically when shading windows.

svn path=/trunk/KDE/kdebase/workspace/; revision=1170209
2010-08-31 05:16:02 +00:00
Hugo Pereira Da Costa
2947ec516b - Simplified titleBar title color handling, moved to oxygenHelper, and cached.
- added some missing consts in Client.

svn path=/trunk/KDE/kdebase/workspace/; revision=1169247
2010-08-28 19:58:22 +00:00
Hugo Pereira Da Costa
18042bba95 removed all connections to QPropertyAnimation::valueChanged() and call relevant update in the 'setValue' method directly, instead
svn path=/trunk/KDE/kdebase/workspace/; revision=1168989
2010-08-28 02:52:26 +00:00
Hugo Pereira Da Costa
393e2b86bc Removed superfluous connections to animation 'finished' signal.
svn path=/trunk/KDE/kdebase/workspace/; revision=1168969
2010-08-28 02:02:50 +00:00
Hugo Pereira Da Costa
c709f1163f use QPoint instead of QPointF for rendering dots.
svn path=/trunk/KDE/kdebase/workspace/; revision=1168961
2010-08-28 01:01:59 +00:00
Hugo Pereira Da Costa
0f3a02e265 Fixed corner tileSet color in drawTitleOutline mode.
svn path=/trunk/KDE/kdebase/workspace/; revision=1168083
2010-08-26 03:05:10 +00:00
Hugo Pereira Da Costa
36073d738a constification (can't make any harm can it ?)
svn path=/trunk/KDE/kdebase/workspace/; revision=1155754
2010-07-28 01:54:51 +00:00
Hugo Pereira Da Costa
5ce103a6e6 - fixed rendering glitch because updateTitleRect had too small clip region
- moved check on titleOutline to dedicated inline function
- removed some trailing spaces.

svn path=/trunk/KDE/kdebase/workspace/; revision=1155744
2010-07-28 01:07:47 +00:00
Hugo Pereira Da Costa
8762a1ac55 Tried improve performances during title transitions by triggering updates of the title area only.
svn path=/trunk/KDE/kdebase/workspace/; revision=1154145
2010-07-24 21:45:25 +00:00
Hugo Pereira Da Costa
289e6f5f74 Added cache to clip away center region of shadows, in order no to overlap with the decoration painting.
Changed mask for the decoration painting. 
This is needed for proper implementation of decoration translucency.

svn path=/trunk/KDE/kdebase/workspace/; revision=1151956
2010-07-20 01:39:15 +00:00
Hugo Pereira Da Costa
e1669806ef Do not draw the title "slab" in "outline window title" mode, when the client title is empty (or contains
only space characters). Except when tabbed together with other windows. 


svn path=/trunk/KDE/kdebase/workspace/; revision=1138015
2010-06-15 00:05:08 +00:00
Hugo Pereira Da Costa
0ec3c6bf5a use helper class to render resize handle dots, for consistency with the style.
svn path=/trunk/KDE/kdebase/workspace/; revision=1135179
2010-06-06 18:12:21 +00:00
Hugo Pereira Da Costa
98558973ef Fixed handling of mask, so that it is set only when either shadowMode is not OxygenShadow
or compositing is not active.


svn path=/trunk/KDE/kdebase/workspace/; revision=1133588
2010-06-02 06:04:17 +00:00
Hugo Pereira Da Costa
29320ccd26 no mask in borderless-titleless mode
svn path=/trunk/KDE/kdebase/workspace/; revision=1133541
2010-06-01 22:44:03 +00:00
Hugo Pereira Da Costa
71595cb8c6 Changed constructs like
"Client::myMethod()" into "this->myMethod()"


svn path=/trunk/KDE/kdebase/workspace/; revision=1128991
2010-05-20 21:41:19 +00:00
Hugo Pereira Da Costa
24e01d0e7b Removed dependency of Oxygen::ShadowCache upon Oxygen::Client.
svn path=/trunk/KDE/kdebase/workspace/; revision=1126021
2010-05-12 23:34:31 +00:00