Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / runtime / kstyles / oxygen / elements / scrollbar.h
blob5482386154be55881435c5d26c75be674ed89d5a
1 /*
2 * Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License version 2 as published by the Free Software Foundation.
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Library General Public License for more details.
13 * You should have received a copy of the GNU Library General Public License
14 * along with this library; see the file COPYING.LIB. If not, write to
15 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
19 #ifndef __OXYGEN_STYLE_SCROLLBAR_H
20 #define __OXYGEN_STYLE_SCROLLBAR_H
22 #include "tileset.h"
24 class QPainter;
25 class QLinearGradient;
27 class OxygenScrollbar {
28 public:
29 OxygenScrollbar(const QColor&, double contrast);
31 TileSet* horizontal(int size, int width, int offset) const;
32 TileSet* vertical(int size, int width, int offset) const;
34 private:
35 void mask(QPainter &p, const QRectF &rect) const;
37 QLinearGradient baseGradient(double width, Qt::Orientation orient) const;
38 QLinearGradient shineGradient(double width, Qt::Orientation orient) const;
39 QLinearGradient shimmerGradient(double offset, Qt::Orientation orient) const;
40 QLinearGradient dimGradient(Qt::Orientation orient) const;
42 QPixmap bevel(int width, int height, double w, double h, int rx, int ry) const;
44 QColor color;
45 QColor light;
46 QColor mid;
47 QColor dark;
48 QColor shadow;
49 QColor highlight;
52 #endif // __OXYGEN_STYLE_SCROLLBAR_H