# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KIconEffect Class Reference

Applies effects to icons. More...

`#include <kiconeffect.h>`

Collaboration diagram for KIconEffect:

[legend]
List of all members.

## Public Types

enum | Effects { NoEffect, ToGray, Colorize, ToGamma, DeSaturate, ToMonochrome, LastEffect }

## Public Member Functions

| KIconEffect ()
void | init ()
bool | hasEffect (int group, int state) const
QString | fingerprint (int group, int state) const
QImage | apply (QImage src, int group, int state) const
QImage | apply (QImage src, int effect, float value, const QColor rgb, bool trans) const
QImage | apply (QImage src, int effect, float value, const QColor rgb, const QColor rgb2, bool trans) const
QPixmap | apply (QPixmap src, int group, int state) const
QPixmap | apply (QPixmap src, int effect, float value, const QColor rgb, bool trans) const
QPixmap | apply (QPixmap src, int effect, float value, const QColor rgb, const QColor rgb2, bool trans) const
QImage | doublePixels (QImage src) const

## Static Public Member Functions

static void | visualActivate (QWidget *widget, QRect rect)
static void | toGray (QImage &image, float value)
static void | colorize (QImage &image, const QColor &col, float value)
static void | toMonochrome (QImage &image, const QColor &black, const QColor &white, float value)
static void | deSaturate (QImage &image, float value)
static void | toGamma (QImage &image, float value)
static void | semiTransparent (QImage &image)
static void | semiTransparent (QPixmap &pixmap)
static void | overlay (QImage &src, QImage &overlay)

## 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 gray.

See also:
  KIcon

Definition at line 34 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 of the icon
- DeSaturate: Reduce the saturation of the icon
- ToMonochrome: Produces a monochrome icon

Enumeration values:

  ToMonochrome

  Since:
    3.4

Definition at line 55 of file kiconeffect.h.

## Constructor & Destructor Documentation

KIconEffect::KIconEffect | ( |  | ) |

| Create a new KIconEffect. Definition at line 49 of file kiconeffect.cpp. References init().

## Member Function Documentation

void KIconEffect::init | ( |  | ) |

| Rereads configuration. Definition at line 61 of file kiconeffect.cpp. References KGlobal::config(), KConfigBase::readBoolEntry(), KConfigBase::readColorEntry(), KConfigBase::readDoubleNumEntry(), KConfigBase::readEntry(), KConfigBase::setGroup(), and ToMonochrome. 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 137 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+`state``

Definition at line 142 of file kiconeffect.cpp.

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

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 172 of file kiconeffect.cpp.

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.
  | rgb | Color parameter for effects that need one.
  | trans | Add Transparency if trans = true.

Returns:
  An image with the effect applied.

Definition at line 188 of file kiconeffect.cpp.

References apply().

QImage KIconEffect::apply | ( | QImage | src,
|  | int | effect,
|  | float | value,
|  | const QColor | rgb,
|  | const QColor | rgb2,
|  | bool | trans
| ) | const

Since:
  3.4

Definition at line 193 of file kiconeffect.cpp.

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

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 229 of file kiconeffect.cpp.

References apply().

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.
  | rgb | Color parameter for effects that need one.
  | trans | Add Transparency if trans = true.

Returns:
  A pixmap with the effect applied.

Definition at line 245 of file kiconeffect.cpp.

References apply().

QPixmap KIconEffect::apply | ( | QPixmap | src,
|  | int | effect,
|  | float | value,
|  | const QColor | rgb,
|  | const QColor | rgb2,
|  | bool | trans
| ) | const

Since:
  3.4

Definition at line 251 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 540 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 704 of file kiconeffect.cpp.

References QRect::center(), QPainter::drawRect(), QPainter::flush(), QRect::height(), QPainter::setPen(), QPainter::setRasterOp(), QRect::setRect(), 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 282 of file kiconeffect.cpp.

References QPixmap::depth(), QPixmap::height(), and QPixmap::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 304 of file kiconeffect.cpp.

References QPixmap::depth(), QPixmap::height(), and QPixmap::width().

Referenced by apply().

void KIconEffect::toMonochrome | ( | QImage & | image,
|  | const QColor & | black,
|  | const QColor & | white,
|  | float | value
| ) | `[static]`

Produces a monochrome icon with a given foreground and background color.

Parameters:

  | image | The image
  | white | The color with which the white parts of `image` are painted
  | black | The color with which the black parts of `image` are painted
  | value | Strength of the effect. 0 <= `value` <= 1

Since:
  3.4

Definition at line 345 of file kiconeffect.cpp.

References QPixmap::depth(), QPixmap::height(), and QPixmap::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 395 of file kiconeffect.cpp.

References QColor::blue(), QColor::green(), QPixmap::height(), QColor::red(), QColor::setHsv(), QColor::setRgb(), and QPixmap::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 413 of file kiconeffect.cpp.

References QColor::rgb(), and QColor::setRgb().

Referenced by apply().

void KIconEffect::semiTransparent | ( | QImage & | image | ) | `[static]`

Renders an image semi-transparent.

Parameters:

  | image | The image

Definition at line 435 of file kiconeffect.cpp.

Referenced by apply(), and semiTransparent().

void KIconEffect::semiTransparent | ( | QPixmap & | pixmap | ) | `[static]`

Renders a pixmap semi-transparent.

Parameters:

  | pixmap | The pixmap

Definition at line 509 of file kiconeffect.cpp.

References QImage::create(), QImage::fill(), QImage::height(), QImage::scanLine(), semiTransparent(), 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 589 of file kiconeffect.cpp.

References overlay().

Referenced by KIconLoader::loadIcon(), and overlay().

The documentation for this class was generated from the following files:

- kiconeffect.h
- kiconeffect.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:40 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003