//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


class KColorScheme
{
%TypeHeaderCode
#include <kcolorscheme.h>
%End


public:

    enum ColorSet
    {
        View,
        Window,
        Button,
        Selection,
        Tooltip
    };


    enum BackgroundRole
    {
        NormalBackground,
        AlternateBackground,
        ActiveBackground,
        LinkBackground,
        VisitedBackground,
        NegativeBackground,
        NeutralBackground,
        PositiveBackground
    };


    enum ForegroundRole
    {
        NormalText,
        InactiveText,
        ActiveText,
        LinkText,
        VisitedText,
        NegativeText,
        NeutralText,
        PositiveText
    };


    enum DecorationRole
    {
        FocusColor,
        HoverColor
    };


    enum ShadeRole
    {
        LightShade,
        MidlightShade,
        MidShade,
        DarkShade,
        ShadowShade
    };

                            KColorScheme (const KColorScheme&);
    explicit                KColorScheme (QPalette::ColorGroup, KColorScheme::ColorSet = KColorScheme::View, KSharedConfigPtr = KSharedConfigPtr());
    QBrush                  background (KColorScheme::BackgroundRole = KColorScheme::NormalBackground) const;
    QBrush                  foreground (KColorScheme::ForegroundRole = KColorScheme::NormalText) const;
    QBrush                  decoration (KColorScheme::DecorationRole) const;
    QColor                  shade (KColorScheme::ShadeRole) const;
    static QColor           shade (const QColor&, KColorScheme::ShadeRole);
    static QColor           shade (const QColor&, KColorScheme::ShadeRole, qreal contrast, qreal chromaAdjust = 0.0);
    static void             adjustBackground (QPalette&, KColorScheme::BackgroundRole newRole = KColorScheme::NormalBackground, QPalette::ColorRole color = QPalette::Base, KColorScheme::ColorSet set = KColorScheme::View, KSharedConfigPtr = KSharedConfigPtr());
    static void             adjustForeground (QPalette&, KColorScheme::ForegroundRole newRole = KColorScheme::NormalText, QPalette::ColorRole color = QPalette::Text, KColorScheme::ColorSet set = KColorScheme::View, KSharedConfigPtr = KSharedConfigPtr());
};   // KColorScheme


class KStatefulBrush
{
%TypeHeaderCode
#include <kcolorscheme.h>
%End


public:
    explicit                KStatefulBrush ();
    explicit                KStatefulBrush (KColorScheme::ColorSet, KColorScheme::ForegroundRole, KSharedConfigPtr = KSharedConfigPtr());
    explicit                KStatefulBrush (KColorScheme::ColorSet, KColorScheme::BackgroundRole, KSharedConfigPtr = KSharedConfigPtr());
    explicit                KStatefulBrush (KColorScheme::ColorSet, KColorScheme::DecorationRole, KSharedConfigPtr = KSharedConfigPtr());
    explicit                KStatefulBrush (const QBrush&, KSharedConfigPtr = KSharedConfigPtr());
    explicit                KStatefulBrush (const QBrush&, const QBrush& background, KSharedConfigPtr = KSharedConfigPtr());
                            KStatefulBrush (const KStatefulBrush&);
    QBrush                  brush (QPalette::ColorGroup) const;
    QBrush                  brush (const QPalette&) const;
    QBrush                  brush (const QWidget*) const;
};   // KStatefulBrush


