summaryrefslogtreecommitdiff
path: root/libopie2
Side-by-side diff
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/oimageeffect.cpp76
1 files changed, 25 insertions, 51 deletions
diff --git a/libopie2/opieui/oimageeffect.cpp b/libopie2/opieui/oimageeffect.cpp
index 3c28bbe..2855da6 100644
--- a/libopie2/opieui/oimageeffect.cpp
+++ b/libopie2/opieui/oimageeffect.cpp
@@ -59,19 +59,17 @@ QImage OImageEffect::gradient(const QSize &size, const QColor &ca,
const QColor &cb, GradientType eff, int ncols)
{
int rDiff, gDiff, bDiff;
int rca, gca, bca, rcb, gcb, bcb;
QImage image(size, 32);
if (size.width() == 0 || size.height() == 0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::gradient: invalid image" << endl;
-#endif
+ qDebug( "WARNING: OImageEffect::gradient: invalid image" );
return image;
}
register int x, y;
rDiff = (rcb = cb.red()) - (rca = ca.red());
gDiff = (gcb = cb.green()) - (gca = ca.green());
bDiff = (bcb = cb.blue()) - (bca = ca.blue());
@@ -347,19 +345,17 @@ QImage OImageEffect::unbalancedGradient(const QSize &size, const QColor &ca,
float rat;
int rDiff, gDiff, bDiff;
int rca, gca, bca, rcb, gcb, bcb;
QImage image(size, 32);
if (size.width() == 0 || size.height() == 0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::unbalancedGradient : invalid image\n";
-#endif
+ qDebug( "WARNING: OImageEffect::unbalancedGradient : invalid image" );
return image;
}
register int x, y;
unsigned int *scanline;
rDiff = (rcb = cb.red()) - (rca = ca.red());
gDiff = (gcb = cb.green()) - (gca = ca.green());
@@ -568,19 +564,17 @@ QImage OImageEffect::unbalancedGradient(const QSize &size, const QColor &ca,
* integer math for the pixels. For any image larger than 9x9 this will be
* less expensive than doing a float operation on the 3 color components of
* each pixel. (mosfet)
*/
QImage& OImageEffect::intensity(QImage &image, float percent)
{
if (image.width() == 0 || image.height() == 0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::intensity : invalid image\n";
-#endif
+ qDebug( "WARNING: OImageEffect::intensity : invalid image" );
return image;
}
int segColors = image.depth() > 8 ? 256 : image.numColors();
unsigned char *segTbl = new unsigned char[segColors];
int pixels = image.depth() > 8 ? image.width()*image.height() :
image.numColors();
unsigned int *data = image.depth() > 8 ? (unsigned int *)image.bits() :
@@ -635,19 +629,17 @@ QImage& OImageEffect::intensity(QImage &image, float percent)
return image;
}
QImage& OImageEffect::channelIntensity(QImage &image, float percent,
RGBComponent channel)
{
if (image.width() == 0 || image.height() == 0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::channelIntensity : invalid image\n";
-#endif
+ qDebug( "WARNING: OImageEffect::channelIntensity : invalid image" );
return image;
}
int segColors = image.depth() > 8 ? 256 : image.numColors();
unsigned char *segTbl = new unsigned char[segColors];
int pixels = image.depth() > 8 ? image.width()*image.height() :
image.numColors();
unsigned int *data = image.depth() > 8 ? (unsigned int *)image.bits() :
@@ -727,20 +719,18 @@ QImage& OImageEffect::channelIntensity(QImage &image, float percent,
// Modulate an image with an RBG channel of another image
//
QImage& OImageEffect::modulate(QImage &image, QImage &modImage, bool reverse,
ModulationType type, int factor, RGBComponent channel)
{
if (image.width() == 0 || image.height() == 0 ||
modImage.width() == 0 || modImage.height() == 0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::modulate : invalid image\n";
-#endif
- return image;
+ qDebug( "WARNING: OImageEffect::modulate : invalid image" );
+ return image;
}
int r, g, b, h, s, v, a;
QColor clr;
int mod=0;
unsigned int x1, x2, y1, y2;
register int x, y;
@@ -855,28 +845,26 @@ QImage& OImageEffect::modulate(QImage &image, QImage &modImage, bool reverse,
//
//======================================================================
// Nice and fast direct pixel manipulation
QImage& OImageEffect::blend(const QColor& clr, QImage& dst, float opacity)
{
if (dst.width() <= 0 || dst.height() <= 0)
- return dst;
+ return dst;
if (opacity < 0.0 || opacity > 1.0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::blend : invalid opacity. Range [0, 1]\n";
-#endif
- return dst;
+ qDebug( "WARNING: OImageEffect::blend : invalid opacity. Range [0, 1] ");
+ return dst;
}
int depth = dst.depth();
if (depth != 32)
- dst = dst.convertDepth(32);
+ dst = dst.convertDepth(32);
int pixels = dst.width() * dst.height();
int rcol, gcol, bcol;
clr.rgb(&rcol, &gcol, &bcol);
#ifdef WORDS_BIGENDIAN // ARGB (skip alpha)
register unsigned char *data = (unsigned char *)dst.bits() + 1;
#else // BGRA
@@ -898,32 +886,28 @@ QImage& OImageEffect::blend(const QColor& clr, QImage& dst, float opacity)
}
return dst;
}
// Nice and fast direct pixel manipulation
QImage& OImageEffect::blend(QImage& src, QImage& dst, float opacity)
{
if (src.width() <= 0 || src.height() <= 0)
- return dst;
+ return dst;
if (dst.width() <= 0 || dst.height() <= 0)
- return dst;
+ return dst;
if (src.width() != dst.width() || src.height() != dst.height()) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::blend : src and destination images are not the same size\n";
-#endif
- return dst;
+ qDebug( "WARNING: OImageEffect::blend : src and destination images are not the same size" );
+ return dst;
}
if (opacity < 0.0 || opacity > 1.0) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::blend : invalid opacity. Range [0, 1]\n";
-#endif
- return dst;
+ qDebug( "WARNING: OImageEffect::blend : invalid opacity. Range [0, 1]" );
+ return dst;
}
if (src.depth() != 32) src = src.convertDepth(32);
if (dst.depth() != 32) dst = dst.convertDepth(32);
int pixels = src.width() * src.height();
#ifdef WORDS_BIGENDIAN // ARGB (skip alpha)
register unsigned char *data1 = (unsigned char *)dst.bits() + 1;
@@ -952,20 +936,18 @@ QImage& OImageEffect::blend(QImage& src, QImage& dst, float opacity)
}
QImage& OImageEffect::blend(QImage &image, float initial_intensity,
const QColor &bgnd, GradientType eff,
bool anti_dir)
{
if (image.width() == 0 || image.height() == 0 || image.depth()!=32 ) {
-#ifndef NDEBUG
- cerr << "WARNING: OImageEffect::blend : invalid image\n";
-#endif
- return image;
+ qDebug( "WARNING: OImageEffect::blend : invalid image" );
+ return image;
}
int r_bgnd = bgnd.red(), g_bgnd = bgnd.green(), b_bgnd = bgnd.blue();
int r, g, b;
int ind;
unsigned int xi, xf, yi, yf;
unsigned int a;
@@ -1147,19 +1129,17 @@ QImage& OImageEffect::blend(QImage &image, float initial_intensity,
if (r > 255) r = 255; if (r < 0 ) r = 0;
if (g > 255) g = 255; if (g < 0 ) g = 0;
if (b > 255) b = 255; if (b < 0 ) b = 0;
a = qAlpha(data[ind]);
data[ind] = qRgba(r, g, b, a);
}
}
}
-#ifndef NDEBUG
- else cerr << "OImageEffect::blend effect not implemented" << endl;
-#endif
+ else qDebug( "OImageEffect::blend effect not implemented" );
return image;
}
// Not very efficient as we create a third big image...
//
QImage& OImageEffect::blend(QImage &image1, QImage &image2,
GradientType gt, int xf, int yf)
{
@@ -1179,20 +1159,18 @@ QImage& OImageEffect::blend(QImage &image1, QImage &image2,
// Blend image2 into image1, using an RBG channel of blendImage
//
QImage& OImageEffect::blend(QImage &image1, QImage &image2,
QImage &blendImage, RGBComponent channel)
{
if (image1.width() == 0 || image1.height() == 0 ||
image2.width() == 0 || image2.height() == 0 ||
blendImage.width() == 0 || blendImage.height() == 0) {
-#ifndef NDEBUG
- cerr << "OImageEffect::blend effect invalid image" << endl;
-#endif
- return image1;
+ qDebug( "OImageEffect::blend effect invalid image" );
+ return image1;
}
int r, g, b;
int ind1, ind2, ind3;
unsigned int x1, x2, x3, y1, y2, y3;
unsigned int a;
@@ -1279,20 +1257,18 @@ unsigned int OImageEffect::uHash(unsigned int c)
}
// -----------------------------------------------------------------------------
QImage& OImageEffect::hash(QImage &image, Lighting lite, unsigned int spacing)
{
if (image.width() == 0 || image.height() == 0) {
-#ifndef NDEBUG
- cerr << "OImageEffect::hash effect invalid image" << endl;
-#endif
- return image;
+ qDebug( "OImageEffect::hash effect invalid image" );
+ return image;
}
register int x, y;
unsigned int *data = (unsigned int *)image.bits();
unsigned int ind;
//CT no need to do it if not enough space
if ((lite == NorthLite ||
@@ -1789,20 +1765,18 @@ bool OImageEffect::blend(
{
if (
upper.width() > lower.width() ||
upper.height() > lower.height() ||
upper.depth() != 32 ||
lower.depth() != 32
)
{
-#ifndef NDEBUG
- cerr << "OImageEffect::blend : Sizes not correct\n" ;
-#endif
- return false;
+ qDebug( "OImageEffect::blend : Sizes not correct" );
+ return false;
}
output = lower.copy();
register uchar *i, *o;
register int a;
register int col;
register int w = upper.width();