fix windeco to use KColorScheme also, see r689219
TODO: share this code so it doesn't need to be fixed twice :-) svn path=/trunk/KDE/kdebase/workspace/; revision=689244
This commit is contained in:
parent
ea944065c7
commit
1768ac296c
1 changed files with 34 additions and 6 deletions
|
@ -17,6 +17,7 @@
|
|||
#include <kglobalsettings.h>
|
||||
#include <klocale.h>
|
||||
#include <kdebug.h>
|
||||
#include <kcolorscheme.h>
|
||||
|
||||
#include <qbitmap.h>
|
||||
#include <qlabel.h>
|
||||
|
@ -56,6 +57,32 @@ namespace Oxygen
|
|||
// static const int RFRAMESIZE = 7;BUTTONSIZE
|
||||
// static const int FRAMEBUTTONSPACE = 67;
|
||||
|
||||
//BEGIN SHARED CODE
|
||||
// TODO this should all be moved to its own file and shared with the style
|
||||
|
||||
class OxygenHelper
|
||||
{
|
||||
public:
|
||||
static QColor backgroundRadialColor(const QColor &color);
|
||||
static QColor backgroundTopColor(const QColor &color);
|
||||
static QColor backgroundBottomColor(const QColor &color);
|
||||
};
|
||||
|
||||
QColor OxygenHelper::backgroundRadialColor(const QColor &color)
|
||||
{
|
||||
return KColorScheme::shade(color, KColorScheme::LightShade, 0.7/*FIXME*/);
|
||||
}
|
||||
|
||||
QColor OxygenHelper::backgroundTopColor(const QColor &color)
|
||||
{
|
||||
return KColorScheme::shade(color, KColorScheme::MidlightShade, 0.7/*FIXME*/);
|
||||
}
|
||||
|
||||
QColor OxygenHelper::backgroundBottomColor(const QColor &color)
|
||||
{
|
||||
return KColorScheme::shade(color, KColorScheme::MidShade, 0.7/*FIXME*/ * -0.6);
|
||||
}
|
||||
|
||||
class TileCache
|
||||
{
|
||||
private:
|
||||
|
@ -98,8 +125,9 @@ QPixmap TileCache::verticalGradient(const QColor &color, int height)
|
|||
pixmap = new QPixmap(32, height);
|
||||
|
||||
QLinearGradient gradient(0, 0, 0, height);
|
||||
gradient.setColorAt(0, color.lighter(115));
|
||||
gradient.setColorAt(1, color);
|
||||
gradient.setColorAt(0.0, OxygenHelper::backgroundTopColor(color));
|
||||
gradient.setColorAt(0.5, color);
|
||||
gradient.setColorAt(1.0, OxygenHelper::backgroundBottomColor(color));
|
||||
|
||||
QPainter p(pixmap);
|
||||
p.setCompositionMode(QPainter::CompositionMode_Source);
|
||||
|
@ -121,9 +149,9 @@ QPixmap TileCache::radialGradient(const QColor &color, int width)
|
|||
width /= 2;
|
||||
pixmap = new QPixmap(width, 64);
|
||||
pixmap->fill(QColor(0,0,0,0));
|
||||
QColor radialColor = color.lighter(140);
|
||||
QColor radialColor = OxygenHelper::backgroundRadialColor(color);
|
||||
radialColor.setAlpha(255);
|
||||
QRadialGradient gradient(64, TITLESIZE + TFRAMESIZE, 64);
|
||||
QRadialGradient gradient(64, 0, 64);
|
||||
gradient.setColorAt(0, radialColor);
|
||||
radialColor.setAlpha(101);
|
||||
gradient.setColorAt(0.5, radialColor);
|
||||
|
@ -141,7 +169,7 @@ QPixmap TileCache::radialGradient(const QColor &color, int width)
|
|||
|
||||
return *pixmap;
|
||||
}
|
||||
|
||||
//END SHARED CODE
|
||||
|
||||
void renderDot(QPainter *p, const QPointF &point, qreal diameter)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue