Qt 4.8
Public Slots | Signals | Public Functions | Protected Functions | Properties | List of all members
QGraphicsDropShadowEffect Class Reference

The QGraphicsDropShadowEffect class provides a drop shadow effect. More...

#include <qgraphicseffect.h>

Inheritance diagram for QGraphicsDropShadowEffect:
QGraphicsEffect QObject

Public Slots

void setBlurRadius (qreal blurRadius)
 
void setColor (const QColor &color)
 
void setOffset (const QPointF &ofs)
 
void setOffset (qreal dx, qreal dy)
 
void setOffset (qreal d)
 
void setXOffset (qreal dx)
 
void setYOffset (qreal dy)
 
- Public Slots inherited from QGraphicsEffect
void setEnabled (bool enable)
 
void update ()
 Schedules a redraw of the effect. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Signals

void blurRadiusChanged (qreal blurRadius)
 This signal is emitted whenever the effect's blur radius changes. More...
 
void colorChanged (const QColor &color)
 This signal is emitted whenever the effect's color changes. More...
 
void offsetChanged (const QPointF &offset)
 This signal is emitted whenever the effect's shadow offset changes. More...
 
- Signals inherited from QGraphicsEffect
void enabledChanged (bool enabled)
 This signal is emitted whenever the effect is enabled or disabled. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

qreal blurRadius () const
 
QRectF boundingRectFor (const QRectF &rect) const
 Reimplemented Function More...
 
QColor color () const
 
QPointF offset () const
 
 QGraphicsDropShadowEffect (QObject *parent=0)
 Constructs a new QGraphicsDropShadowEffect instance. More...
 
qreal xOffset () const
 
qreal yOffset () const
 
 ~QGraphicsDropShadowEffect ()
 Destroys the effect. More...
 
- Public Functions inherited from QGraphicsEffect
QRectF boundingRect () const
 Returns the effective bounding rectangle for this effect, i.e., the bounding rectangle of the source in device coordinates, adjusted by any margins applied by the effect itself. More...
 
bool isEnabled () const
 
 QGraphicsEffect (QObject *parent=0)
 Constructs a new QGraphicsEffect instance having the specified parent. More...
 
QGraphicsEffectSourcesource () const
 Returns a pointer to the source, which provides extra context information that can be useful for the effect. More...
 
virtual ~QGraphicsEffect ()
 Removes the effect from the source, and destroys the graphics effect. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Protected Functions

void draw (QPainter *painter)
 Reimplemented Function More...
 
- Protected Functions inherited from QGraphicsEffect
void drawSource (QPainter *painter)
 Draws the source directly using the given painter. More...
 
 QGraphicsEffect (QGraphicsEffectPrivate &d, QObject *parent=0)
 
QRectF sourceBoundingRect (Qt::CoordinateSystem system=Qt::LogicalCoordinates) const
 Returns the bounding rectangle of the source mapped to the given system. More...
 
virtual void sourceChanged (ChangeFlags flags)
 This virtual function is called by QGraphicsEffect to notify the effect that the source has changed. More...
 
bool sourceIsPixmap () const
 Returns true if the source effectively is a pixmap, e.g., a QGraphicsPixmapItem. More...
 
QPixmap sourcePixmap (Qt::CoordinateSystem system=Qt::LogicalCoordinates, QPoint *offset=0, PixmapPadMode mode=PadToEffectiveBoundingRect) const
 Returns a pixmap with the source painted into it. More...
 
void updateBoundingRect ()
 This function notifies the effect framework when the effect's bounding rectangle has changed. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 

Properties

qreal blurRadius
 the blur radius in pixels of the drop shadow. More...
 
QColor color
 the color of the drop shadow. More...
 
QPointF offset
 the shadow offset in pixels. More...
 
qreal xOffset
 the horizontal shadow offset in pixels. More...
 
qreal yOffset
 the vertical shadow offset in pixels. More...
 

Additional Inherited Members

- Public Types inherited from QGraphicsEffect
enum  ChangeFlag { SourceAttached = 0x1, SourceDetached = 0x2, SourceBoundingRectChanged = 0x4, SourceInvalidated = 0x8 }
 This enum describes what has changed in QGraphicsEffectSource. More...
 
enum  PixmapPadMode { NoPad, PadToTransparentBorder, PadToEffectiveBoundingRect }
 This enum describes how the pixmap returned from sourcePixmap should be padded. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QGraphicsDropShadowEffect class provides a drop shadow effect.

Since
4.6

A drop shadow effect renders the source with a drop shadow. The color of the drop shadow can be modified using the setColor() function. The drop shadow offset can be modified using the setOffset() function and the blur radius of the drop shadow can be changed with the setBlurRadius() function.

By default, the drop shadow is a semi-transparent dark gray (QColor(63, 63, 63, 180)) shadow, blurred with a radius of 1 at an offset of 8 pixels towards the lower right. The drop shadow offset is specified in device coordinates.

graphicseffect-drop-shadow.png
See also
QGraphicsBlurEffect, QGraphicsColorizeEffect, QGraphicsOpacityEffect

Definition at line 199 of file qgraphicseffect.h.

Constructors and Destructors

◆ QGraphicsDropShadowEffect()

QGraphicsDropShadowEffect::QGraphicsDropShadowEffect ( QObject parent = 0)

Constructs a new QGraphicsDropShadowEffect instance.

The parent parameter is passed to QGraphicsEffect's constructor.

Definition at line 957 of file qgraphicseffect.cpp.

959 {
960 }
QGraphicsEffect(QObject *parent=0)
Constructs a new QGraphicsEffect instance having the specified parent.

◆ ~QGraphicsDropShadowEffect()

QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect ( )

Destroys the effect.

Definition at line 965 of file qgraphicseffect.cpp.

966 {
967 }

Functions

◆ blurRadius()

qreal QGraphicsDropShadowEffect::blurRadius ( ) const

Referenced by setBlurRadius(), and setOffset().

◆ blurRadiusChanged

void QGraphicsDropShadowEffect::blurRadiusChanged ( qreal  blurRadius)
signal

This signal is emitted whenever the effect's blur radius changes.

The blurRadius parameter holds the effect's new blur radius.

Referenced by setBlurRadius().

◆ boundingRectFor()

QRectF QGraphicsDropShadowEffect::boundingRectFor ( const QRectF rect) const
virtual

Reimplemented Function

Reimplemented from QGraphicsEffect.

Definition at line 1119 of file qgraphicseffect.cpp.

1120 {
1122  return d->filter->boundingRectFor(rect);
1123 }
double d
Definition: qnumeric_p.h:62
The QGraphicsDropShadowEffect class provides a drop shadow effect.
#define Q_D(Class)
Definition: qglobal.h:2482

◆ color()

QColor QGraphicsDropShadowEffect::color ( ) const

Referenced by setBlurRadius(), and setColor().

◆ colorChanged

void QGraphicsDropShadowEffect::colorChanged ( const QColor color)
signal

This signal is emitted whenever the effect's color changes.

The color parameter holds the effect's new color.

Referenced by setColor().

◆ draw()

void QGraphicsDropShadowEffect::draw ( QPainter painter)
protectedvirtual

Reimplemented Function

Implements QGraphicsEffect.

Definition at line 1128 of file qgraphicseffect.cpp.

1129 {
1131  if (d->filter->blurRadius() <= 0 && d->filter->offset().isNull()) {
1132  drawSource(painter);
1133  return;
1134  }
1135 
1137  if (painter->paintEngine()->type() == QPaintEngine::OpenGL2)
1138  mode = NoPad;
1139 
1140  // Draw pixmap in device coordinates to avoid pixmap scaling.
1141  QPoint offset;
1142  const QPixmap pixmap = sourcePixmap(Qt::DeviceCoordinates, &offset, mode);
1143  if (pixmap.isNull())
1144  return;
1145 
1146  QTransform restoreTransform = painter->worldTransform();
1147  painter->setWorldTransform(QTransform());
1148  d->filter->draw(painter, offset, pixmap);
1149  painter->setWorldTransform(restoreTransform);
1150 }
double d
Definition: qnumeric_p.h:62
QPixmap sourcePixmap(Qt::CoordinateSystem system=Qt::LogicalCoordinates, QPoint *offset=0, PixmapPadMode mode=PadToEffectiveBoundingRect) const
Returns a pixmap with the source painted into it.
void drawSource(QPainter *painter)
Draws the source directly using the given painter.
The QGraphicsDropShadowEffect class provides a drop shadow effect.
#define Q_D(Class)
Definition: qglobal.h:2482
virtual Type type() const =0
Reimplement this function to return the paint engine Type.
QPaintEngine * paintEngine() const
Returns the paint engine that the painter is currently operating on if the painter is active; otherwi...
Definition: qpainter.cpp:1991
PixmapPadMode
This enum describes how the pixmap returned from sourcePixmap should be padded.
const QTransform & worldTransform() const
Returns the world transformation matrix.
Definition: qpainter.cpp:9652
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
void setWorldTransform(const QTransform &matrix, bool combine=false)
Sets the world transformation matrix.
Definition: qpainter.cpp:9630
The QPixmap class is an off-screen image representation that can be used as a paint device...
Definition: qpixmap.h:71
QPointF offset() const
bool isNull() const
Returns true if this is a null pixmap; otherwise returns false.
Definition: qpixmap.cpp:615
The QTransform class specifies 2D transformations of a coordinate system.
Definition: qtransform.h:65

◆ offset()

QPointF QGraphicsDropShadowEffect::offset ( ) const

◆ offsetChanged

void QGraphicsDropShadowEffect::offsetChanged ( const QPointF offset)
signal

This signal is emitted whenever the effect's shadow offset changes.

The offset parameter holds the effect's new shadow offset.

Referenced by setOffset().

◆ setBlurRadius

void QGraphicsDropShadowEffect::setBlurRadius ( qreal  blurRadius)
slot

Definition at line 1056 of file qgraphicseffect.cpp.

1057 {
1059  if (qFuzzyCompare(d->filter->blurRadius(), blurRadius))
1060  return;
1061 
1062  d->filter->setBlurRadius(blurRadius);
1065 }
double d
Definition: qnumeric_p.h:62
static Q_DECL_CONSTEXPR bool qFuzzyCompare(double p1, double p2)
Definition: qglobal.h:2030
The QGraphicsDropShadowEffect class provides a drop shadow effect.
#define Q_D(Class)
Definition: qglobal.h:2482
void updateBoundingRect()
This function notifies the effect framework when the effect&#39;s bounding rectangle has changed...
void blurRadiusChanged(qreal blurRadius)
This signal is emitted whenever the effect&#39;s blur radius changes.
#define emit
Definition: qobjectdefs.h:76

◆ setColor

void QGraphicsDropShadowEffect::setColor ( const QColor color)
slot

Definition at line 1095 of file qgraphicseffect.cpp.

1096 {
1098  if (d->filter->color() == color)
1099  return;
1100 
1101  d->filter->setColor(color);
1102  update();
1103  emit colorChanged(color);
1104 }
double d
Definition: qnumeric_p.h:62
The QGraphicsDropShadowEffect class provides a drop shadow effect.
#define Q_D(Class)
Definition: qglobal.h:2482
void colorChanged(const QColor &color)
This signal is emitted whenever the effect&#39;s color changes.
#define emit
Definition: qobjectdefs.h:76
void update()
Schedules a redraw of the effect.

◆ setOffset [1/3]

void QGraphicsDropShadowEffect::setOffset ( const QPointF ofs)
slot

Definition at line 989 of file qgraphicseffect.cpp.

990 {
992  if (d->filter->offset() == offset)
993  return;
994 
995  d->filter->setOffset(offset);
998 }
void offsetChanged(const QPointF &offset)
This signal is emitted whenever the effect&#39;s shadow offset changes.
double d
Definition: qnumeric_p.h:62
The QGraphicsDropShadowEffect class provides a drop shadow effect.
#define Q_D(Class)
Definition: qglobal.h:2482
void updateBoundingRect()
This function notifies the effect framework when the effect&#39;s bounding rectangle has changed...
#define emit
Definition: qobjectdefs.h:76
QPointF offset() const

◆ setOffset [2/3]

void QGraphicsDropShadowEffect::setOffset ( qreal  dx,
qreal  dy 
)
inlineslot

Definition at line 226 of file qgraphicseffect.h.

227  { setOffset(QPointF(dx, dy)); }
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
void setOffset(const QPointF &ofs)

◆ setOffset [3/3]

void QGraphicsDropShadowEffect::setOffset ( qreal  d)
inlineslot

Definition at line 229 of file qgraphicseffect.h.

230  { setOffset(QPointF(d, d)); }
double d
Definition: qnumeric_p.h:62
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
void setOffset(const QPointF &ofs)

◆ setXOffset

void QGraphicsDropShadowEffect::setXOffset ( qreal  dx)
inlineslot

Definition at line 232 of file qgraphicseffect.h.

233  { setOffset(QPointF(dx, yOffset())); }
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
void setOffset(const QPointF &ofs)

◆ setYOffset

void QGraphicsDropShadowEffect::setYOffset ( qreal  dy)
inlineslot

Definition at line 235 of file qgraphicseffect.h.

236  { setOffset(QPointF(xOffset(), dy)); }
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
void setOffset(const QPointF &ofs)

◆ xOffset()

qreal QGraphicsDropShadowEffect::xOffset ( ) const
inline

Definition at line 214 of file qgraphicseffect.h.

215  { return offset().x(); }
qreal x() const
Returns the x-coordinate of this point.
Definition: qpoint.h:282
QPointF offset() const

◆ yOffset()

qreal QGraphicsDropShadowEffect::yOffset ( ) const
inline

Definition at line 217 of file qgraphicseffect.h.

218  { return offset().y(); }
qreal y() const
Returns the y-coordinate of this point.
Definition: qpoint.h:287
QPointF offset() const

Properties

◆ blurRadius

qreal QGraphicsDropShadowEffect::blurRadius
private

the blur radius in pixels of the drop shadow.

Using a smaller radius results in a sharper shadow, whereas using a bigger radius results in a more blurred shadow.

By default, the blur radius is 1 pixel.

See also
color(), offset().

Definition at line 205 of file qgraphicseffect.h.

◆ color

QColor QGraphicsDropShadowEffect::color
private

the color of the drop shadow.

By default, the drop color is a semi-transparent dark gray (QColor(63, 63, 63, 180)).

See also
offset(), blurRadius()

Definition at line 206 of file qgraphicseffect.h.

◆ offset

QPointF QGraphicsDropShadowEffect::offset
private

the shadow offset in pixels.

By default, the offset is 8 pixels towards the lower right.

The offset is given in device coordinates, which means it is unaffected by scale.

See also
xOffset(), yOffset(), blurRadius(), color()

Definition at line 202 of file qgraphicseffect.h.

◆ xOffset

QGraphicsDropShadowEffect::xOffset
private

the horizontal shadow offset in pixels.

By default, the horizontal shadow offset is 8 pixels.

See also
yOffset(), offset()

Definition at line 203 of file qgraphicseffect.h.

◆ yOffset

QGraphicsDropShadowEffect::yOffset
private

the vertical shadow offset in pixels.

By default, the vertical shadow offset is 8 pixels.

See also
xOffset(), offset()

Definition at line 204 of file qgraphicseffect.h.


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