<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US"> <head> <title>kdefx: kimageeffect.h Source File (kdefx)</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org" r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org" r (n 0 s 0 v 0 l 0))' /> <meta name="trademark" content="KDE e.V." /> <meta name="description" content="K Desktop Environment Homepage, KDE.org" /> <meta name="MSSmartTagsPreventParsing" content="true" /> <meta name="robots" content="all" /> <link rel="shortcut icon" href="../../favicon.ico" /> <link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" /> </head> <body> <div id="nav_header_top" align="right"> <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a> <a href="../.."><img id="nav_header_logo" alt="Home" align="left" src="../../kde_gear_64.png" border="0" /></a> <span class="doNotDisplay">::</span> <div id="nav_header_title" align="left">KDE API Reference</div> </div> <div id="nav_header_bottom" align="right"> <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span> <div id="nav_header_bottom_right" style="text-align: left;"> / <a href="../..">API Reference</a> / <a href=".">kdefx</a> </div> </div> <table id="main" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td valign="top" class="menuheader" height="0"></td> <td id="contentcolumn" valign="top" rowspan="2" > <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;"> <a name="content"></a> <!-- Generated by Doxygen 1.7.4 --> <div class="header"> <div class="headertitle"> <div class="title">kimageeffect.h</div> </div> </div> <div class="contents"> <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* This file is part of the KDE libraries</span> <a name="l00002"></a>00002 <span class="comment"> Copyright (C) 1998, 1999, 2001, 2002 Daniel M. Duley <mosfet@interaccess.com></span> <a name="l00003"></a>00003 <span class="comment"> (C) 1998, 1999 Christian Tibirna <ctibirna@total.net></span> <a name="l00004"></a>00004 <span class="comment"> (C) 1998, 1999 Dirk Mueller <mueller@kde.org></span> <a name="l00005"></a>00005 <span class="comment"></span> <a name="l00006"></a>00006 <span class="comment">Redistribution and use in source and binary forms, with or without</span> <a name="l00007"></a>00007 <span class="comment">modification, are permitted provided that the following conditions</span> <a name="l00008"></a>00008 <span class="comment">are met:</span> <a name="l00009"></a>00009 <span class="comment"></span> <a name="l00010"></a>00010 <span class="comment">1. Redistributions of source code must retain the above copyright</span> <a name="l00011"></a>00011 <span class="comment"> notice, this list of conditions and the following disclaimer.</span> <a name="l00012"></a>00012 <span class="comment">2. Redistributions in binary form must reproduce the above copyright</span> <a name="l00013"></a>00013 <span class="comment"> notice, this list of conditions and the following disclaimer in the</span> <a name="l00014"></a>00014 <span class="comment"> documentation and/or other materials provided with the distribution.</span> <a name="l00015"></a>00015 <span class="comment"></span> <a name="l00016"></a>00016 <span class="comment">THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR</span> <a name="l00017"></a>00017 <span class="comment">IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES</span> <a name="l00018"></a>00018 <span class="comment">OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.</span> <a name="l00019"></a>00019 <span class="comment">IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,</span> <a name="l00020"></a>00020 <span class="comment">INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT</span> <a name="l00021"></a>00021 <span class="comment">NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span> <a name="l00022"></a>00022 <span class="comment">DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span> <a name="l00023"></a>00023 <span class="comment">THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span> <a name="l00024"></a>00024 <span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF</span> <a name="l00025"></a>00025 <span class="comment">THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> <a name="l00026"></a>00026 <span class="comment"></span> <a name="l00027"></a>00027 <span class="comment">*/</span> <a name="l00028"></a>00028 <a name="l00029"></a>00029 <span class="comment">// $Id: kimageeffect.h 399215 2005-03-20 14:33:45Z mueller $</span> <a name="l00030"></a>00030 <a name="l00031"></a>00031 <span class="preprocessor">#ifndef __KIMAGE_EFFECT_H</span> <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define __KIMAGE_EFFECT_H</span> <a name="l00033"></a>00033 <span class="preprocessor"></span> <a name="l00034"></a>00034 <span class="preprocessor">#include <kdelibs_export.h></span> <a name="l00035"></a>00035 <a name="l00036"></a>00036 <span class="keyword">class </span><a class="codeRef" href="qimage.html">QImage</a>; <a name="l00037"></a>00037 <span class="keyword">class </span><a class="codeRef" href="qsize.html">QSize</a>; <a name="l00038"></a>00038 <span class="keyword">class </span><a class="codeRef" href="qcolor.html">QColor</a>; <a name="l00039"></a>00039 <span class="keyword">class </span><a class="codeRef" href="qpoint.html">QPoint</a>; <a name="l00040"></a>00040 <span class="keyword">class </span><a class="codeRef" href="qrect.html">QRect</a>; <a name="l00041"></a>00041 <a name="l00050"></a><a class="code" href="classKImageEffect.html">00050</a> <span class="keyword">class </span>KDEFX_EXPORT <a class="code" href="classKImageEffect.html" title="This class includes various QImage based graphical effects.">KImageEffect</a> <a name="l00051"></a>00051 { <a name="l00052"></a>00052 <span class="keyword">public</span>: <a name="l00058"></a><a class="code" href="classKImageEffect.html#a5dd7fcdf794dd35c23082a1f5327cb74">00058</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#a5dd7fcdf794dd35c23082a1f5327cb74" title="This enum provides a gradient type specification.">GradientType</a> { VerticalGradient, <a name="l00059"></a>00059 HorizontalGradient, <a name="l00060"></a>00060 DiagonalGradient, <a name="l00061"></a>00061 CrossDiagonalGradient, <a name="l00062"></a>00062 PyramidGradient, <a name="l00063"></a>00063 RectangleGradient, <a name="l00064"></a>00064 PipeCrossGradient, <a name="l00065"></a>00065 EllipticGradient <a name="l00066"></a>00066 }; <a name="l00067"></a>00067 <a name="l00073"></a><a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8dea">00073</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8dea" title="This enum provides a RGB channel specification.">RGBComponent</a> { Red, <a name="l00074"></a><a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa5d121e962178e026143bde406e3718c4">00074</a> <a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa5d121e962178e026143bde406e3718c4" title="Green channel.">Green</a>, <a name="l00075"></a><a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa897b41db8f45ae9e097e15d72c599444">00075</a> <a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa897b41db8f45ae9e097e15d72c599444" title="Blue channel.">Blue</a>, <a name="l00076"></a><a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa24f5a040f37789b1c63922b00eff1f8f">00076</a> <a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa24f5a040f37789b1c63922b00eff1f8f" title="Grey channel.">Gray</a>, <a name="l00077"></a><a class="code" href="classKImageEffect.html#ade122b4821923df992d902d844ee8deaa3116c89c1cef765f12cb6ea79c99eb7f">00077</a> All <a name="l00078"></a>00078 }; <a name="l00079"></a>00079 <a name="l00084"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa0834e3b576490f7e3a254904cf879f05">00084</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006df" title="This enum provides a lighting direction specification.">Lighting</a> {<a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa0834e3b576490f7e3a254904cf879f05" title="Lighting from the top of the image.">NorthLite</a>, <a name="l00085"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa190e99095e856aad1642f7679e6d02e2">00085</a> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa190e99095e856aad1642f7679e6d02e2" title="Lighting from the top left of the image.">NWLite</a>, <a name="l00086"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa8ab4ad0b239eb38c4acf51be6e918361">00086</a> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa8ab4ad0b239eb38c4acf51be6e918361" title="Lighting from the left of the image.">WestLite</a>, <a name="l00087"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa098c89a13b4bb463bb1d870c24c81e8d">00087</a> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa098c89a13b4bb463bb1d870c24c81e8d" title="Lighting from the bottom left of the image.">SWLite</a>, <a name="l00088"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfadbab663d6a79fa10dfc7539ce329d12d">00088</a> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfadbab663d6a79fa10dfc7539ce329d12d" title="Lighting from the bottom of the image.">SouthLite</a>, <a name="l00089"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa88f28150998f3bde68a614db1d756e2c">00089</a> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa88f28150998f3bde68a614db1d756e2c" title="Lighting from the bottom right of the image.">SELite</a>, <a name="l00090"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa6786dcd9d11eda568888935ebe69f825">00090</a> <a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa6786dcd9d11eda568888935ebe69f825" title="Lighting from the right of the image.">EastLite</a>, <a name="l00091"></a><a class="code" href="classKImageEffect.html#a96a70f4bb4cbd2dcb602337f045006dfa00a1b71a698dcac73aa99d2afb8bb526">00091</a> NELite <a name="l00092"></a>00092 }; <a name="l00093"></a>00093 <a name="l00098"></a><a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150">00098</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150" title="This enum provides a modulation type specification.">ModulationType</a> { Intensity, <a name="l00099"></a><a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150a1ef10e1e00c425ae8b95d9982d888185">00099</a> <a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150a1ef10e1e00c425ae8b95d9982d888185" title="Modulate image saturation.">Saturation</a>, <a name="l00100"></a><a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150a5f06d4888bfccebbd63160269271995c">00100</a> <a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150a5f06d4888bfccebbd63160269271995c" title="Modulate image hue.">HueShift</a>, <a name="l00101"></a><a class="code" href="classKImageEffect.html#a57be85a9e69c9cf5903ada333ee8b150a44307c8f7b2f039bbbf7eb5a8c5460d7">00101</a> Contrast <a name="l00102"></a>00102 }; <a name="l00103"></a>00103 <a name="l00108"></a><a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847dac3887da38d11032687fb43469afed1a0">00108</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847d" title="This enum provides a noise type specification.">NoiseType</a> { UniformNoise=0, <a name="l00109"></a><a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da0c41513e69a022a61710c8877a792910">00109</a> <a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da0c41513e69a022a61710c8877a792910" title="Gaussian distribution.">GaussianNoise</a>, <a name="l00110"></a><a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da3453c3b4f4bdeca1839f43b95c224edb">00110</a> <a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da3453c3b4f4bdeca1839f43b95c224edb" title="Multiplicative Gaussian distribution.">MultiplicativeGaussianNoise</a>, <a name="l00111"></a><a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da5b044265fa519e87792d3452011a9f11">00111</a> <a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da5b044265fa519e87792d3452011a9f11" title="Impulse distribution.">ImpulseNoise</a>, <a name="l00112"></a><a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847daf60fd2a5751a9bb594d87a6bf5b49afe">00112</a> <a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847daf60fd2a5751a9bb594d87a6bf5b49afe" title="Laplacian distribution.">LaplacianNoise</a>, <a name="l00113"></a><a class="code" href="classKImageEffect.html#a17bb51948809b1e9b84a30b8393b847da89da8748b00fdfa9ad987a7e3178ae6c">00113</a> PoissonNoise <a name="l00114"></a>00114 }; <a name="l00115"></a>00115 <a name="l00120"></a><a class="code" href="classKImageEffect.html#a60406c67ad94d76bc8b596f7d9411afd">00120</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#a60406c67ad94d76bc8b596f7d9411afd" title="This enum provides a rotation specification.">RotateDirection</a>{ Rotate90, <a name="l00121"></a><a class="code" href="classKImageEffect.html#a60406c67ad94d76bc8b596f7d9411afdaa93912446715f21d9c4a6d371170732f">00121</a> <a class="code" href="classKImageEffect.html#a60406c67ad94d76bc8b596f7d9411afdaa93912446715f21d9c4a6d371170732f" title="Rotate 180 degrees.">Rotate180</a>, <a name="l00122"></a><a class="code" href="classKImageEffect.html#a60406c67ad94d76bc8b596f7d9411afda9297e750d48dd49640a5102c7c0cd71b">00122</a> Rotate270 <a name="l00123"></a>00123 }; <a name="l00124"></a>00124 <a name="l00129"></a><a class="code" href="classKImageEffect.html#adb747b6aa5678afeec840564c16bc3dc">00129</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#adb747b6aa5678afeec840564c16bc3dc" title="This enum lists possible bumpmapping implementations.">BumpmapType</a> { <a name="l00130"></a>00130 Linear, <a name="l00131"></a>00131 Spherical, <a name="l00132"></a>00132 Sinuosidal <a name="l00133"></a>00133 }; <a name="l00134"></a>00134 <a name="l00146"></a>00146 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> gradient(<span class="keyword">const</span> <a class="codeRef" href="qsize.html">QSize</a> &size, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &ca, <a name="l00147"></a>00147 <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &cb, GradientType type, <span class="keywordtype">int</span> ncols=3); <a name="l00148"></a>00148 <a name="l00163"></a>00163 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> unbalancedGradient(<span class="keyword">const</span> <a class="codeRef" href="qsize.html">QSize</a> &size, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &ca, <a name="l00164"></a>00164 <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &cb, GradientType type, <span class="keywordtype">int</span> xfactor = 100, <a name="l00165"></a>00165 <span class="keywordtype">int</span> yfactor = 100, <span class="keywordtype">int</span> ncols = 3); <a name="l00166"></a>00166 <a name="l00183"></a>00183 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& blend(<span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a>& clr, <a class="codeRef" href="qimage.html">QImage</a>& dst, <span class="keywordtype">float</span> opacity); <a name="l00184"></a>00184 <a name="l00201"></a>00201 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& blend(<a class="codeRef" href="qimage.html">QImage</a>& src, <a class="codeRef" href="qimage.html">QImage</a>& dst, <span class="keywordtype">float</span> opacity); <a name="l00202"></a>00202 <a name="l00217"></a>00217 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& blend(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">float</span> initial_intensity, <a name="l00218"></a>00218 <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &bgnd, GradientType eff, <a name="l00219"></a>00219 <span class="keywordtype">bool</span> anti_dir=<span class="keyword">false</span>); <a name="l00220"></a>00220 <a name="l00231"></a>00231 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& blend(<a class="codeRef" href="qimage.html">QImage</a> &image1,<a class="codeRef" href="qimage.html">QImage</a> &image2, <a name="l00232"></a>00232 GradientType gt, <span class="keywordtype">int</span> xf=100, <span class="keywordtype">int</span> yf=100); <a name="l00233"></a>00233 <a name="l00246"></a>00246 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& blend(<a class="codeRef" href="qimage.html">QImage</a> &image1, <a class="codeRef" href="qimage.html">QImage</a> &image2, <a name="l00247"></a>00247 <a class="codeRef" href="qimage.html">QImage</a> &blendImage, RGBComponent channel); <a name="l00248"></a>00248 <a name="l00256"></a>00256 <span class="keyword">static</span> <span class="keywordtype">bool</span> blend(<span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> & upper, <span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> & lower, <a class="codeRef" href="qimage.html">QImage</a> & output); <a name="l00257"></a>00257 <span class="comment">// Not yet... static bool blend(const QImage & image1, const QImage & image2, QImage & output, const QRect & destRect);</span> <a name="l00258"></a>00258 <a name="l00275"></a>00275 <span class="keyword">static</span> <span class="keywordtype">bool</span> blend(<span class="keywordtype">int</span> &x, <span class="keywordtype">int</span> &y, <span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> & upper, <span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> & lower, <a class="codeRef" href="qimage.html">QImage</a> & output); <a name="l00276"></a>00276 <a name="l00287"></a>00287 <span class="keyword">static</span> <span class="keywordtype">bool</span> blendOnLower(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> & upper, <span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> & lower); <a name="l00288"></a>00288 <a name="l00301"></a>00301 <span class="keyword">static</span> <span class="keywordtype">void</span> blendOnLower(<span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> &upper, <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a> &upperOffset, <a name="l00302"></a>00302 <a class="codeRef" href="qimage.html">QImage</a> &lower, <span class="keyword">const</span> <a class="codeRef" href="qrect.html">QRect</a> &lowerRect); <a name="l00303"></a>00303 <a name="l00318"></a>00318 <span class="keyword">static</span> <span class="keywordtype">void</span> blendOnLower(<span class="keyword">const</span> <a class="codeRef" href="qimage.html">QImage</a> &upper, <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a> &upperOffset, <a name="l00319"></a>00319 <a class="codeRef" href="qimage.html">QImage</a> &lower, <span class="keyword">const</span> <a class="codeRef" href="qrect.html">QRect</a> &lowerRect, <span class="keywordtype">float</span> opacity); <a name="l00320"></a>00320 <a name="l00326"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda1948646445935019ba49590d5a0f872d">00326</a> <span class="keyword">enum</span> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61ed" title="Disposition of a source image on top of a destination image.">Disposition</a> { NoImage = 0, <a name="l00327"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61edabd5fa02164dd24d562a1870f4417fcd3">00327</a> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61edabd5fa02164dd24d562a1870f4417fcd3" title="Center top image on botton image.">Centered</a>, <a name="l00328"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61edad85d1a58980e7f31e6cd146c73d47740">00328</a> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61edad85d1a58980e7f31e6cd146c73d47740" title="Tile top image on bottom image.">Tiled</a>, <a name="l00329"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda2d9dd55961bc8e35ee83d32f81981832">00329</a> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda2d9dd55961bc8e35ee83d32f81981832" title="Center and tile top image on bottom image.">CenterTiled</a>, <a name="l00330"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda594487e467c26884f77f5bbb100a2842">00330</a> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda594487e467c26884f77f5bbb100a2842" title="Center and scale aspect.">CenteredMaxpect</a>, <a name="l00331"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61edad2d7064074eb75f9fe87d9c2a4e79b48">00331</a> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61edad2d7064074eb75f9fe87d9c2a4e79b48" title="Tile and scale aspect.">TiledMaxpect</a>, <a name="l00332"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda755611776b66b4f8770f725fba429c10">00332</a> <a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda755611776b66b4f8770f725fba429c10" title="Scale.">Scaled</a>, <a name="l00333"></a><a class="code" href="classKImageEffect.html#a817d86d51d69b85b894ec765af8c61eda1f5f39883e189adee31ed8f7452760ed">00333</a> CenteredAutoFit <a name="l00334"></a>00334 }; <a name="l00335"></a>00335 <a name="l00350"></a>00350 <span class="keyword">static</span> <a class="codeRef" href="qrect.html">QRect</a> computeDestinationRect(<span class="keyword">const</span> <a class="codeRef" href="qsize.html">QSize</a> &lowerSize, <a name="l00351"></a>00351 Disposition disposition, <a class="codeRef" href="qimage.html">QImage</a> &upper); <a name="l00352"></a>00352 <a name="l00359"></a>00359 <span class="keyword">static</span> <span class="keywordtype">void</span> blendOnLower(<a class="codeRef" href="qimage.html">QImage</a> &upper, <a class="codeRef" href="qimage.html">QImage</a> &lower, <a name="l00360"></a>00360 Disposition disposition, <span class="keywordtype">float</span> opacity); <a name="l00361"></a>00361 <a name="l00371"></a>00371 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& channelIntensity(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">float</span> percent, <a name="l00372"></a>00372 RGBComponent channel); <a name="l00373"></a>00373 <a name="l00384"></a>00384 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& fade(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">float</span> val, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &color); <a name="l00385"></a>00385 <a name="l00386"></a>00386 <a name="l00397"></a>00397 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& flatten(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &ca, <a name="l00398"></a>00398 <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &cb, <span class="keywordtype">int</span> ncols=0); <a name="l00399"></a>00399 <a name="l00408"></a>00408 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& hash(<a class="codeRef" href="qimage.html">QImage</a> &image, Lighting lite=NorthLite, <a name="l00409"></a>00409 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> spacing=0); <a name="l00410"></a>00410 <a name="l00424"></a>00424 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& intensity(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">float</span> percent); <a name="l00425"></a>00425 <a name="l00437"></a>00437 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& modulate(<a class="codeRef" href="qimage.html">QImage</a> &image, <a class="codeRef" href="qimage.html">QImage</a> &modImage, <span class="keywordtype">bool</span> reverse, <a name="l00438"></a>00438 ModulationType type, <span class="keywordtype">int</span> factor, RGBComponent channel); <a name="l00439"></a>00439 <a name="l00449"></a>00449 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& toGray(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">bool</span> fast = <span class="keyword">false</span>); <a name="l00450"></a>00450 <a name="l00458"></a>00458 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& desaturate(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">float</span> desat = 0.3); <a name="l00459"></a>00459 <a name="l00469"></a>00469 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& contrast(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keywordtype">int</span> c); <a name="l00470"></a>00470 <a name="l00480"></a>00480 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& dither(<a class="codeRef" href="qimage.html">QImage</a> &image, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> *palette, <span class="keywordtype">int</span> size); <a name="l00481"></a>00481 <a name="l00488"></a>00488 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a>& selectedImage( <a class="codeRef" href="qimage.html">QImage</a> &img, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> &col ); <a name="l00489"></a>00489 <a name="l00501"></a>00501 <span class="keyword">static</span> <span class="keywordtype">void</span> contrastHSV(<a class="codeRef" href="qimage.html">QImage</a> &img, <span class="keywordtype">bool</span> sharpen=<span class="keyword">true</span>); <a name="l00502"></a>00502 <a name="l00509"></a>00509 <span class="keyword">static</span> <span class="keywordtype">void</span> normalize(<a class="codeRef" href="qimage.html">QImage</a> &img); <a name="l00510"></a>00510 <a name="l00517"></a>00517 <span class="keyword">static</span> <span class="keywordtype">void</span> equalize(<a class="codeRef" href="qimage.html">QImage</a> &img); <a name="l00518"></a>00518 <a name="l00528"></a>00528 <span class="keyword">static</span> <span class="keywordtype">void</span> threshold(<a class="codeRef" href="qimage.html">QImage</a> &img, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> value=128); <a name="l00529"></a>00529 <a name="l00538"></a>00538 <span class="keyword">static</span> <span class="keywordtype">void</span> solarize(<a class="codeRef" href="qimage.html">QImage</a> &img, <span class="keywordtype">double</span> factor=50.0); <a name="l00539"></a>00539 <a name="l00553"></a>00553 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> emboss(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> radius, <span class="keywordtype">double</span> sigma); <a name="l00554"></a>00554 <a name="l00558"></a>00558 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> emboss(<a class="codeRef" href="qimage.html">QImage</a> &src); <a name="l00559"></a>00559 <a name="l00568"></a>00568 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> despeckle(<a class="codeRef" href="qimage.html">QImage</a> &src); <a name="l00569"></a>00569 <a name="l00581"></a>00581 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> charcoal(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> radius, <span class="keywordtype">double</span> sigma); <a name="l00582"></a>00582 <a name="l00587"></a>00587 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> charcoal(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> factor=50.0); <a name="l00588"></a>00588 <a name="l00597"></a>00597 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> rotate(<a class="codeRef" href="qimage.html">QImage</a> &src, RotateDirection r); <a name="l00598"></a>00598 <a name="l00610"></a>00610 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> sample(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h); <a name="l00611"></a>00611 <a name="l00620"></a>00620 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> addNoise(<a class="codeRef" href="qimage.html">QImage</a> &src, NoiseType type = GaussianNoise); <a name="l00621"></a>00621 <a name="l00633"></a>00633 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> blur(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> radius, <span class="keywordtype">double</span> sigma); <a name="l00634"></a>00634 <a name="l00639"></a>00639 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> blur(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> factor=50.0); <a name="l00640"></a>00640 <a name="l00651"></a>00651 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> edge(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> radius); <a name="l00652"></a>00652 <a name="l00663"></a>00663 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> implode(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> factor=30.0, <a name="l00664"></a>00664 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> background = 0xFFFFFFFF); <a name="l00665"></a>00665 <a name="l00675"></a>00675 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> oilPaintConvolve(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> radius); <a name="l00676"></a>00676 <a name="l00681"></a>00681 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> oilPaint(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">int</span> radius=3); <a name="l00682"></a>00682 <a name="l00694"></a>00694 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> sharpen(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> radius, <span class="keywordtype">double</span> sigma); <a name="l00695"></a>00695 <a name="l00700"></a>00700 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> sharpen(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> factor=30.0); <a name="l00701"></a>00701 <a name="l00710"></a>00710 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> spread(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> amount=3); <a name="l00711"></a>00711 <a name="l00722"></a>00722 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> shade(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">bool</span> color_shading=<span class="keyword">true</span>, <span class="keywordtype">double</span> azimuth=30.0, <a name="l00723"></a>00723 <span class="keywordtype">double</span> elevation=30.0); <a name="l00734"></a>00734 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> swirl(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> degrees=50.0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> background = <a name="l00735"></a>00735 0xFFFFFFFF); <a name="l00736"></a>00736 <a name="l00748"></a>00748 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> wave(<a class="codeRef" href="qimage.html">QImage</a> &src, <span class="keywordtype">double</span> amplitude=25.0, <span class="keywordtype">double</span> frequency=150.0, <a name="l00749"></a>00749 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> background = 0xFFFFFFFF); <a name="l00750"></a>00750 <a name="l00771"></a>00771 <span class="keyword">static</span> <a class="codeRef" href="qimage.html">QImage</a> bumpmap(<a class="codeRef" href="qimage.html">QImage</a> &img, <a class="codeRef" href="qimage.html">QImage</a> &map, <span class="keywordtype">double</span> azimuth, <span class="keywordtype">double</span> elevation, <a name="l00772"></a>00772 <span class="keywordtype">int</span> depth, <span class="keywordtype">int</span> xofs, <span class="keywordtype">int</span> yofs, <span class="keywordtype">int</span> waterlevel, <a name="l00773"></a>00773 <span class="keywordtype">int</span> ambient, <span class="keywordtype">bool</span> compensate, <span class="keywordtype">bool</span> invert, <a name="l00774"></a>00774 BumpmapType type, <span class="keywordtype">bool</span> tiled); <a name="l00775"></a>00775 <a name="l00776"></a>00776 <span class="keyword">private</span>: <a name="l00777"></a>00777 <a name="l00782"></a>00782 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lHash(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c); <a name="l00783"></a>00783 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uHash(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c); <a name="l00784"></a>00784 <a name="l00788"></a>00788 <span class="keyword">static</span> <span class="keywordtype">int</span> nearestColor( <span class="keywordtype">int</span> r, <span class="keywordtype">int</span> g, <span class="keywordtype">int</span> b, <span class="keyword">const</span> <a class="codeRef" href="qcolor.html">QColor</a> *pal, <span class="keywordtype">int</span> size ); <a name="l00789"></a>00789 <a name="l00790"></a>00790 <span class="keyword">static</span> <span class="keywordtype">void</span> hull(<span class="keyword">const</span> <span class="keywordtype">int</span> x_offset, <span class="keyword">const</span> <span class="keywordtype">int</span> y_offset, <span class="keyword">const</span> <span class="keywordtype">int</span> polarity, <a name="l00791"></a>00791 <span class="keyword">const</span> <span class="keywordtype">int</span> width, <span class="keyword">const</span> <span class="keywordtype">int</span> height, <a name="l00792"></a>00792 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *f, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *g); <a name="l00793"></a>00793 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> generateNoise(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pixel, NoiseType type); <a name="l00794"></a>00794 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> interpolateColor(<a class="codeRef" href="qimage.html">QImage</a> *image, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <a name="l00795"></a>00795 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> background); <a name="l00796"></a>00796 <span class="comment">/* Various convolve routines */</span> <a name="l00797"></a>00797 <span class="keyword">static</span> <span class="keywordtype">int</span> getOptimalKernelWidth(<span class="keywordtype">double</span> radius, <span class="keywordtype">double</span> sigma); <a name="l00798"></a>00798 <span class="keyword">static</span> <span class="keywordtype">bool</span> convolveImage(<a class="codeRef" href="qimage.html">QImage</a> *image, <a class="codeRef" href="qimage.html">QImage</a> *dest, <a name="l00799"></a>00799 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> order, <a name="l00800"></a>00800 <span class="keyword">const</span> <span class="keywordtype">double</span> *kernel); <a name="l00801"></a>00801 <span class="keyword">static</span> <span class="keywordtype">void</span> blurScanLine(<span class="keywordtype">double</span> *kernel, <span class="keywordtype">int</span> width, <a name="l00802"></a>00802 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *src, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *dest, <a name="l00803"></a>00803 <span class="keywordtype">int</span> columns); <a name="l00804"></a>00804 <span class="keyword">static</span> <span class="keywordtype">int</span> getBlurKernel(<span class="keywordtype">int</span> width, <span class="keywordtype">double</span> sigma, <span class="keywordtype">double</span> **kernel); <a name="l00805"></a>00805 }; <a name="l00806"></a>00806 <a name="l00807"></a>00807 <span class="preprocessor">#endif</span> </pre></div></div> </div> </div></div> </td> </tr> <tr> <td valign="top" id="leftmenu" width="25%"> <a name="navigation"></a> <div class="menu_box"><h2>kdefx</h2> <div class="nav_list"> <ul><li><a href="index.html">Main Page</a></li><li><a href="hierarchy.html">Class Hierarchy</a></li><li><a href="classes.html">Alphabetical List</a></li><li><a href="annotated.html">Class List</a></li><li><a href="files.html">File List</a></li><li><a href="functions.html">Class Members</a></li></ul> <!-- <h2>Class Picker</h2> <div style="text-align: center;"> <form name="guideform"> <select name="guidelinks" style="width:100%;" onChange="window.location=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value"> <option value="annotated.html">-- Choose --</option> <option value="classKCPUInfo.html">kcpuinfo</option>, <option value="classKImageEffect.html">kimageeffect</option>, <option value="classKPixmap.html">kpixmap</option>, <option value="classKPixmapEffect.html">kpixmapeffect</option>, <option value="classKPixmapSplitter.html">kpixmapsplitter</option>, <option value="classKStyle.html">kstyle</option>, </select> </form> </div> --> </div></div> <div class="menu_box"><h2>API Dox</h2> <div class="nav_list"> <ul> <li><a href="../../arts/html/index.html">arts</a></li><li><a href="../../dcop/html/index.html">dcop</a></li><li><a href="../../dnssd/html/index.html">dnssd</a></li><li><a href="../../interfaces/html/index.html">interfaces</a></li><li> <a href="../../interfaces/kimproxy/interface/html/index.html">interface</a></li><li> <a href="../../interfaces/kimproxy/library/html/index.html">library</a></li><li> <a href="../../interfaces/kspeech/html/index.html">kspeech</a></li><li> <a href="../../interfaces/ktexteditor/html/index.html">ktexteditor</a></li><li><a href="../../kabc/html/index.html">kabc</a></li><li><a href="../../kate/html/index.html">kate</a></li><li><a href="../../kcmshell/html/index.html">kcmshell</a></li><li><a href="../../kdecore/html/index.html">kdecore</a></li><li><a href="../../kded/html/index.html">kded</a></li><li><a href="../../kdefx/html/index.html">kdefx</a></li><li><a href="../../kdeprint/html/index.html">kdeprint</a></li><li><a href="../../kdesu/html/index.html">kdesu</a></li><li><a href="../../kdeui/html/index.html">kdeui</a></li><li><a href="../../kdoctools/html/index.html">kdoctools</a></li><li><a href="../../khtml/html/index.html">khtml</a></li><li><a href="../../kimgio/html/index.html">kimgio</a></li><li><a href="../../kinit/html/index.html">kinit</a></li><li><a href="../../kio/html/index.html">kio</a></li><li> <a href="../../kio/bookmarks/html/index.html">bookmarks</a></li><li> <a href="../../kio/httpfilter/html/index.html">httpfilter</a></li><li> <a href="../../kio/kfile/html/index.html">kfile</a></li><li> <a href="../../kio/kio/html/index.html">kio</a></li><li> <a href="../../kio/kioexec/html/index.html">kioexec</a></li><li> <a href="../../kio/kpasswdserver/html/index.html">kpasswdserver</a></li><li> <a href="../../kio/kssl/html/index.html">kssl</a></li><li><a href="../../kioslave/html/index.html">kioslave</a></li><li> <a href="../../kioslave/http/html/index.html">http</a></li><li><a href="../../kjs/html/index.html">kjs</a></li><li><a href="../../kmdi/html/index.html">kmdi</a></li><li> <a href="../../kmdi/kmdi/html/index.html">kmdi</a></li><li><a href="../../knewstuff/html/index.html">knewstuff</a></li><li><a href="../../kparts/html/index.html">kparts</a></li><li><a href="../../kresources/html/index.html">kresources</a></li><li><a href="../../kspell2/html/index.html">kspell2</a></li><li><a href="../../kunittest/html/index.html">kunittest</a></li><li><a href="../../kutils/html/index.html">kutils</a></li><li><a href="../../kwallet/html/index.html">kwallet</a></li><li><a href="../../libkmid/html/index.html">libkmid</a></li><li><a href="../../libkscreensaver/html/index.html">libkscreensaver</a></li> </ul></div></div> </td> </tr> </table> <span class="doNotDisplay"> <a href="http://www.kde.org/" accesskey="8">KDE Home</a> | <a href="http://accessibility.kde.org/" accesskey="9">KDE Accessibility Home</a> | <a href="http://www.kde.org/media/accesskeys.php" accesskey="0">Description of Access Keys</a> </span> <div style="height: 8px"></div> <div id="footer"> <div id="footer_left"> Maintained by <a href="mailto:groot@kde.org">Adriaan de Groot</a> and <a href="mailto:winter@kde.org">Allen Winter</a>. <br/> KDE and K Desktop Environment are trademarks of <a href="http://www.kde.org/areas/kde-ev/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div> <div id="footer_right"><img src="/media/images/footer_right.png" style="margin: 0px" alt="" /></div> </div> <!-- WARNING: DO NOT SEND MAIL TO THE FOLLOWING EMAIL ADDRESS! YOU WILL BE BLOCKED INSTANTLY AND PERMANENTLY! <a href="mailto:aaaatrap-425acc3b5374943f@kde.org">Block me</a> WARNING END --> </body> </html>