//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdefx  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KImageEffect
{
%TypeHeaderCode
#include <kimageeffect.h>
%End


public:

    enum GradientType
    {
        VerticalGradient, 
        HorizontalGradient, 
        DiagonalGradient, 
        CrossDiagonalGradient, 
        PyramidGradient, 
        RectangleGradient, 
        PipeCrossGradient, 
        EllipticGradient
    };


    enum RGBComponent
    {
        Red, 
        Green, 
        Blue, 
        Gray, 
        All
    };


    enum Lighting
    {
        NorthLite, 
        NWLite, 
        WestLite, 
        SWLite, 
        SouthLite, 
        SELite, 
        EastLite, 
        NELite
    };


    enum ModulationType
    {
        Intensity, 
        Saturation, 
        HueShift, 
        Contrast
    };


    enum NoiseType
    {
        UniformNoise, 
        GaussianNoise, 
        MultiplicativeGaussianNoise, 
        ImpulseNoise, 
        LaplacianNoise, 
        PoissonNoise
    };


    enum RotateDirection
    {
        Rotate90, 
        Rotate180, 
        Rotate270
    };


%If ( KDE_3_3_0 -  )

    enum BumpmapType
    {
        Linear, 
        Spherical, 
        Sinuosidal
    };

%End

    static TQImage        gradient (const TQSize&, const TQColor&, const TQColor&, KImageEffect::GradientType, int = 3);
    static TQImage        unbalancedGradient (const TQSize&, const TQColor&, const TQColor&, KImageEffect::GradientType, int = 100, int = 100, int = 3);
    static TQImage&       blend (const TQColor&, TQImage&, float);
    static TQImage&       blend (TQImage&, TQImage&, float);
    static TQImage&       blend (TQImage&, float, const TQColor&, KImageEffect::GradientType, bool = 0);
    static TQImage&       blend (TQImage&, TQImage&, KImageEffect::GradientType, int = 100, int = 100);
    static TQImage&       blend (TQImage&, TQImage&, TQImage&, KImageEffect::RGBComponent);
    static bool          blend (const TQImage&, const TQImage&, TQImage&);
    static bool          blend (int& /In, Out/, int& /In, Out/, const TQImage&, const TQImage&, TQImage&);
    static bool          blendOnLower (int, int, const TQImage&, const TQImage&);

%If ( KDE_3_2_0 -  )
    static void          blendOnLower (const TQImage&, const TQPoint&, TQImage&, const TQRect&);
    static void          blendOnLower (const TQImage&, const TQPoint&, TQImage&, const TQRect&, float);

    enum Disposition
    {
        NoImage, 
        Centered, 
        Tiled, 
        CenterTiled, 
        CenteredMaxpect, 
        TiledMaxpect, 
        Scaled, 
        CenteredAutoFit
    };

    static TQRect         computeDestinationRect (const TQSize&, KImageEffect::Disposition, TQImage&);
    static void          blendOnLower (TQImage&, TQImage&, KImageEffect::Disposition, float);
%End

    static TQImage&       channelIntensity (TQImage&, float, KImageEffect::RGBComponent);
    static TQImage&       fade (TQImage&, float, const TQColor&);
    static TQImage&       flatten (TQImage&, const TQColor&, const TQColor&, int = 0);
    static TQImage&       hash (TQImage&, KImageEffect::Lighting = NorthLite , uint = 0);
    static TQImage&       intensity (TQImage&, float);
    static TQImage&       modulate (TQImage&, TQImage&, bool, KImageEffect::ModulationType, int, KImageEffect::RGBComponent);
    static TQImage&       toGray (TQImage&, bool = 0);
    static TQImage&       desaturate (TQImage&, float = 0.3);
    static TQImage&       contrast (TQImage&, int);
//ig     static TQImage&       dither (TQImage&, const TQColor*, int);
    static TQImage&       selectedImage (TQImage&, const TQColor&);
    static void          contrastHSV (TQImage&, bool = 1);
    static void          normalize (TQImage&);
    static void          equalize (TQImage&);
    static void          threshold (TQImage&, uint = 128);
    static void          solarize (TQImage&, double = 50.0);

%If ( KDE_3_2_0 -  )
    static TQImage        emboss (TQImage&, double, double);
%End

    static TQImage        emboss (TQImage&);
    static TQImage        despeckle (TQImage&);

%If ( KDE_3_2_0 -  )
    static TQImage        charcoal (TQImage&, double, double);
%End

    static TQImage        charcoal (TQImage&, double = 50.0);
    static TQImage        rotate (TQImage&, KImageEffect::RotateDirection);
    static TQImage        sample (TQImage&, int, int);
    static TQImage        addNoise (TQImage&, KImageEffect::NoiseType = GaussianNoise );

%If ( KDE_3_2_0 -  )
    static TQImage        blur (TQImage&, double, double);
%End

    static TQImage        blur (TQImage&, double = 50.0);
    static TQImage        edge (TQImage&, double = 50.0);
    static TQImage        implode (TQImage&, double = 30.0, uint = -1);

%If ( KDE_3_2_0 -  )
    static TQImage        oilPaintConvolve (TQImage&, double);
%End

    static TQImage        oilPaint (TQImage&, int = 3);

%If ( KDE_3_2_0 -  )
    static TQImage        sharpen (TQImage&, double, double);
%End

    static TQImage        sharpen (TQImage&, double = 30.0);
    static TQImage        spread (TQImage&, uint = 3);
    static TQImage        shade (TQImage&, bool = 1, double = 30.0, double = 30.0);
    static TQImage        swirl (TQImage&, double = 50.0, uint = -1);
    static TQImage        wave (TQImage&, double = 25.0, double = 150.0, uint = -1);

%If ( KDE_3_3_0 -  )
    static TQImage        bumpmap (TQImage&, TQImage&, double, double, int, int, int, int, int, bool, bool, KImageEffect::BumpmapType, bool);
%End


};  // class KImageEffect

