kdecore Library API Documentation

KIconEffect Class Reference

Applies effects to icons. More...

#include <kiconeffect.h>

List of all members.

Public Types

enum  Effects
 This is the enumeration of all possible icon effects. More...


Public Methods

 KIconEffect ()
 Create a new KIconEffect.

void init ()
 Rereads configuration.

bool hasEffect (int group, int state) const
 Tests whether an effect has been configured for the given icon group.

QString fingerprint (int group, int state) const
 Returns a fingerprint for the effect by encoding the given group and state into a QString.

QImage apply (QImage src, int group, int state) const
 Applies an effect to an image.

QImage apply (QImage src, int effect, float value, const QColor rgb, bool trans) const
 Applies an effect to an image.

QPixmap apply (QPixmap src, int group, int state) const
 Applies an effect to a pixmap.

QPixmap apply (QPixmap src, int effect, float value, const QColor rgb, bool trans) const
 Applies an effect to a pixmap.

QImage doublePixels (QImage src) const
 Returns an image twice as large, consisting of 2x2 pixels.


Static Public Methods

void visualActivate (QWidget *widget, QRect rect)
 Provides visual feedback to show activation of an icon on a widget.

void toGray (QImage &image, float value)
 Tints an image gray.

void colorize (QImage &image, const QColor &col, float value)
 Colorizes an image with a specific color.

void deSaturate (QImage &image, float value)
 Desaturates an image.

void toGamma (QImage &image, float value)
 Changes the gamma value of an image.

void semiTransparent (QImage &image)
 Renders an image semi-transparent.

void semiTransparent (QPixmap &pixmap)
 Renders a pixmap semi-transparent.

void overlay (QImage &src, QImage &overlay)
 Overlays an image with an other image.


Detailed Description

Applies effects to icons.

This class applies effects to icons depending on their state and group. For example, it can be used to make all disabled icons in a toolbar grey.

See also:
KIcon

Definition at line 35 of file kiconeffect.h.


Member Enumeration Documentation

enum KIconEffect::Effects
 

This is the enumeration of all possible icon effects.

Note that 'LastEffect' is no valid icon effect but only used internally to check for invalid icon effects.

  • NoEffect: Don't apply any icon effect
  • ToGray: Tints the icon gray
  • Colorize: Tints the icon with an other color
  • ToGamma: Change the gamma value if the icon
  • DeSaturate: Reduce the saturation of the icon

Definition at line 55 of file kiconeffect.h.


Constructor & Destructor Documentation

KIconEffect::KIconEffect  
 

Create a new KIconEffect.

Definition at line 44 of file kiconeffect.cpp.

References init().


Member Function Documentation

void KIconEffect::init  
 

Rereads configuration.

Definition at line 55 of file kiconeffect.cpp.

References KGlobal::config(), KConfigBase::readBoolEntry(), KConfigBase::readColorEntry(), KConfigBase::readDoubleNumEntry(), KConfigBase::readEntry(), and KConfigBase::setGroup().

Referenced by KIconEffect().

bool KIconEffect::hasEffect int    group,
int    state
const
 

Tests whether an effect has been configured for the given icon group.

Parameters:
group  the group to check, see KIcon::Group
state  the state to check, see KIcon::States
Returns:
true if an effect is configured for the given group in state, otherwise false.
See also:
KIcon::Group KIcon::States

Definition at line 124 of file kiconeffect.cpp.

QString KIconEffect::fingerprint int    group,
int    state
const
 

Returns a fingerprint for the effect by encoding the given group and state into a QString.

This is useful for caching.

Parameters:
group  the group, see KIcon::Group
state  the state, see KIcon::States
Returns:
the fingerprint of the given group+@p state

Definition at line 129 of file kiconeffect.cpp.

References QString::fromLatin1(), QString::isEmpty(), QColor::name(), and QString::setNum().

QImage KIconEffect::apply QImage    src,
int    group,
int    state
const
 

Applies an effect to an image.

The effect to apply depends on the group and state parameters, and is configured by the user.

Parameters:
src  The image.
group  The group for the icon, see KIcon::Group
state  The icon's state, see KIcon::States
Returns:
An image with the effect applied.

Definition at line 154 of file kiconeffect.cpp.

References KIcon::LastState.

Referenced by apply().

QImage KIconEffect::apply QImage    src,
int    effect,
float    value,
const QColor    rgb,
bool    trans
const
 

Applies an effect to an image.

Parameters:
src  The image.
effect  The effect to apply, one of KIconEffect::Effects.
value  Strength of the effect. 0 <= value <= 1.
color  Color parameter for effects that need one.
trans  Add Transparency if trans = true.
Returns:
An image with the effect applied.

Definition at line 170 of file kiconeffect.cpp.

References colorize(), deSaturate(), semiTransparent(), toGamma(), and toGray().

QPixmap KIconEffect::apply QPixmap    src,
int    group,
int    state
const
 

Applies an effect to a pixmap.

Parameters:
src  The pixmap.
group  The group for the icon, see KIcon::Group
state  The icon's state, see KIcon::States
Returns:
A pixmap with the effect applied.

Definition at line 203 of file kiconeffect.cpp.

References apply(), and KIcon::LastState.

QPixmap KIconEffect::apply QPixmap    src,
int    effect,
float    value,
const QColor    rgb,
bool    trans
const
 

Applies an effect to a pixmap.

Parameters:
src  The pixmap.
effect  The effect to apply, one of KIconEffect::Effects.
value  Strength of the effect. 0 <= value <= 1.
color  Color parameter for effects that need one.
trans  Add Transparency if trans = true.
Returns:
A pixmap with the effect applied.

Definition at line 219 of file kiconeffect.cpp.

References apply(), QPixmap::convertFromImage(), QPixmap::convertToImage(), and semiTransparent().

QImage KIconEffect::doublePixels QImage    src const
 

Returns an image twice as large, consisting of 2x2 pixels.

Parameters:
src  the image.
Returns:
the scaled image.

Definition at line 458 of file kiconeffect.cpp.

References QImage::bytesPerLine(), QImage::color(), QImage::create(), QImage::depth(), QImage::hasAlphaBuffer(), QImage::height(), QImage::numColors(), QImage::scanLine(), QImage::setAlphaBuffer(), QImage::setColor(), and QImage::width().

void KIconEffect::visualActivate QWidget   widget,
QRect    rect
[static]
 

Provides visual feedback to show activation of an icon on a widget.

Not strictly an 'icon effect', but in practice that's what it looks like.

This method does nothing if the global 'Visual feedback on activation' option is not activated (See kcontrol/Peripherals/Mouse).

Parameters:
widget  The widget on which the effect should be painted
rect  This rectangle defines the effect's borders

Definition at line 622 of file kiconeffect.cpp.

References QRect::center(), QPainter::drawRect(), QPainter::flush(), QRect::height(), QPainter::setPen(), QPainter::setRasterOp(), QRect::setRect(), KGlobalSettings::visualActivate(), KGlobalSettings::visualActivateSpeed(), QRect::width(), QPoint::x(), and QPoint::y().

void KIconEffect::toGray QImage   image,
float    value
[static]
 

Tints an image gray.

Parameters:
image  The image
value  Strength of the effect. 0 <= value <= 1

Definition at line 250 of file kiconeffect.cpp.

References QImage::bits(), QImage::colorTable(), QImage::depth(), QImage::height(), QImage::numColors(), and QImage::width().

Referenced by apply().

void KIconEffect::colorize QImage   image,
const QColor   col,
float    value
[static]
 

Colorizes an image with a specific color.

Parameters:
image  The image
col  The color with which the image is tinted
value  Strength of the effect. 0 <= value <= 1

Definition at line 272 of file kiconeffect.cpp.

References QImage::bits(), QColor::blue(), QImage::colorTable(), QImage::depth(), QColor::green(), QImage::height(), QImage::numColors(), QColor::red(), and QImage::width().

Referenced by apply().

void KIconEffect::deSaturate QImage   image,
float    value
[static]
 

Desaturates an image.

Parameters:
image  The image
value  Strength of the effect. 0 <= value <= 1

Definition at line 313 of file kiconeffect.cpp.

References QImage::bits(), QColor::blue(), QImage::colorTable(), QImage::depth(), QColor::green(), QImage::height(), QColor::hsv(), QImage::numColors(), QColor::red(), QColor::setHsv(), QColor::setRgb(), and QImage::width().

Referenced by apply().

void KIconEffect::toGamma QImage   image,
float    value
[static]
 

Changes the gamma value of an image.

Parameters:
image  The image
value  Strength of the effect. 0 <= value <= 1

Definition at line 331 of file kiconeffect.cpp.

References QImage::bits(), QImage::colorTable(), QImage::depth(), QImage::height(), QImage::numColors(), QColor::rgb(), QColor::setRgb(), and QImage::width().

Referenced by apply().

void KIconEffect::semiTransparent QImage   image [static]
 

Renders an image semi-transparent.

Parameters:
image  The image

Definition at line 353 of file kiconeffect.cpp.

References QImage::color(), QImage::depth(), QImage::height(), QImage::numColors(), QImage::scanLine(), QImage::setAlphaBuffer(), QImage::setColor(), QImage::setPixel(), and QImage::width().

Referenced by apply(), and semiTransparent().

void KIconEffect::semiTransparent QPixmap   pixmap [static]
 

Renders a pixmap semi-transparent.

Parameters:
image  The pixmap

Definition at line 427 of file kiconeffect.cpp.

References QPixmap::convertFromImage(), QPixmap::convertToImage(), QImage::create(), QImage::fill(), QImage::height(), QPixmap::mask(), QImage::scanLine(), semiTransparent(), QPixmap::setMask(), QPixmap::size(), and QImage::width().

void KIconEffect::overlay QImage   src,
QImage   overlay
[static]
 

Overlays an image with an other image.

Parameters:
src  The image
overlay  The image to overlay src with

Definition at line 507 of file kiconeffect.cpp.

References QImage::color(), QImage::depth(), QImage::hasAlphaBuffer(), QImage::height(), QImage::numColors(), QImage::scanLine(), QImage::setColor(), QImage::setNumColors(), QImage::size(), and QImage::width().

Referenced by KIconLoader::loadIcon().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.0.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Oct 8 12:20:45 2003 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2001